下载驱动
-
github:8188eu的最新驱动,注意下载5.2.2.4分支
-
关于这一驱动,不要下载master分支,master分支代码较早,会导致以下两点问题:
1.STA模式下连接wifi信号较差时会卡死
2.无法启动AP模式 -
所以请务必下载5.2.2.4分支中的内容
修改内核
- 热点模式需要启动内核中Host AP的支持,以及nl80211命令的支持,所以需要使能以下两个选项,同时,我使能了stag driver的选项(未测试是否必须,但建议使能)
1.host ap
2.nl80211
3.stag driver
编译驱动
-
驱动编译前,需要修改./autoconf.h中内容,不然会导致wifi连接信号差时的卡死问题,注释掉
-
//#define CONFIG_LAYER2_ROAMING
-
然后进行驱动编译即可
编译hostapd
- 我这里编译的版本时2.9.0,编译成功后,将hostapd烧写进开发板中,然后配置hostapd.conf文件,内容如下:
interface=wlan0
ctrl_interface=/var/run/hostapd
ssid=ZKGD_MACHINE
channel=6
#driver=rtl871xdrv
driver=nl80211
#hw_mode=a
- 这里务必使用nl80211作为驱动,信道选择1-12都可,8188eu可能不支持5Ghz,我一直无法检索到5G热点。
- 然后通过命令启动热点
hostapd $FILE_DIR/cfg/hostapd.conf -i wlan0 -B
配置IP和DHCP
- 配置热点的自身IP直接使用ifconfig命令,比如
ifconfig wlan0 192.168.170.1
- 我这里使用的时busybox自带的udhcpd来实现dhcp的IP分配,具体需要修改udhcpd.conf,如下所示
start 192.168.175.2 //分配起始地址
end 192.168.175.254 //分配结束地址
interface wlan0
max_leases 234 //不知道
opt router 192.168.175.1 //默认网关
opt mask XXXXX //子网掩码
opt dns XXXX // dns服务器
- 随后启动udhcpd服务
udhcpd $FILE_DIR/cfg/udhcpd.conf &