1. 程式人生 > >[整]Ubuntu 配置 Broadcom 晶片的無線網絡卡

[整]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拉。