使用 wpa_cli 启动wifi

wpa_cli 是wpa_supplicant的客户端,通过与wpa_supplicant通信实现对802.11相关协议栈的控制。要想使用wpa_cli实现对Wifi功能的相关控制,必须先启动wpa_supplicant进程。如下:

首先进入 adb shell,再执行命令 : wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf -B ,其中参数分别指定驱动类型、网卡、wpa_supplicant的配制文件,-B表示以守护进程启动。在此之前,请确保驱动已正确加载,如未加载请执行下面命令加载驱动程序:/etc/init.d/wlan start sta,ap    (具体命令与平台有关,该命令针对高通平台的WLAN解决方案,其中启动了两个虚拟网卡,一个作为STA,一个作为AP,该平台不支持 STA only 模式)。

wpa_supplicant 启动后,可以开启wpa_cli,如下:


wpa_cli中,可以通过help查看帮助,如下:




用法比较简单,在此只讲解常用的命令。

scan : 扫描附近AP

scan_result :列出最近一次扫描的结果

list_networks : 列出添加的所有AP

add_network :添加一个AP

set_network :设置指定AP的相关参数,如 ssid、密码等,具体可参考文件:wpa_supplicant.conf 

enable_network : 连接指定AP,成功执行该命令后,将会连接到指定的AP,如果未成功连接,请检查AP参数是否有误。

通过wpa_cli连接到指定AP后,此时是不能上网的,因为还未分配正确的IP地址,要分配正确IP地址,最简单的方式是执行如下命令:


如无意外,至此,便可正常上网了。如下:



PS : wpa_clli 和 wpa_supplicant 是针对802.11协议栈中 STA 部份,如果要使设备作为接入点(AP),需要使用 hostapd 和 hostapd_cli,这些实现都在开源项目wpa_supplicant_8中,关于具体实现将在后续分析。第一次写博文,接触WIFI的时间也不长,有不对的地方,欢迎大家一起探讨,谢谢。。。

转载请注明出处:http://blog.csdn.net/redheavenliu/article/details/53634500

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值