1,已经能打开并连上WIFI上网,但是需要获取RSSI来更新状态栏的WIFI图标信号强度,
WIFI图标已经出现,但是始终没更新,查原因是没有发送RSSI改变的广播,
WIFISTATETRACKER.JAVA——》getrssi()------>ANDROID_NET_WIFI_WIFI.CPP中android_net_wifi_getRssiHelper发送
doCommand("DRIVER RSSI", reply, sizeof(reply))获取RSSI但是返回一直-1;到了wpa_supplicant中的WPA_CTRL.C中的wpa_ctrl_request函数这里if (send(ctrl->s, _cmd, _cmd_len, 0) < 0) {
os_free(cmd_buf);
return -1;
}
os_free(cmd_buf);
错了有遇到过的吗?2,在上层的WIFIINIF中的getrssi确可以独到RSSI,为什么上面不行呢。

解决方案 »

  1.   

    说实话,我也不确定这个wpa_supplicant是否正常
    wpa_supplicant就是2.2下面的那个。准备发个其它命令测试下,是否一样。如果应用层直接调用WIFI INFO的getrssi()能得到变化的RSSI的,WIFIinfo好像是实现了Parcelable接口直接从数据流容器中得到RSSI,它的这些值是谁传过来的呢?SupplicantState.JAVA也实现了Parcelable,但是并没有RSSI等参数。恩,,
    再查查
      

  2.   

    欧啦~
    我发其它的命令可以的
    追踪了下是wpa_supplicant 中接口函数有点问题~
      

  3.   

    从上面一层层往下拨。
    我的是WPA_SUPPLICAT问题~内核驱动都上报了。