Android系统中对于WIFI的设置集成到了“设置”中,其实跟手动设置差不多。这里介绍下如何手动连接WIFI,以方便以后调试WIFI。

第一步要做的就是要加载WIFI模块驱动了。当然如果你的WIFI是编译到内核里面的,就不需要的。我们的WIFI芯片用的是BCM4330,编译为模块。

insmod /system/lib/modules/kernel/drivers/net/wireless/bcm4330/bcm4330.ko firmware_path=/system/vendor/firmware/bcm4330.bin \ nvram_path=/system/vendor/firmware/nvram.txt

这样驱动模块加载后,需要启动wpa_supplicant

root@android:/ # wpa_supplicant -Dwext -iwlan0 -C/data/system/wpa_supplicant -c/data/misc/wifi/wpa_supplicant.conf &

然后ps|grep wpa看看有没有起来,在wifi工作过程中,这个进程要始终都在的。

接着启动客户端wpa_cli进行配置并连接wifi热点

130|root@android:/ # wpa_cli -p/data/system/wpa_supplicant -iwlan0
wpa_cli v0.8.x
Copyright (c) 2004-2011, Jouni Malinen <j@w1.fi> and contributors

This program is free software. You can distribute it and/or modify it
under the terms of the GNU General Public License version 2.

Alternatively, this software may be distributed under the terms of the
BSD license. See README and COPYING for more details.

Interactive mode

>

其中/data/system/wpa_supplicant 是刚刚启动wpa_supplicant的时候创建的一个套接字

接着进行搜索wifi

> scan
OK
<3>CTRL-EVENT-SCAN-RESULTS

查看搜到的有哪些热点

> scan_result
bssid / frequency / signal level / flags / ssid
40:16:9f:67:0f:00       2462    -42     [WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][WPS][ESS]       HHCN-NET
b0:48:7a:49:44:68       2437    -58     [WPA2-PSK-CCMP][WPS][ESS]       HHTech.Arch
e0:05:c5:97:d8:5a       2412    -71     [WPA-PSK-CCMP][WPA2-PSK-CCMP-preauth][ESS]      1103-5
40:16:9f:67:0c:a6       2412    -74     [WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP+CCMP][WPS][ESS]       hardware
b0:48:7a:49:65:54       2437    -58     [WPA-PSK-CCMP][WPA2-PSK-CCMP][WPS][ESS] Dept_driver

接着设置wifi,就连接Dept_driver这个热点吧

> add_net
3
> set_net 3 ssid "Dept_driver"
OK

Dept_driver的加密方式是WPA2-PSK

> set_net 3 psk "password"
OK
> select_net 3
OK
<3>CTRL-EVENT-STATE-CHANGE id=0 state=0 BSSID=00:00:00:00:0[ 2752.332061] dhd_aoe_hostip_clr failed code -23
0:00
<3>CTR[ 2752.337768] dhd_aoe_arp_clr failed code 1
L-EVENT-STATE-CHANGE id=-1 state=3 BSSID=00:00:00:00:00:00
<3>CTRL-EVENT-DISCONNECTED bssid=00:00:00:00:00:00 reason=0
<3>CTRL-EVENT-STATE-CHANGE id=-1 state=0 BSSID=00:00:00:00:00:00
<3>CTRL-EVENT-STATE-CHANGE id=-1 state=3 BSSID=00:00:00:00:00:00
<3>CTRL-EVENT-SCAN-RESULTS 
<3>WPS-AP-AVAILABLE 
<3>Trying to associate with b0:48:7a:49:65:54 (SSID='Dept_driver' freq=2437 MHz)
<3>CTRL-EVENT-STATE-CHANGE id=-1 state=5 BSSID=b0:48:7a:49:65:54
[ 2753.153717] wl_iw_set_essid: join SSID=Dept_driver ch=6
<3>CTRL-EVENT-STATE-CHANGE id=3 state=6 BSSID=b0:48:7a:49:65:54
<3>Associated with b0:48:7a:49:65:54
<3>CTRL-EVENT-STATE-CHANGE id=3 state=7 BSSID=00:00:00:00:00:00
<3>CTRL-EVENT-STATE-CHANGE id=3 state=8 BSSID=00:00:00:00:00:00
<3>WPA: Key negotiation completed with b0:48:7a:49:65:54 [PTK=CCMP GTK=CCMP]
<3>CTRL-EVENT-CONNECTED - Connection to b0:48:7a:49:65:54 completed (reauth) [id=3 id_str=]
<3>CTRL-EVENT-STATE-CHANGE id=3 state=9 BSSID=00:00:00:00:00:00

