14.2 无线网络(WiFi)

附录:更新系统版本后无法使用无线网络

如果在更新系统版本后无法使用无线网络,请使用命令 fwget 重新获取固件。

如果没有网络连接,可以手动通过 USB 网络共享获得网络连接,再到 https://mirrors.ustc.edu.cn/freebsd-pkg/FreeBSD%3A14%3Aamd64/kmods_latest_3/All/ 等位置下载所需固件。

安装命令示例:

# pkg add /home/ykla/wifi-firmware-iwlwifi-kmod-20241017.1403000_2.pkg

一般无线网卡驱动方式(基于 COMFAST CF-912AC 1200M 802.11AC)

检测无线网卡是否受支持

运行以下命令,该命令会显示系统中可用的无线网络接口设备列表。

输出示例如下:

# sysctl net.wlan.devices
net.wlan.devices: rtwn0

如果输出中冒号 : 后没有内容,则说明无线网卡未被识别。此时可能需要更换无线网卡。

创建 wlan0

  • 创建一个新的无线接口 wlan0,并绑定到物理设备 rtwn0

rtwn0 为上一步输出中的网卡名称,本例中为 rtwn0,请替换为你自己的网卡名称,直接照抄无效。(除非你也使用 COMFAST CF-912AC 1200M 802.11AC)。

  • 观察 ifconfig 输出(已省略以太网卡和 lo0):

应该出现一个 wlan0 接口才对。

扫描 WiFi

启用 wlan0 接口并扫描周围的无线网络:

连接到未加密 WiFi

  • wlan0 接口连接到 SSID 为 test_5G 的无线网络(如果没有密码的话):

test_5G 是示例 WiFi 名称(SSID)

  • 如果扫描不到 WiFi 网络,可能需要修改无线区域设置或路由器信道:

  • 重启网络服务以接入 WiFi:

连接到加密网络

  • 创建 /etc/wpa_supplicant.conf

以上:

  • ssid 指定要连接的无线网络 SSID(WiFi 名称),此处示例为 test_5G

  • psk 指定无线网络的密码,此处示例为 freebsdcn


  • /etc/rc.conf 里面加入或修改相关条目如下:

  • 重启系统以使配置生效:

  • 使用 ifconfig 查看连接情况,可以看到已经连接成功(IP 为 192.168.31.178):

英特尔网卡驱动

iwlwifi 驱动 适用于 AC 8265、AC 9260、AC 9560、AX200、AX201、AX210、AX 211 以及旧的 iwm 驱动所包含的网卡,见 英特尔 ® 无线适配器的 Linux* 支持


  • 将以下部分写入 /etc/rc.conf

  • 创建 /etc/wpa_supplicant.conf

  • 启动 WiFi 看看:

故障排除与未竟事宜请参考:wiki/WiFi/Iwlwifi

博通(broadcom)网卡驱动

FreeBSD 内置的 Broadcom(博通)网卡驱动主要有两种:bwi 和 bwn,其中 bwi 支持较旧型号,bwn 支持较新型号。两者的支持范围部分重叠,但 bwn 对硬件的兼容性更好。

那么,应该使用哪种驱动呢?请参考 FreeBSD Broadcom Wi-Fi Improvements。可能打不开,可以用互联网档案馆的 存档 看一下。

示例:BCM4301、BCM4303、BCM4306 rev 2

经阅读参考文献研判,只能使用 bwi 驱动。

  • 首先,在 /boot/loader.conf 文件中添加下行,设置系统在启动时加载 bwi 驱动(用于 Broadcom 无线设备):

  • 然后使用 ports 安装 Broadcom 无线设备的固件(未提供二进制包,下同):

可以先通过 USB 或以太网共享网络来安装,也可以提前将所需依赖下载到指定目录。

  • /etc/rc.conf 文件中添加下行,将物理无线设备 bwi0 绑定到 wlan0 接口:

重启即可。

示例:配置 bwn 驱动

  • 安装 Broadcom 无线设备的固件:

  • 编辑 /boot/loader.conf 文件添加下行,设置系统在启动时加载 bwn 驱动(用于 Broadcom 无线设备):

  • 配置 /etc/rc.conf 文件添加下行,将物理无线设备 bwn0 绑定到 wlan0 接口:

附录:特殊型号需要编译内核

一些在 FreeBSD Broadcom Wi-Fi Improvements(若无法访问,可参考互联网档案馆的 存档)中列出的型号带有 $ 注释:The optional bwn(4) PHY driver is derived from b43 GPL code, and must be explicitly enabled.,表示需要使用基于 GPL 协议的代码。由于 FreeBSD 基本系统及内核去除了 GNU 组件,因此需要重新编译内核以支持该选项。

然后在 /boot/loader.conf 文件中添加以下配置:

完成后重启系统,使用 ifconfig 检查是否存在 wlan0 接口,然后按照前文教程进行配置。

参考文献

故障排除

如果连不上或者搜不到调试信道

尝试将 WiFi 区域码选 NONE,然后选 China

  • /etc/rc.conf 中写入:

创建 wlan0 接口时设置无线国家码为 CN,使用无特定无线频段限制。

然后重启系统。

断开 WiFi

禁用 wlan0 接口:

WPA 验证

配置 wlan0 接口使用 WPA,并设置静态 IP 地址和子网掩码:

设置静态 IP

为 wlan0 接口配置静态 IPv4 地址和子网掩码:

开启无线热点

  • 先确认下你的网卡是否支持 hostap,列出 wlan0 接口支持的无线功能和能力:

可以看到该网卡支持 hostap 功能。

  • 销毁 wlan0 接口并释放其占用的资源:

  • 再创建

附录:图形化网络配置工具

图形化网络管理工具,类似于 Linux 的 Plasma NetworkManager 或 NetworkManager:

  • 使用 pkg 安装:

  • 或者使用 Ports 安装:

最后更新于

这有帮助吗?