技术标签: 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失败以后,执行删除命令;后再次执行该命令。
文章浏览阅读126次。深圳Java培训:Javaweb现在流行用什么框架?Java是开源的,框架很多,这些框架都能解决特定的问题,提高开发效率、简化我们的代码复杂度,现在除了很多大家通用的一些主流框架外,很多公司针对自己的业务会自定义一些公司内部的框架,当然作为学习者我们首先要清楚Javaweb都有哪些框架需要学习。回答这个问题首先要看我们的项目规模,对于”体量”较小的单应用项目,和需要处理海量数据、高并发的分布式..._深圳流行开发框架
文章浏览阅读107次。_云卷云舒任逍遥 博客
文章浏览阅读1.6k次。esp32 蓝牙播放mp3_esp32 蓝牙音频
文章浏览阅读797次,点赞24次,收藏27次。Map():创建一个空映射,返回空映射对象;put(key, val):将key‐val关联对加入映射中,如果key已存在,将val替换旧关联值;get(key):给定key,返回关联的数据值,如不存在,则返回None;del:通过del map[key]的语句形式删除key‐val关联;len():返回映射中key‐val关联的数目;in:通过key in map的语句形式,返回key是否存在于关联中,布尔值#我们用一个HashTable类来实现ADT Map,该类包含了两个列表作为成员。
文章浏览阅读440次。学习记录,打卡。卷起来! (-:
文章浏览阅读1.3w次,点赞5次,收藏16次。二维数组有时候被用到,但是很少有人会使用vector来构造一个二维数组。首先,需要明确的是,在计算机的世界中,根本不存在二维数组,只是使用者的一个概念罢了。其实我们所谓的二维数组也必须是一段连续的内存。很多情况下,我们可以把常规的二维数组用一个vector表示,只要索引对应即可。那么,我若一意孤行呢,我就想vector里面放一个vector呢?#include #incl
文章浏览阅读130次。数组函数一、数组操作的基本函数数组的键名和值array_values($arr); 获得数组的值array_keys($arr); 获得数组的键名array_flip($arr); 数组中的值与键名互换(如果有重复前面的会被后面的覆盖)in_array("apple",$arr); 在数组中检索applearray_search("apple",$arr); 在数组中检索apple ,如...
文章浏览阅读341次。1、改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"mysql-uroot-pvmwaremysql>usemysql;mysql>updateusersethost='%'w...
文章浏览阅读334次。python函数修饰符@的作用是为现有函数增加额外的功能,常用于插入日志、性能测试、事务处理等等。创建函数修饰符的规则:(1)修饰符是一个函数(2)修饰符取被修饰函数为参数(3)修饰符返回一个新函数(4)修饰符维护被维护函数的签名例子1:被修饰函数不带参数def log(func):def wrapper():print('log开始 ...')func()print('log结束 ...')re...
文章浏览阅读4.4k次。下载地址:https://download.csdn.net/download/u012443049/10556049_福州十三水源码下载
文章浏览阅读744次,点赞19次,收藏16次。经过4个月的努力,在学习了Django编程和数据库,对其有一定了解的情况下,完成了旅游管理系统的设计与实现。本文主要讨论了前台各模块功能设计,工作原理,程序实现等问题。系统基本实现了旅游信息管理与查询、用户注册、评论等功能。同时,系统对用户进行了分级管理,提高了系统的安全性。通过这次毕业设计,让我感受了软件开发的整个过程。
文章浏览阅读74次。本文整理匯總了Java中com.esri.ges.core.geoevent.GeoEvent.getField方法的典型用法代碼示例。如果您正苦於以下問題:Java GeoEvent.getField方法的具體用法?Java GeoEvent.getField怎麽用?Java GeoEvent.getField使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了..._update eta