14.2 无线网络(WiFi)

技巧

如果在更新系统版本后失去无线网络,请使用命令 fwegt 重新获取固件。如果没有网络连接,可手动到 https://mirrors.ustc.edu.cn/freebsd-pkg/FreeBSD%3A14%3Aamd64/kmods_latest_3/All/ 等位置下载所需固件;或者使用 USB 网络共享。安装命令形如 # pkg add /home/ykla/wifi-firmware-iwlwifi-kmod-20241017.1403000_2.pkg

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

检测无线网卡是否受支持

运行 sysctl net.wlan.devices:他会告诉你,你的无线网卡驱动应该使用哪个。应类似如下内容:

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

如果输出中冒号 : 后边没有东西,那大概率就是识别不了。请你更换无线网卡。

创建 wlan0

  • 接下来,创建 wlan0rtwn0 为上边冒号 : 后边的输出,本例中为 rtwn0,请改成你自己的,照抄没用(除非你也使用 COMFAST CF-912AC 1200M 802.11AC)。

# ifconfig wlan0 create wlandev rtwn0
  • 观察 ifconfig 输出(已省略以太网卡和 lo0):

# ifconfig

……此处省略一部分……

wlan0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=200001<RXCSUM,RXCSUM_IPV6>
	ether 20:0d:b0:c4:ab:59
	groups: wlan
	ssid "" channel 1 (2412 MHz 11b)
	regdomain FCC country US authmode OPEN privacy OFF txpower 30 bmiss 7
	scanvalid 60 wme bintval 0
	parent interface: rtwn0
	media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
	status: no carrier
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

应该出现一个 wlan0 才对。

扫描 WiFi

连接到未加密 WiFi

  • 设置要连接的 WiFi(如果没有密码的话):

test_5G 为我测试用的 WiFi 名字(SSID)

  • 如果扫描不出来,需要修改 WiFi 区域或路由器信道:

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

连接到加密网络

  • 创建 /etc/wpa_supplicant.conf

以上:

  • ssid 是 WiFi 名字,这里是 test_5G

  • psk 是 WiFi 密码,这里是 freebsdcn


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

  • 重启系统

  • 查看连接情况,可以看到已经连接成功(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 自身的博通网卡驱动一共有两种:bwn 和 bwi,其中 bwi 是用于较旧型号的,bwn 是用于较新型号的。两者的支持范围有所重叠,而 bwn 对硬件的支持要更好。

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

示例:BCM4301、BCM4303、BCM4306 rev 2

经判断,只能使用 bwi 驱动。

  • 首先,在 /boot/loader.conf 中添加:

  • 然后使用 ports 安装固件(未提供二进制包,下同):

可以先使用 USB 手机或者以太网先共享网络进行安装。也可以先把所需依赖下好放入目录。

  • /etc/rc.conf 添加:

重启即可。

示例:配置 bwn 驱动

  • 安装固件:

  • 配置 /boot/loader.conf,添加:

  • 配置 /etc/rc.conf,添加:


注意

一些在 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 中写入:

然后重启系统。

断开 WiFi

WPA 验证

设置静态 ip

开启无线热点

  • 先确认下你的网卡是否支持 hostap:

可以看到我这张卡是支持的。

  • 先销毁

  • 再创建

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

类似于 Linux 的 plasma-nm/networkmanager:

  • 使用 pkg 安装:

  • 或者使用 Ports 安装:

最后更新于

这有帮助吗?