第二十八章 DragonFlyBSD
第二节 WIFI
英特尔 WIFI 5/6 芯片(AC 8265、AC 9260、AC 9560、AX200、AX201、AX210)驱动见最后一部分。
注意:如果安装 FreeBSD 的时候就不能识别出无线网卡,那么就是不支持你的无线网卡。请忽略下文。

一般网卡驱动

首先运行 # ifconfig,看看能不能找到你的网卡,如果能,那么你可以跳过本节了。
运行 # sysctl net.wlan.devices,他会告诉你的无线网卡驱动,如果冒号输出后边没有东西,那就是识别不了。请更换无线网卡。
编辑 /boot/loader.conf 文件
加入:
1
if_urtwn_load="YES"
2
legal.realtek.license_ack=1
Copied!
注意、 < 这里只是示例,请添加自己所需的驱动(看# sysctl net.wlan.devices的输出)。
接下来,创建 wlan0
1
# ifconfig wlan0 create wlandev at0
Copied!
at0 是你的网卡,具体看自己的# sysctl net.wlan.devices输出,该命令是临时的,若需要永久开机生效,在 rc.conf 中,加入:
1
# wlans_ath0 ="wlan0"
Copied!
扫描 WiFi:
1
# ifconfig wlan0 up scan
2
# ifconfig wlan0 ssid abc
Copied!
连接 WiFi :
1
# dhclient wlan0
Copied!
获取地址
连接加密网络
创建 /etc/wpa_supplicant.conf
1
network={
2
ssid="WIFI 名字(SSID)"
3
psk="WIFI 密码"
4
}
Copied!
rc.conf 里面加入
1
# ifconfig_wlan0="WPA SYNCDHCP"
Copied!
然后重启电脑(因为命令有点问题,只能重启让rc.conf生效)
1
# wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
2
# wpa_cli -i wlan0 scan // 搜索附近wifi网络
3
# wpa_cli -i wlan0 scan_result // 打印搜索wifi网络结果
4
# wpa_cli -i wlan0 add_network // 添加一个网络连接
5
# wpa_cli -i wlan0 remove_network 1 // 删除一个网络连接
6
# wpa_cli -i wlan0 set_network 0 ssid ‘“name”‘
7
# wpa_cli -i wlan0 set_network 0 psk ‘“psk”‘
8
# wpa_cli -i wlan0 enable_network 0
Copied!
保存连接
1
# wpa_cli -i wlan0 save_config
Copied!
断开连接
1
# wpa_cli -i wlan0 disable_network 0
Copied!
连接已有的连接
1
# wpa_cli -i wlan0 list_network 列举所有保存的连接
2
# wpa_cli -i wlan0 select_network 0 连接第1个保存的连接
3
# wpa_cli -i wlan0 enable_network 0 使能第1个保存的连接
Copied!
断开 WiFi
1
# ifconfig wlan0 down
Copied!
wpa 验证,静态 ip
1
# ifconfig_wlan0="WPA inet 192.168.1.100 netmask 255.255.255.0"
2
3
# ifconfig wlan0 inet 192.168.0.100 netmask 255.255.255.0
Copied!
开启无线 ap,先确认下你的网卡是否支持 hostap
1
# ifconfig wlan0 list caps
Copied!
先销毁
1
# ifconfig wlan0 destroy
Copied!
再创建
1
# ifconfig wlan0 create wlandev ath0 wlanmode hostap
2
3
# ifconfig wlan0 inet 192.168.0.1 netmask 255.255.255.0 ssid freebsdap mode 11g channel 1
Copied!
如果连不上或者搜不到调试信道,尝试将 WiFi 区域码选 Japan ,然后选 China

简单版本

以螃蟹卡为例:
1
# ee /boot/loader.conf
Copied!
加入
1
rtwn_usb_load="YES"
2
legal.realtek.license_ack=1
Copied!
/etc/rc.conf 中写入
1
wlans_rtwn0="wlan0"
2
ifconfig_wlan0="WPA DHCP"
Copied!
执行:
1
# /etc/rc.d/netif start
Copied!

英特尔 WIFI 5/6 芯片

以下部分不适用于 FreeBSD 13.1。13.1 已经可以正常加载使用了该驱动了。
以下部分仅适用于 FreeBSD 13.1、14.0。
iwlwifi 驱动适用于AC 8265、AC 9260、AC 9560、AX200、AX201、AX210 以及旧的 iwm 驱动所包含的网卡,见 https://www.intel.cn/content/www/cn/zh/support/articles/000005511/wireless.html。iwm(4) 的原有网卡若想使用该驱动,请参考 https://wiki.freebsd.org/WiFi/Iwlwifi#I_have_an_iwm.284.29_supported_device
该驱动仍不完善,FreeBSD 14 下不会自动加载(可以用命令# sysctl net.wlan.devices查看有无加载,如果没有显示iwlwifi0就没有加载),每次都需要手动加载。
将以下部分写入/etc/rc.conf
1
kld_list="if_iwlwifi"
2
wlans_iwlwifi0="wlan0"
3
wlandebug_wlan0="+state +crypto +node +auth +assoc +dot1xsm +wpa"
4
ifconfig_wlan0="WPA SYNCDHCP"
Copied!
创建 /etc/wpa_supplicant.conf
1
network={
2
ssid="WIFI 名字(SSID)"
3
psk="WIFI 密码"
4
}
Copied!
先加载驱动看一下:
1
# kldload if_iwlwifi
Copied!
注意:以下部分每次开机都要执行一次方能联网。
创建并链接:
1
# ifconfig wlan0 create wlandev iwlwifi0
2
# /etc/rc.d/netif start wlan0
Copied!