Linux开发板连接WPA加密的AP路由器
Linux目前有两种方法配置网络:
- wireless-tools
- wpa_supplicant
iw支持的驱动较多,但只支持WEP加密;wpa_supplicant有部分驱动支持不完善,但支持WEP、WPA、WPA2加密。
由于WEP在现在市面的路由器中已经几乎被淘汰,因此使用wpa_supplicant进行连接。wpa_supplicant初次配置较为复杂,但配置一次后,下次遇到该AP时就可以自动连接。
初次配置
1. 启动网卡和程序
编辑配置文件/etc/wpa_supplicant.conf
,写入如下内容(如没有该文件则新建):
ctrl_interface=/var/run/wpa_supplicant
update_config=1
update_config=1
表示允许更改配置。
启动无线网卡:
ifconfig wlan0 192.168.15.11 up
启动wpa_supplicant:
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf &
其中,-i
指定网卡,-c
指定配置文件。
进入wpa_cli界面:
wpa_cli
在CLI界面中,可以输入各种命令修改网卡配置。
注意,在CLI中回退字符时,需要按
Ctrl + Backspace
,直接按Backspace
会被当做一般的字符输入。
2. 扫描AP
使用scan
命令扫描网络,扫描完毕后使用scan_results
查看网络:
> scan
......
>> scan_results
... ...
3. 增加网络
使用add_network
增加网络,会增加一个网络编号。然后使用list_network
查看网络信息:
> add_network
0
> list_network
network id / ssid / bssid / flags
0 any [DISABLED]
4. 设定SSID和密码
> set_network 0 ssid "HONOR315"
OK
> set_network 0 psk "12345678"
OK
5. 使能网络连接
使用enable_network
命令使能网络连接,出现CTRL-EVENT-CONNECTED
表示已经连接完毕。
> enable_network 0
... ...
<3>CTRL-EVENT-CONNECTED - Connection to 94:37:f7:a5:1f:80 completed [id=0 id_str=]
6. 保存配置
使用status
命令查看网络状态。输入save
保存配置。
> status
... ...
> save
OK
最后输入quit
退出CLI,回到终端。
> quit
此时可以查看网卡状态:
ifconfig wlan0
iw wlan0 info
查看配置文件,已经发生变化:
cat /etc/wpa_supplicant.conf

7. 网卡连通测试
电脑ping开发板:
开发板ping电脑:
加入开机自启动
经过以上配置,只要wlan0
网卡启动,且AP在信号范围内,就会自动进行连接。
如果有多个AP,可以在wpa_supplicant.conf
中添加优先级:
ctrl_interface=/var/run/wpa_supplicant
update_config=1
network={
ssid="CNV315"
psk="12345678"
priority=2
}
不过,这样仍然需要手动启动网卡和wpa_supplicant,需要输入2条命令。因此,将命令加入开机加载的脚本,以便开机自启动。
编辑/etc/rc.local
,在文件末尾添加以下内容:
# start wlan0 with static ip
ifconfig wlan0 192.168.15.11 up
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf &
注意如果最后一行有exit 0
,要将命令添加在exit 0
之前。
之后重启开发板,将自动启动网卡并连接AP。
参考资料:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)