iw 连接open AP失败的问题分析
来源:互联网 发布:linux 打包tar.gz文件 编辑:程序博客网 时间:2024/06/16 08:23
iw 连接open AP失败的问题分析
iw 连接open AP 问题
adb shell iw dev wlan0 connect -w “ssid” “frequece” “bssid”
返回结果:
wlan0 (phy #0): failed to connect to “ssid” status: 1: Unspecified failure
iw connect 连接流程
首先分析并扩展一下Connect.c中的宏定义
TOPLEVEL(connect, “[-w] [] [] [key 0:abcde d:1:6162636465]”, 0, 0, CIB_NETDEV, iw_connect, “dddd.”); ====>
struct cmd \
__section_connect \
__attribute__((used)) __attribute__((section(“__cmd”))) = { \
.name = (“connect”), \
.args = (“[-w] [] [] [key 0:abcde d:1:6162636465]”), \
.cmd = (0), \
.nl_msg_flags = (0), \
.idby = (CIB_NETDEV), \
.handler = (iw_connect), \
.help = (“dddd”), \
}
HIDDEN(connect, establish, “”, NL80211_CMD_CONNECT, 0, CIB_NETDEV, iw_conn); ====>
static struct cmd \
__cmd_establish_iw_conn_NL80211_CMD_CONNECT_CIB_NETDEV_1\
__attribute__((used)) __attribute__((section(“__cmd”))) = { \
.name = (“establish”), \
.args = (“”), \
.cmd = (NL80211_CMD_CONNECT), \
.nl_msg_flags = (0), \
.hidden = (1), \
.idby = (CIB_NETDEV), \
.handler = (iw_conn), \
.help = (NULL), \
.parent = __section_connect, \
.selector = (NULL), \
}
connect命令在iw中的流程
connect open AP在iw中的关键步骤
msg = nlmsg_alloc();
genlmsg_put(msg, 0, 0, state->nl80211_id, 0, cmd->nl_msg_flags, cmd->cmd, 0);
//establish 的cmd是:NL80211_CMD_CONNECT
NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, devidx);
NLA_PUT(msg, NL80211_ATTR_SSID, strlen(argv[0]), argv[0]);
NLA_PUT_U32(msg, NL80211_ATTR_WIPHY_FREQ, freq);
NLA_PUT(msg, NL80211_ATTR_MAC, 6, bssid);
从代码逻辑看一切正常,没有问题呀!?,为什么连接不上呢?
正常连接logde关键步骤:
在external/wpa_supplicant_8/src/drivers/driver_nl80211.c中查看wpa_driver_nl80211_connect源码,对应log:
1. 设置cmd, ifindex:
wpa_supplicant: nl80211: Connect (ifindex=24)
2. 设置bssid, bssid_hint
wpa_supplicant: * bssid=a0:8d:16:a7:fb:4d
wpa_supplicant: * bssid_hint=a0:8d:16:a7:fb:4d
3. 设置freq, freq_hint
wpa_supplicant: * freq=2412
wpa_supplicant: * freq_hint=2412
4. 设置IEs
wpa_supplicant: * IEs - hexdump(len=8): 7f 06 00 00 0a 82 01 40
5. 设置Auth Type
wpa_supplicant: * Auth Type 0
结合iw中连接步骤,继续分析
大部分都一样,但少了一步Auth Type的设置!
试着加上这一步看看!
竟然成功连接上了:
wlan0 (phy #0): connected to a0:8d:16:a7:fb:4d, 搞定收工!
- iw 连接open AP失败的问题分析
- openwrt iw 扫描AP iw wlan0 scan
- win10连接WPA-2企业AP失败的解决方法
- Open JDK 建立SSL失败的问题
- SQL2005的连接失败问题
- ADOquery 的问题,连接失败
- ap.h文件的分析
- iw工具的安装与使用(只支持WEP和Open认证)
- 在使用Notepad++ WinSCP SFTP遇到的连接失败问题分析
- iw的安装
- iw的安装
- tcp连接失败分析
- ORA-12545:连接失败的问题
- eredis连接twemproxy auth失败的问题
- 关于adb连接失败的问题
- 解决gem连接失败的问题
- E4A - 蓝牙串口连接失败的问题
- Mysql 远程连接失败的问题
- kendoui grid中渲染单元格
- 协方差矩阵介绍及C++/OpenCV/Eigen的三种实现
- 集群技术(六)nginx1.6 -- 利用memcached配置session一致性,session一致性的另外一种方案tengine的会话保持功能
- 吃多了会怎么样 饮食过量的危害
- Handler内存泄漏分析及解决
- iw 连接open AP失败的问题分析
- C#—Dev XtraTabControl动态增加Tab和关闭选项卡方法
- EOJ——Problem #3291——素数个数排序
- 基于Flume的美团日志收集系统(二)改进和优化
- Spark应用——网络服务器日志分析
- LeetCode 459: Repeated Substring Pattern (c++)
- linux总结09-linux netstat命令详解
- Java
- stm32笔记01——keil问题01.代码复制到Word出现乱码