WIFI AP 和STA同时开启
1. 概述¶
sta模式:wifi作为client,去连接AP/router的工作模式。
ap模式:wifi作为热点,供其他设备连接。
2. 修改板端行为¶
2.1. 开启sta模式¶
-
添加AP热点信息
/ # vi appconfigs/wpa_supplicant.conf ctrl_interface=/tmp/wifi/run/wpa_supplicant update_config=1 network={ ssid="aryl iPhone" psk="123456789a" }
-
wifi 模块初始化
cd /config/wifi export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:
pwd
执行初始化脚本:
ssd20x的平台上执行
ssw01bInit.sh
ssd21x的平台上执行
sigma_wifi_init.sh
-
测试wifi 连接
./wpa_supplicant -Dnl80211 -i wlan0 -c /appconfigs/wpa_supplicant.conf -d & sleep 2 udhcpc -i wlan0 -s /etc/init.d/udhcpc.script &
查询连接状态:
./wpa_cli -i wlan0 -p /tmp/wifi/run/wpa_supplicant status
-
ping 是否连接到网络中。
ping -I wlan0 14.215.177.39
-
DNS支持
在
/etc/resolv.conf
添加nameserver 8.8.8.8
;测试时,
/etc/resolv.conf
文件缺失或不可写入,可以在ssd21x上rootfs_dispcam.mk
中默认添加dns server。ssd20x上, 修改rootfs.mk
。touch $(OUTPUTDIR)/rootfs/etc/resolv.conf echo "nameserver 202.96.128.86" >> $(OUTPUTDIR)/rootfs/etc/resolv.conf echo "nameserver 8.8.8.8" >> $(OUTPUTDIR)/rootfs/etc/resolv.conf;
导入dns支持库路径,取决于libdns的路径
export LD_LIBRARY_PATH=$LD_LIBRARY_ifPATH:/customer/libdns
默认在customer/libdns路径下有对应的lib。
如果文件夹缺失,请在相应的编译器下拷贝" libnss_dns* "," libnss_files* "," libresolv* " 。
ping -I wlan0 /config/wifi # ping -I wlan0 PING (163.177.151.109): 56 data bytes 64 bytes from 163.177.151.109: seq=0 ttl=55 time=8.638 ms 64 bytes from 163.177.151.109: seq=1 ttl=55 time=11.019 ms 64 bytes from 163.177.151.109: seq=2 ttl=55 time=8.133 ms 64 bytes from 163.177.151.109: seq=3 ttl=55 time=8.579 ms
如果以上步骤测试均正常,sta模式验证完毕。
2.2. 开启AP模式¶
ifconfig p2p0 up ifconfig p2p0 192.168.1.100 netmask 255.255.255.0 ./hostapd -B /config/wifi/hostapd.conf ./dnsmasq -i p2p0 --no-daemon -C /config/wifi/dnsmasq.conf &
查看连接设备信息:
./hostapd_cli -i p2p0 -p /var/run/hostapd all_sta &
通过pc 搜索ssid:ssw101bap passwd:12345678
(可以修改hostapd.conf 的ssid和password)
如果以上步骤测试均正常,ap模式验证完毕。