0、insmod wlan.ko(wifi模块的初始化驱动,上电,加载FW到制定的ddr,等待chip去执行)
lsmod(查看状态)
如果驱动更正常加载成功的话 proc/net/wireless下面会有wlan0节点
cat /proc/net/wireless
ifconfig -a(看看端口是否已经起)
1: iw工具的使用
先需要push到手机中,修改权限后就可以直接命令调用
如:
adb push iwlist /system/bin/
1、iw工具的使用
先需要push到小机中,修改权限后就可以直接命令调用
如:
adb push iwlist /system/bin/
adb shell
chmod 777 /system/bin/iwlist
使用iw工具时必须确保wifi已经打开,wlan0节点已经生成
手工insmod ko,如果驱动更正常加载成功的话 proc/net/wireless下面会有wlan0节点
cat /proc/net/wireless
可以看到wlan0是否有生成
驱动加载成功后,开启wifi
busybox ifconfig wlan0 up -->开启wifi
busybox ifconfig wlan0 down -->关闭wifi
wifi开启后就可以使用iw相关工具了
如 iwlist wlan0 scan 可以搜索ap,以及显示搜索到的ap的详细信息
2、手动打开还可以通过wpa_supplicant来打开
#source /etc/profile(加载环境变量)
#加入需要的工具,wpa _ supplicant和wpa _ cli
#/system/bin/wpa_supplicant是指可执行文件的位置
wpa_supplicant -Dnl80211 -iwlan0 -c/system/etc/wpa_supplicant.cnf(启动wpa_supplicant)
#/system/bin/logwrapper是指输出wpa_supplicant自身的打印信息
wpa_cli -iwlan0 -p/data/misc/wifi/sockets
#wpa _ cli terminate关闭服务
0、确保eth0可以访问网络
1、修改framework/base/core/res/res/values/config.xml
"wlap0"
"eth0"
"ppp0"
"wlan0"
2、加载wifi驱动(我这使用的是atheros)
insmod /system/wifi/ar6000.ko ifname=wlap0
若成功的话,则第3、4、5步自动执行。
3、设置IP地址
/system/bin/ifconfig wlap0 192.168.100.1 netmask 255.255.255.0
4、iptables设置
echo 1 > /proc/sys/net/ipv4/ip_forward
/system/bin/iptables -A FORWARD -i wlap0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
/system/bin/iptables -A FORWARD -i wlap0 -o eth0 -j ACCEPT
/system/bin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
5、dnsmasq设置
/system/bin/dnsmasq --no-daemon --no-resolv --no-poll --dhcp-range=192.168.100.100,192.168.100.200,100h
当然也可以把相关配置写成文件再执行dnsmasq --conf-file=/*path*/dnsmasq.conf
6、启动hostapd
/system/bin/hostapd_wps -dd /data/misc/wifi/hostapd.conf
出现的问题
1、执行上述命令后,客户端去连接的时候获取不到IP地址,重新启动hostapd就OK?
可以采用如下方法修正
/sytem/bin/ndc softap set eth0 wlap0 djstava open
/system/bin/ndc softap start
/system/bin/ndc/softap startap