在4421上安装 BSD8.2之后,无线网卡一直未能成功使用,今天在BSD 手册和一篇文章的指导下,终于完成,特转载如下:
http://www.freebsd.org/doc/zh_CN/books/handbook/network-wireless.html
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-wireless.html
http://cookiebear.info/archives/496
在FreeBSD 8.0下配置无线网卡
硬件配置:
IBM ThinkPad X40
Atheros 5008 (AR5416 chip)
很幸运从很久以前我就在无意之中选择了一块FreeBSD Handbook当作范例介绍的Atheros无线网卡。
所以内核配置可以完全按照Handbook的提示修改。
不过就算不是Atheros的无线网卡也没有关系,我们可以通过FreeBSD Hardware Notes找到可能匹配的驱动程序。
在内核配置文件中加入:
device wlan # 802.11 support device wlan_wep # 802.11 WEP support device wlan_ccmp # 802.11 CCMP support device wlan_tkip # 802.11 TKIP support device wlan_amrr # AMRR transmit rate control algorithm device ath # Atheros pci/cardbus NIC's device ath_hal # pci/cardbus chip support options AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors device ath_rate_sample # SampleRate tx rate control for ath |
然后重新编译并安装新的内核。在启动之后,输入dmesg可以看到下面的信息:
ath0: <Atheros 5416> mem 0xd0200000-0xd020ffff irq 21 at device 2.0 on pci2 ath0: [ITHREAD] ath0: AR5416 mac 13.10 RF5133 phy 8.1 |
表示无线网卡已经被顺利驱动了。
然后在root权限下输入下面的命令,以检测无线AP能否被顺利找到。
ifconfig wlan0 create wlandev ath0 ifconfig wlan0 up scan SSID/MESH ID BSSID CHAN RATE S:N INT CAPS 001D738FC1CB 00:1d:73:8f:c1:cb 1 54M -79:-96 100 EPS RSN WPA WME HTCAP ATH WPS 001D738FC1CB-1 02:1d:73:8f:c1:cb 1 54M -80:-96 100 EPS WPA WME HTCAP ATH FON_FREE_IN... 00:18:84:ac:d3:29 1 54M -84:-96 100 E HTCAP WME Dusun Bahagia 00:1c:df:89:c7:cf 6 54M -81:-96 100 EP WPA RSN MESHCONF MESHCONF WPS HTCAP WME linkpco_m 00:0f:66:6a:04:ac 6 54M -93:-96 100 E Colt 00:0d:0b:55:e9:d9 11 54M -66:-96 100 EP WPA 00074096D132 00:07:40:c4:ad:3c 11 54M -93:-96 100 E WARPSTAR-B7... 00:0d:02:91:f2:2e 7 54M -90:-96 100 EP ATH TDMA |
第一条命令的作用是通过硬件的ath0设备建立逻辑的wlan0设备。
(在FreeBSD 7.X时代,是可以直接使用硬件设备的。)
第二条命令的作用则是启用wlan0设备,并让它检测范围内的AP。
我这里能找到很多AP,而我只截选了一段。
接下来就是针对特定的AP进行配置了。
在/etc/rc.conf中加入:
wlans_ath0="wlan0" ifconfig_wlan0="mode 11g ssid Colt WPA DHCP" |
第一行是自动建立wlan0设备。
第二行是通过wlan0设备联结到SSID编号为Colt,由WPA方式加密的802.11g无线网络AP上,并通过该AP的DHCP自动获取本机的IP地址。
而要通过WPA的认证,我们还需要做一些配置。由于目前家庭使用的WPA大多都是WPA-Personal级别的加密,所以本篇也围绕它来做介绍。
根据Handbook,我们要在/etc/wpa_supplicant.conf中填写AP的SSID和WPA密码。而/etc/wpa_supplicant.conf在安装FreeBSD之后并不存在,所以可以手工建立这个文件。
touch /etc/wpa_supplicant.conf |
然后在文件中按照各式填写必要的信息:
network={ ssid="Colt" psk="password" } |
至此,无线网络应该已经被启用了,IP地址也已经被分配,连重新启动系统都不需要。赶紧用ifconfig看一下当前的网络状态吧。
ifconfig wlan0 wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 ether 00:23:6c:bf:a1:45 inet 192.168.11.10 netmask 0xffffff00 broadcast 192.168.11.255 media: IEEE 802.11 Wireless Ethernet OFDM/36Mbps mode 11g status: associated ssid Colt channel 11 (2462 Mhz 11g) bssid 00:0d:0b:55:e9:d9 regdomain 100 indoor ecm authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpower 20 bmiss 7 scanvalid 450 bgscan bgscanintvl 300 bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS wme burst roaming MANUAL |
如果没有启动网络,可以输入下面的命令手工启动:
/etc/rc.d/netif start 或者 wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf |
最后,遇到问题多问Handbook。英语版的Handbook状态总是最新的,非常有参考价值。