> enable_net 3
OK
> q

这样,就都设置好了,接着用dhcpd分配一个IP地址

root@android:/ # dhcpcd wlan0                                                  
dhcpcd[3940]: version 5.2.10 starting
dhcpcd[3940]: host does not support a monotonic clock - timing can skew
dhcpcd[3940]: wlan0: rebinding lease of 192.168.1.216
dhcpcd[3940]: wlan0: acknowledged 192.168.1.216 from 192.168.1.1 `�'
dhcpcd[3940]: wlan0: leased 192.168.1.216 for 7200 seconds
dhcpcd[3940]: forked to background, child pid 3971
root@android:/ # busybox ifconfig wlan0                                        
wlan0     Link encap:Ethernet  HWaddr AC:E8:7B:89:D3:C0  
          inet addr:192.168.1.216  Bcast:255.255.255.255  Mask:255.255.255.0
          inet6 addr: fe80::aee8:7bff:fe89:d3c0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6637 errors:0 dropped:25 overruns:0 frame:0
          TX packets:4357 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3825961 (3.6 MiB)  TX bytes:704832 (688.3 KiB)

这样就完成了。可以上网了。

CTRL-A Z for help |115200 8N1 | NOR | Minicom 2.5    | VT102 |      Offline

dhcpcd[1382]: wlan0: ignoring offer of 192.168.1.100 from 192.168.1.1 `�'
dhcpcd[1382]: wlan0: NAK: via 192.168.1.1
dhcpcd[1382]: wlan0: broadcasting for a lease
dhcpcd[1382]: wlan0: offered 10.12.3.223 from 10.12.3.254
dhcpcd[1382]: wlan0: ignoring offer of 192.168.1.100 from 192.168.1.1 `�'
dhcpcd[1382]: timed out
dhcpcd[1382]: allowing 8 seconds for IPv4LL timeout
dhcpcd[1382]: wlan0: NAK: via 192.168.1.1
dhcpcd[1382]: wlan0: broadcasting for a lease
dhcpcd[1382]: wlan0: offered 10.12.3.223 from 10.12.3.254
dhcpcd[1382]: wlan0: NAK: via 192.168.1.1

dhcpcd[1382]: wlan0: broadcasting for a lease
dhcpcd[1382]: wlan0: offered 10.12.3.223 from 10.12.3.254
dhcpcd[1382]: wlan0: NAK: via 192.168.1.1
dhcpcd[1382]: wlan0: broadcasting for a lease
dhcpcd[1382]: wlan0: offered 10.12.3.223 from 10.12.3.254
dhcpcd[1382]: wlan0: NAK: via 192.168.1.1
dhcpcd[1382]: timed out
1|root@android:/ # 
1|root@android:/ # 
1|root@android:/ #

wpa_supplicant, wpa_cli用法相关推荐

  1. Fedora30 nmcli连接wifi命令,不再使用wpa_supplicant/wpa_cli

    ENV: [root@Fedora ~]# uname -r 5.1.19-300.fc30.x86_64 [root@Fedora ~]# cat /etc/redhat-release Fedor ...

  2. wpa_supplicant的用法

    (1)通过adb命令行,可以直接打开supplicant,从而运行wpa_cli,可以解决客户没有显示屏而无法操作WIFI的问题,还可以避免UI的问题带到driver.进一步来说,可以用在很多没有键盘 ...

  3. wpa_supplicant wpa_cli 无线网络配置

    目前可以使用wireless-tools 或wpa_supplicant工具来配置无线网络.请记住重要的一点是,对无线网络的配置是全局性的,而非针对具体的接口. wpa_supplicant是一个较好 ...

  4. Wpa_supplicant.conf用法小结

    Wpa_supplicant是linux系统下一个非常强大的无线网卡管理程序.google搜索到的它似乎不支持WPA2和AES,其实不然,参考它的文档可以发现,WPA2只是RSN的别名,而AES也是C ...

  5. wireless tools笔记

    wireless tools移植 版本 wireless_tools.29.tar.gz 下载地址 http://www.hpl.hp.com/personal/Jean_Tourrilhes/Lin ...

  6. wpa_supplicant 介绍

    wpa_supplicant 介绍 授权 Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi> 本程序是GPL版本2和BSD许可证双授权,两者随 ...

  7. wpa_supplicant软件架构分析

    wpa_supplicant软件架构分析 1. 启动命令 wpa supplicant 在启动时,启动命令可以带有很多参数,目前我们的启动命令如下: wpa_supplicant /system/bi ...

  8. wpa_supplicant介绍【转】

    本文转载自:https://zhuanlan.zhihu.com/p/24246712 一.什么是wpa_spplicant wpa_supplicant本是开源项目源码,被谷歌修改后加入Androi ...

  9. [xhr4412][extension 6] 使用 Ralink USB_DEVICE(0x148f, 0x3070) 无线网卡

    文章目录 前言 一.内核网卡驱动 1. 配置 2. 测试 二.libnl 三.wpa_supplicant 1. build 2. rootfs 3. test hostapd & dhcp ...

最新文章

  1. R使用lm构建单变量线性回归模型
  2. Android学习笔记-Wifi网络操作
  3. 中文企业云操作系统 CecOS
  4. 彻底理解Intel FPGA时序约束---解决方案篇(二)
  5. SpringMVC教程--Validation校验
  6. 微信小程序页面间传递json数据
  7. vim支持nginx语法高亮
  8. linux学习手册,Linux命令学习手册-ps
  9. ZooKeeper管理员指南
  10. 学计算机是为了什么演讲稿,求大学计算机协会职位申请书和演讲稿
  11. windows oracle增量备份脚本,oracle 增量备份脚本
  12. 《linux核心应用命令速查》连载二:lastcomm:显示以前使用过的命令的信息
  13. Fade To Black《消失在黑暗中》BY Metallica [转]
  14. CRC校验算法——C语言实现
  15. 整数规划的matlab计算,Matlab遗传算法解决整数规划问题
  16. 在线购物系统分析类图
  17. 过年发生的,WinM7推出,MeeGo诞生,iPhone香肠
  18. 纯html5的树形菜单,一个简单的js树形菜单
  19. 【非常重要】运行supervisorctl错误提示【FATAL或BACKOFF 】Exited too quickly (process log may have details)问题总结
  20. yocto系列讲解[理论篇]68 -Yocto版本信息查询稳定版本和EOL版本

热门文章

  1. ubc本科计算机雅思要求,加拿大各大学的雅思要求
  2. java判断图片相同_java 识别图片相似度及图片是否相同
  3. js中事件绑定的几种方式
  4. FreeFileSync命令用法
  5. 支持HEVC/H265 RTMP接收的FFMPEG/FFPLAY WINDOWS版本
  6. mysql table plugin,MySql报错Table mysql.plugin doesn’t exist的解决方法
  7. Display Port 1.4 link Training 过程
  8. UITextField实现过滤选中状态拼音
  9. kali Linux命令大全
  10. 点分治+CDQ分治+整体二分全纪录