Linux开发板连接WPA加密的AP路由器

欢迎访问我的个人博客:https://midoq.github.io/

前言

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

image-20210104140919495

在CLI界面中,可以输入各种命令修改网卡配置。

注意,在CLI中回退字符时,需要按Ctrl + Backspace,直接按Backspace会被当做一般的字符输入。

2. 扫描AP

使用scan命令扫描网络,扫描完毕后使用scan_results查看网络:

> scan

......

>> scan_results

... ...

image-20210104141252417

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

image-20210104142841287

最后输入quit退出CLI,回到终端。

> quit

此时可以查看网卡状态:

ifconfig wlan0
iw wlan0 info

image-20210104143255326

查看配置文件,已经发生变化:

cat /etc/wpa_supplicant.conf
image-20210127142631483

7. 网卡连通测试

电脑ping开发板:

image-20210104143620004

开发板ping电脑:

image-20210104143707464

加入开机自启动

经过以上配置,只要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。

参考资料:

wpa_supplicant使用方法(简体中文,与英文不同步)

wpa_supplicant使用方法(英文原版)

wpa_supplicant 配置与应用

猜你喜欢

转载自blog.csdn.net/Dr_Myst/article/details/113247942
今日推荐