您的位置:首页 > 移动开发 > Android开发

Android系统wifi输入错误的用户名没有提示问题

2015-04-10 16:07 302 查看
logcat -s WifiMonitor wpa_supplicant WifiSettings WifiHW WifiConfigStore WifiStateMachine addOrUpdateNetworkNative


一、问题现象

第一次输入错误密码连接可以给出提示;后来不再提示。

二、问题原因

wps进程错误导致流程不能走下去:

E/WifiConfigStore( 2056): key="CTS_TEST_FIVE"WPA_PSK netId=-1 uid=1000/0
D/WifiHW ( 2056): TK--------->>>>command is IFNAME=wlan0 SET_NETWORK 1 ssid 4354535f544553545f46495645,reply is x���,reply_len is 4095
D/WifiHW ( 2056): TK-------->>>wifi_send_command,ctrl_conn is �
I/wpa_supplicant( 8966): [CTRL_IFACE]wlan0: SET_NETWORK 1 ssid 4354535f544553545f46495645
D/WifiHW ( 2056): TK-------->>>wifi_send_command,fail,reply is FAIL
E/WifiConfigStore( 2056): failed to set SSID: "CTS_TEST_FIVE"
三、修改

frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiConfigStore.java

private NetworkUpdateResult addOrUpdateNetworkNative(WifiConfiguration config, int uid) {
  if (config.SSID != null && !mWifiNative.setNetworkVariable(
    netId, WifiConfiguration.ssidVarName, encodeSSID(config.SSID))) {
    loge("failed to set SSID: "+config.SSID + "retry");
    //add by tank
    mWifiNative.removeNetwork(netId);
    netId = mWifiNative.addNetwork();
    if (netId < 0) {
      loge("TK--->>>>Failed to add a network!");
      return new NetworkUpdateResult(INVALID_NETWORK_ID);
    }
    else
    {
      if (config.SSID != null && !mWifiNative.setNetworkVariable(
        netId, WifiConfiguration.ssidVarName, encodeSSID(config.SSID))) {
        loge("TK----->>>failed to set SSID: "+config.SSID);
        break setVariables;
      }
    }
    //end tank
    //break setVariables;
  }
}
也就是在执行命令:
[CTRL_IFACE]wlan0: SET_NETWORK 1 ssid 4354535f544553545f46495645
失败以后,执行删除命令;后再次执行该命令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