推荐直接使用固件中的 /forlinx/shell/wifi.sh 脚本进行 wifi 连接配置, 如果出现无法连接问题。 这里提供一种手动排查问题的方法, 仅供大家学习和参考。 调试一般步骤: 1,先确保wlan0节点正常挂载。可搜索到其他AP热点信号 2, 使用wpa_supplicant工具连接AP, 先确保无线数据连接建立成功。 3, 在无线连接建立成功的前提下, 配置相应IP。以及网关, DNS, 防火墙等。 此方法在IMX6X-S3 [Qt5.6+Linux4.1.15] 测试通过。其他平台可参考, 若缺少相应工具可自行移植。 使用到工具
• ping.
• ip, ip is used
for enabling/disabling devices, and finding out general network inte**ce
information.
• iw, iw is the
basic tool for WiFi network-related tasks, such as finding the WiFi device
name, and scanning access points.
• wpa_supplicant,
wpa_supplicant is the wireless tool for connecting to a WPA/WPA2 network.
使用方法
1. 确定当前的wifi设备
iw dev
1-1:(可选项)在S3开发板, 板载的wifi芯片是rtl8723bu. 需要导入驱动模块
insmod /lib/modules/wlan.ko
再次运行 iw dev, 会发现有wlan0设备.
2. 查看并启动wifi设备, 在<>中显示UP. 表示设备是启动状态.
ip link show wlan0
ip link set wlan0 up
3. 检查 wlan0 连接状态
iw wlan0 link
显示Not connected. 表示没有连接任何AP.
4. 搜索AP节点
iw wlan0 scan
会详细列出可以搜索到的AP节点
5. 连接搜到的AP节点
5-1.SSID和密码配置
wpa_passphrase zsolwifi
>> /etc/wpa_supplicant.conf
回车后需要输入wifi的密码, 配置后可通过 cat /etc/wpa_supplicant.conf 查看具体的信息.
5-2.启动wpa连接程序, 后台启动模式。 wpa_supplicant后台程序
-B 后台启动
-D 使用的wifi驱动
-i wifi的网卡接口
wpa_supplicant -B -D nl80211
-i wlan0 -c /etc/wpa_supplicant.conf
查看连接状态
iw wlan0 link
可以看到设备是否已经连着到AP.
5-3, priority属性,wifi连接优先顺序。 在wpa_supplicant.conf文件中, priority属性表示连接点的优先级, 数字越大越第一个连接.
6. ip配置
有两种, 一种是静态配置, 一种是动态配置. 动态配置通过动态获取工具获取ip即可, S3开发板使用的udhcpc DHCP工具. 静态配置需要手工配置一下即可. 若需要固定IP. 可直接修改配置文件。
已经配置好的网络开机自动连接
开机自动连接wifi, 把一下内容写到一个脚本中. 并在/etc/rc.local文件中添加脚本, 开机自动启动. 在mx6q-s3开发板适用, 其他可以稍作修改.
#!/bin/sh
# run wlan0 start up when the start
# insmod wlan0 #insmod /lib/modules/wlan.ko > /dev/null
sleep 2
# run wpa_supplicant
wpa_supplicant -B -D nl80211 -i wlan0 -c
/etc/wpa_supplicant.conf > /dev/null
# config ip
#udhcpc wlan0
|