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

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
失败以后,执行删除命令;后再次执行该命令。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值