arch linux使用wpa_supplicant连接无线网络¶
无线网卡驱动¶
我使用两种arch linux发行版:
Asahi Linux : 内置了 Apple ARM架构芯片M1 Pro MacBook Pro内置的无线网卡驱动,所以可以直接识别出
wlan0
标准版 arch linux : 在 MacBook Pro 2013 later 上,由于Broadcom的授权限制默认不提供Broadcom BCM4360 802.11ac无线网卡驱动,需要独立安装
broadcom-wl-dkms
软件包
安装 broadcom-wl-dkms
¶
在arch linux上编译安装 动态内核模块支持(DKMS) 内核模块都需要先安装操作系统内核对应头文件,否则会报错类似 ERROR: Missing sys kernel headers for module broadcom-wl...
和 安装NVIDIA Linux驱动 的 安装CUDA准备 工作相同,安装正确的内核头文件和开发工具包:
pacman -S linux-headers
安装驱动:
pacman -S broadcom-wl-dkms
wpa_supplicant基础配置¶
创建
wpa_supplicant
的配置文件:
# AP scanning
echo "ap_scan=1" >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
# ISO/IEC alpha2 country code in which the device is operating
echo "country=CN" >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
wpa_passphrase <SSID> <SSID_PASSWD> | sudo tee -a /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
备注
wap_supplicant配置文件命名为 /etc/wpa_supplicant/wpa_supplicant-interface.conf
可以方便后面结合 Systemd Networkd服务 启动对应的无线网卡
对于5G的无线网络,需要配置 country code
对于隐藏AP,需要添加 ap_scan
激活对应无线网卡的服务,并且激活dhcpcd (DHCP客户端):
sudo systemctl enable wpa_supplicant@wlan0.service
sudo systemctl enable dhcpcd
已经配置完成,可以重启主机生效或者直接启动服务:
sudo systemctl start wpa_supplicant@wlan0.service
sudo systemctl start dhcpcd