lspci -vv | grep Network
這是broadcom官網提供都broadcom網卡相關驅動程序:點擊查看。在這個頁面中,官網也為這個驅動寫了壹份Readme文件,這裏面有關於這個驅動程序的詳細介紹。但是本人的電腦上不知為何沒有官網都那個驅動安裝成功,各種搜索資料後和嘗試後,通過這個包(點擊下載,如果鏈接失效,請自行搜索下載)不止壹次的安裝成功了。下面本人就記錄壹下自己都安裝過程。
打開終端,將下載好的無線網卡驅動程序(我下載都版本為:hybrid-portsrc_x86_32-v5_100_82_112.tar.gz)解壓到指定都文件夾,這裏我放在用戶目錄下:
cd ~
mkdir hybrid_wl_driver
cd hybrid_wl_driver
tar xzf hybrid-portsrc_x86_32-v5_100_82_112.tar.gz
編譯
和其他網絡上都過程壹樣,接下來是make
make clean (optional)
make
這個過程中,會出現以下問題:
錯誤壹:
錯誤原因:沒有指定的頭文件
解決辦法:到指定的文件中,註釋掉這壹行(從上圖看是src/wl/sys/wl_linux.c文件第43行,可以用vi編輯,也可以用gedit編輯)。
vi +43 src/wl/sys/wl_linux.c
按下i進入vi的插入模式後,將第43行註釋掉,如圖:
按下Esc進入vi的命令模式,按下:wq保存退出。再次使用make命令,此時會出現第二個問題:
錯誤二:
錯誤原因:錯誤都引用ndo_set_multicast_list,這個變量未定義
解決辦法:到指定的文件中(從上圖看是src/wl/sys/wl_linux.c文件第388行),將ndo_set_multicast_list替換成ndo_set_rx_mode即可。保存後,繼續使用make命令,此時會出現第三個問題:
錯誤三:
解決辦法:到指定文件中(從上圖看是src/wl/sys/wl_linux.c文件)註釋掉第3181~3188行即可。如下圖:
修改前
修改後
之後再使用make命令,此時會成功。
配置
將生成的wl.ko文件拷貝到內核中指定的驅動文件夾中:
sudo cp wl.ko /lib/modules/`uname -r`/kernel/net/wireless/
載入這個模塊:
sudo depmod
sudo modprobe wl
將跟本驅動有沖突的模塊刪除並加入黑名單。如果存在下面的驅動,必須手動刪除他們,否則就不用執行下面的命令:
lsmod | grep "b43\|ssb\|bcma\|wl"
rmmod b43
rmmod ssb
rmmod bcma
rmmod wl
sudo echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf
sudo echo "blacklist bcma" >> /etc/modprobe.d/blacklist.conf
sudo echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf
如果出現以下錯誤:
bash: /etc/modprobe.d/blacklist.conf: 權限不夠
解決辦法:手動打開
sudo gedit /etc/modprobe.d/blacklist.conf
添加以下內容到文件:
blacklist ssb
blacklist bcma
blacklist b43
安裝
sudo modprobe lib80211
sudo insmod wl.ko
此時,無線網卡的指示燈應該開始閃爍,系統也開始搜索附近存在的WiFi了。
為了下次開機可以自動打開無線網卡驅動,可以將這個模塊設為開機自啟動:
sudo echo modeprobe wl >> /etc/rc.local
如果下次開機沒有自動打開無線網卡驅動,再把配置和安裝部分重新做壹遍即可(註意在安裝的時候切換到驅動程序所在文件夾下)。
好了,驅動安裝完成,最後來比較壹下安裝前後無線網卡的情況:
安裝前
安裝後