WiFi 网络测试
2025-05-20
QuecPi Alpha 单板电脑支持 QCA1023 SDIO Wifi。本文介绍如何使用 wpa_supplicant 连接Wi-Fi热点。
wpa_supplicant
是一个用户空间的程序,主要用于在 Linux 系统中管理 Wi-Fi 连接。以下教程将演示如何通过 wpa_supplicant
连接到两个不同类型的 Wi-Fi 热点:开放的 Wi-Fi 热点和 WPA2 加密的 Wi-Fi 热点。
网络配置
连接开放热点
wpa_supplicant 的配置文件通常是 /etc/wpa_supplicant.conf,你需要根据你的 Wi-Fi 网络类型来配置它。设置完成并且保存。
ctrl_interface=/var/run/wpa_supplicant
update_config=1
network={
ssid="Your_SSID"
key_mgmt=NONE
}
然后执行 wpa_supplicant 命令去连接热点。
wpa_supplicant -D nl80211 -c /etc/wpa_supplicant.conf -i wlan0 &
连接成功后, 使用 wpa_cli 命令可以查询连接状态, 以下显示则表示连接成功。
root@qcm6490-idp:~# wpa_cli status
Selected interface 'wlan0'
bssid=f8:5e:3c:01:f8:18
freq=2462
ssid=Your_SSID
id=0
mode=station
wifi_generation=4
pairwise_cipher=NONE
group_cipher=NONE
key_mgmt=NONE
wpa_state=COMPLETED
ip_address=192.168.31.137
p2p_device_address=ce:a2:4c:65:b1:7e
address=00:03:7f:50:00:01
uuid=c6a00688-ca5e-53f5-981e-6f507c5c2820
使用 udhcpc 命令,通过 DHCP 获取 IP。
udhcpc -i wlan0
显示以下内容则成功连接:
root@qcm6490-idp:~# udhcpc -i wlan0
udhcpc: started, v1.35.0
udhcpc: broadcasting discover
udhcpc: broadcasting select for 192.168.31.137, server 192.168.31.1
udhcpc: lease of 192.168.31.137 obtained from 192.168.31.1, lease time 43200
/etc/udhcpc.d/50default: Adding DNS 192.168.31.1
连接加密热点
wpa_supplicant 的配置文件通常是 /etc/wpa_supplicant.conf,你需要根据你的 Wi-Fi 网络类型来配置它。设置完成并且保存。
ctrl_interface=/var/run/wpa_supplicant
update_config=1
network={
ssid="Your_SSID"
psk="Your_Password"
key_mgmt=WPA-PSK
}
然后执行wpa_supplicant命令去连接热点。
wpa_supplicant -D nl80211 -c /etc/wpa_supplicant.conf -i wlan0 &
连接成功后,使用 wpa_cli 命令可以查询连接状态,以下显示则表示连接成功:
root@qcm6490-idp:~# wpa_cli status
Selected interface 'wlan0'
bssid=c6:df:30:c2:09:14
freq=5745
ssid=你的SSID
id=0
mode=station
wifi_generation=5
pairwise_cipher=CCMP
group_cipher=CCMP
key_mgmt=WPA2-PSK
wpa_state=COMPLETED
ip_address=192.168.253.211
p2p_device_address=00:03:7f:50:00:01
address=00:03:7f:50:00:01
uuid=639ce5ef-b620-596c-a9e2-6af204e0ee6f
ieee80211ac=1
使用udhcpc 命令,通过 DHCP 获取IP。
udhcpc -i wlan0
显示以下内容则成功连接:
root@qcm6490-idp:~# udhcpc -i wlan0
udhcpc: started, v1.35.0
udhcpc: broadcasting discover
udhcpc: broadcasting select for 192.168.253.211, server 192.168.253.178
udhcpc: lease of 192.168.253.211 obtained from 192.168.253.178, lease time 3599
/etc/udhcpc.d/50default: Adding DNS 192.168.253.178
使用 ifconfig 命令查看网络接口地址:
root@qcm6490-idp:~# ifconfig
eth0 Link encap:Ethernet HWaddr 32:C0:A2:09:FE:40
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)
Interrupt:167 Base address:0x1000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:75 errors:0 dropped:0 overruns:0 frame:0
TX packets:75 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6301 (6.1 KiB) TX bytes:6301 (6.1 KiB)
p2p0 Link encap:Ethernet HWaddr 02:03:7F:D6:00:01
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:3000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wlan0 Link encap:Ethernet HWaddr 00:03:7F:50:00:01
inet addr:192.168.253.211 Bcast:192.168.253.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3421 errors:0 dropped:0 overruns:0 frame:0
TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3000
RX bytes:151273 (147.7 KiB) TX bytes:7300 (7.1 KiB)
可以发现 wlan0 口已经获取 IP。
测试网络
执行 ping 命令测试网络连接:
- 执行
ping 192.168.1.1
命令,如果 ping 通则表示局域网网络连接正常【这里的目的 ip 需要修改为实际网络的网关地址】。 - 执行
ping 114.114.114.114
命令,如果 ping 通则表示外网网络连接正常。 - 执行
ping baidu.com
命令,如果 ping 通则表示外网网络连接正常且 DNS 解析功能正常。