[整]Ubuntu 配置 Broadcom 晶片的無線網絡卡
安裝 tools
apt-get install ndiswrapper-common ndiswrapper-utils-1.9 ndisgtk
1. 執行 lspci 檢視無線網絡卡的型號
02:02.0 Ethernet controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
注:此晶片 BCM4306 為早期型號,通過安裝 Linux 驅動並未啟用網絡卡,再次通過 ndiswrapper 安裝並激活
2. 採用 ndiswrapper 安裝 Windows inf
在ubuntu裡設定broadcom的無線網絡卡是一件十分棘手的事情,有許多受挫的使用者到論壇裡尋求建議。
Broadcom沒有提供對linux的支援(你儘可以向你的硬體商抱怨或者再花錢買個別的無線網絡卡)。
但是事實上它們是可以工作,只要你知道怎麼設定。
首先,你得找到你需要的幫助檔案。Broadcom的無線網絡卡在很多牌子的電腦上有,尤其是戴爾和巨集基的筆記本。
找到配套的驅動程式,(戴爾通常會把它備份在 C:/DRIVERS/NETWORK/ADDON目錄下);
如果你找到了一個cdmw15.inf 或是 bcmw15a.inf 的檔案,那就可以繼續看下去。
如果不依照這些指導你是不會成功的
在你開始前,用ndiswrapper來清除之前的錯誤嘗試所留下來的記錄 命令如下
sudo modprobe -r bcmwl5
sudo rmmod ndiswrapper
sudo apt-get remove ndiswrapper-utils
sudo rm -r /etc/ndiswrapper/
sudo rm -r /etc/modprobe.d/ndiswrapper
以上的有些步驟可能會報告錯誤,不用管它
將bcmw15.inf 和bcmw15.sys兩個檔案拷貝到你的桌面上
根據以下幫助的提示來獲得相關知識
開啟一個終端程序並輸入如下命令,注意你的網路連線應該是啟用了的。
既然我假定你可以接入一個無線網路,你就得真的有可以接入的無線網路哦
命令如下
sudo apt-get install ndiswrapper-utils
sudo ndiswrapper -i ~/Desktop/bcmwl5.inf
sudo ndiswrapper -m
for conffile in /etc/ndiswrapper/bcmwl5/*.conf; do
sudo cat $conffile | sed -e 's/RadioState|1/RadioState|0/' > $conffile
done
重啟你的電腦。
在重啟的時候你的無線網絡卡的燈應該是亮的。如果沒有,則輸入如下命令
sudo modprobe ndiswrapper
安裝完以後可以重新啟動機器試試看:
iwconfig //輸入這個命令,看看有沒有一個wlan0的網絡卡在工作
再輸入
iwlist wlan0 scanning
會有如下的資訊:
wlan0 Scan completed : Cell 01 - Address: 00:06:25:DE:97:E9 ESSID:"linuxzfp"
Protocol:IEEE 802.11g Mode:Managed Frequency:2.437 GHz (Channel 6)
Quality:81/100 Signal level:-44 dBm Noise level:-96 dBm Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s 24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s 12 Mb/s; 48 Mb/s
Extra:bcn_int=100 Extra:atim=0 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : WEP-40
Pairwise Ciphers (1) : WEP-40 Authentication Suites (1) : PSK IE: WPA Version 1
Group Cipher : WEP-40 Pairwise Ciphers (1) : WEP-40 Authentication Suites (1) : PSK
這就說明你的網絡卡已能正常工作啦,恭喜你完成了基本的驅動安裝!
如何設定你的網絡卡:
如果是你的路由器設定的是WEP模式(建議使用WPA模式,更安全,否則會有人用你的路由器”蹭網"的。),那你可以通過選單中的網路設定進行相應的密碼認證設定,我的環境是WPA,所以,我就用 ndisgtk 進行設定的。
ifconfig wlan0 會有如下輸出:
root@linuxzfp:/home/linuxzfp/.mozilla# ifconfig wlan0wlan0 Link encap:Ethernet HWaddr 00:14:BF:7D:1B:D9 inet addr:192.168.8.241 Bcast:192.168.255.255 Mask:255.255.0.0 inet6 addr: fe80::214:bfff:fe7d:1bd9/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:90 errors:0 dropped:0 overruns:0 frame:0 TX packets:125 errors:0 dropped:2 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:9746 (9.5 KB) TX bytes:20593 (20.1 KB)
說明你已經得到dhcp分配的地址啦,如果沒有得到正確的IP地址,你可以試試這個辦法:
dhclient3 -r wlan0 //清空或者叫釋放ip地址
再
dhclient3 -q wlan0 //重新獲得dhcp ip地址
通過 介面 方式啟動:
現在你的無線網絡卡已經啟用了。開啟你的網路設定工具 -> 系統管理 -> 網路
選擇你的無線網絡卡(可能是wlan0)並點選屬性按扭
勾選(此裝置已設定),並輸入你的網路名和連線設定。如果你不知道,可以詢問你的辦公室網路管理員,或將你windows中的設定複製過來
小心輸入你的WEP碼,如果你在使用的話。你應該以十六進位制輸入,如果你不會轉換那麼就在你的碼前面加上s:
點選確認。視窗應該很快就關閉了,如果卡住了,你可能沒有連線好
回到網路設定視窗,選擇你的無線網絡卡為預設的閘道器裝置
再次點選確認,視窗應該就很快關閉了
享受無線的天堂吧,如果一切順利,你可以把桌面上的兩個檔案刪除了
你可能會發覺訊號強度程式有些問題。這是一個已知的bug
如果你有問題,嘗試進入你的 windows——如果你有雙系統的話——檢查你的卡是否被啟用。
有的筆記本可以通過特殊的組合鍵來關閉無線網絡卡,在linux 裡我還沒找到一個可靠的辦法。
3. 直接安裝 Linux 驅動
(1)、通過安裝包
From the GUI:
Package Manager (System>Administration>Synaptic Package Manager). Click the
Reload button in the upper left corner of Synaptic to refresh your index then
search for and reinstall the package named bcmwl-kernel-source.
From the shell:
sudo apt-get update
sudo apt-get --reinstall install bcmwl-kernel-source
(2)、通過原始碼編譯並安裝
在broadcom的網站上下載linux下的驅動。www.broadcom.com/support/802.11/linux_sta.php。下了32-bit的驅動,再下了一個readme。然後基本上按照這個 readme 來安裝驅動。
安裝:
# mkdir hybrid_wl
# cd hybrid_wl
# tar xzf <path>/hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz
我這裡輸入的是tar xzf ../hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz 因為我的壓縮 包在上一級目錄。
# make clean (optional)
# make
下面就是移除原來的驅動
# lsmod | grep "b43/|ssb/|wl"
# rmmod b43
# rmmod ssb
# rmmod wl
# echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf
# echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
安裝:
# modprobe lib80211
# insmod wl.ko
安裝到這裡,iwconfig就可以看到有個eth1--就是無線網絡卡了,但是tx-power 還是off的。為了保險起見,我還加了兩句
#modprobe wl---第一次提示沒有wl這個模組,後來在系統--管理--硬體驅動裡面我把broadcom sta 驅動激活了(原來是沒有的,好像insmod wl.ko後就有了),再次執行這個命令就可以了。
#depmod -s
裝到這就完了,為了讓這模組一開始就可以載入,在/etc/modules裡面加上wl就可以了。
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
lp
wl
就是上面這樣。在一個wiki上搜到說是在/etc/rc.conf裡面加幾句話,但是ubuntu沒有這個檔案。
我原來以為這樣就可以了。裝完後右上角看無線網路一直是無線網路被禁用,百思不得其解。後來在ubuntu論壇上搜了半天,各種原因,看到眼花繚亂,終於在一個回帖中看到,某人說要fn+f2來啟用筆記本的無線網絡卡才行。
ok。最後的步驟,按下fn+f2.還是不行呢,再重啟,進入系統前狂按fn+f2數次,進去後終於ok了。
然後連線無線網路,輸入密碼,ok拉。