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...

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> | 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客户端):

systemctl enable [email protected]
systemctl enable dhcpcd
  • 已经配置完成,可以重启主机生效或者直接启动服务:

sudo systemctl start [email protected]
sudo systemctl start dhcpcd

wpa_supplicant分配静态IP地址

Arch Linux 系统中, 使用wpa_supplicant连接无线网络 完成认证连接上无线网络之后,将使用 dhcpcd 分配地址,所以可以采用 dhcpcd分配静态IP 配置方法,修订 /etc/dhcpcd.conf 配置添加如下内容:

无线网络使用dhcpcd分配静态IP地址
interface wlan0
static ip_address=192.168.1.177/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

参考