网关支持WiFi 2.4G无线功能,内置了WiFi模组,可以连接到其他WiFi热点。
准备工作
lsusb可以看到USB总线是否已经识别到设备。
root@gw101d512e4:~# lsusb
Bus 002 Device 005: ID a69c:8d81
Bus 002 Device 007: ID 2c7c:6005 Quectel Wireless Solutions Co., Ltd.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
这里看到a69c:8d81是WiFi模块的USB设备。
检查WiFi驱动是否已经加载成功,是否有wlan0设备。
root@gw101d512e4:~# lsmod | grep aic8800
aic8800_fdrv 524288 0
cfg80211 303104 1 aic8800_fdrv
aic_load_fw 77824 1 aic8800_fdrv
root@gw101d512e4:~# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 84:FC:14:65:4B:80
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
以上两点可以确认USB WiFi模块已经被系统识别,并且驱动也正常工作。
连接网络
WiFi功能可以连接WiFi AP信号。连接前需要先配置好WiFi的接入信息,WiFi热点名称和密码。使用wpa_passphrase可以方便的生成需要的配置文件,这里举例我们需要连接的WiFi名称为i2SOM,密码为helloworld。
root@i2x-6ub-gw:~# wpa_passphrase "i2SOM" > wifi.conf
helloworld
然后使用wpa_supplicant命令可以连接WiFi网络
root@i2x-6ub-gw:~# wpa_supplicant -B -c wifi.conf -i wlan0
Successfully initialized wpa_supplicant
不要多次执行wpa_supplicant命令,可以用ps命令来查看是不是已经有wpa_supplicant命令已经运行了
root@i2x-6ub-gw:~# ps | grep wpa_supplicant
如果有,可以使用kill命令来结束对应的进程
使用udhcpc可以从连接的网络网关设备,获取到IP地址。
root@i2x-6ub-gw:~# udhcpc -i wlan0
udhcpc: started, v1.29.2
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending select for 192.168.2.122
udhcpc: lease of 192.168.2.122 obtained, lease time 86400
/etc/udhcpc.d/50default: Adding DNS 192.168.2.1
现在就可以使用ping命令来测试与WiFi网络内其他设备的连通性了。
如果需要访问互联网,可以设置DNS地址。
root@i2x-6ub-gw:~# echo "nameserver 114.114.114.114" > /etc/resolv.conf
root@i2x-6ub-gw:~# echo "nameserver 8.8.8.8" >> /etc/resolv.conf
root@i2x-6ub-gw:~# ping baidu.com
PING baidu.com (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=1 ttl=52 time=21.2 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=2 ttl=52 time=21.1 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=3 ttl=52 time=21.2 ms
使用systemd启动wpa_supplicant服务
systemctl enable wpa_supplicant@wlan0
/etc/systemd/system/multi-user.target.wants/wpa_supplicant@wlan0.service
systemctl start wpa_supplicant@wlan0