買來一塊108M的PCI無線網卡 型號為D-LINK DWLG520 , 是屬於被Freebsd6.0支持的無線網卡,使用的是Atheros 5212芯片,支持HOSTAP模式(能讓你的網卡作為AP使用的關鍵).
第一步,安裝無線網卡硬件, 系統中已原有一塊8139網卡 .
第二步,開機進入Freebsd 用Root登陸
#dmesg &line; more 沒有發現任何無線設備,這這時想起沒有把驅動編譯到內核中當然不會發現這個設備啦
於是 #kldload if_ath ; (ath為被Freebsd定義的網卡驅動名字)
系統自動把另外兩個ath的.ko模塊也加載到內核中了
再ifconfig 多了一個ath0的設備
ath0: flags=8943
mtu 1500
ether 00:03:2f:12:34:56
於是 運行#ifconfig ath0 inet ssid 108m mode 11g mediaopt hostap up
這樣就起用了網卡的ap模式
這時ifconfig ath0 看看
ath0: flags=8943 mtu 1500
ether 00:03:2f:12:34:56
media: IEEE 802.11 Wireless Ethernet autoselect mode 11g
status: associated
ssid 108m channel 1 bssid 00:03:2f:12:34:56
authmode OPEN privacy OFF txpowmax 36 protmode CTS dtimperiod 1
bintval 100
此時用一台筆記本電腦的無線網卡就能發現一個108M的無線網絡接入點了,但是只能還連接到AP自身而已,如果筆記本電腦需要訪問有線以太網絡,還是把ath0 和另外的一塊8139網卡橋接起來方便
如何橋接?
Freebsd的網橋實現有兩種完全不同的方式
一種是傳統的實現 freebsd 很早的版本就有的.
#kldload bridge
#sysctl net.link.ether.bridge.enable=1
這時提示:
rl0: promiscuous mode enabled
ath0: promiscuous mode enabled
bridge_load="YES"
net.link.ether.bridge.enable=1
第二種網橋是Freebsd6.0 新從netbsd中引入的 if_bridge ;
Freebsd官方說以後的版本中要用if_bridge淘汰上面的bridge方式.
內核中要有
device if_bridge
device wlan
device ath
device ath_hal
device ath_rate_onoe
然後重新編譯,安裝內核 後reboot 系統中就多了一個ath0的設備
# dmesg &line; grep ath
ath_hal: 0.9.14.9 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413)
npx0: