Debian squeeze BCM4312網官方卡驅動

Debian squeeze的基本系統和Ubuntu的不太同樣。Ubuntu中已經集成了GCC編譯環境(至少在Ubuntu10.04中是這樣的),而 Debian squeeze中沒有。所以在Debian squeeze中安裝BCM4312網卡驅動,須要先安裝GCC編譯環境。本文主要參考BCM4312官方文檔。
寫在這裏主要爲了方便之後再次安裝BCM4312驅動,同時也但願對Debian新手有點幫助。

附:
BCM4312官方驅動和文檔地址: http://www.broadcom.com/support/802.11/linux_sta.php
一個32位的,一個64位的,還有一個是官方文檔。


1、安裝GCC編譯環境
根據官方文檔在Ubuntu中的提示,稍微修改了下(linux-headers-generic改成linux-headers-`uname -r` ,添加了個gcc)。其實在Ubuntu是不用本身安裝,已經有了這個環境。
代碼:
#apt-get install build-dep linux build-essential  linux-headers-`uname -r` gcc


2、編譯BCM4312驅動
將 下載好的驅動hybrid-portsrc_x86_32-v5_100_82_112.tar.gz(32位)或hybrid- portsrc_x86_64-v5_100_82_112.tar.gz(64位)。如下以64位爲例,假設hybrid- portsrc_x86_64-v5_100_82_112.tar.gz包就在當前目錄下。
一、新建一個臨時目錄bcm4312,把hybrid-portsrc_x86_64-v5_100_82_112.tar.gz解壓到該目錄下。
代碼:
# mkdir bcm4312
# cd bcm4312
#tar xzf ../hybrid-portsrc_x86_64-v5_100_82_112.tar.gz

二、編譯驅動。官方提示make clean爲可選,我卻是以爲真沒有這個必要,若是該目錄之前編譯過的話,make clean卻是不要省的好。
代碼:
# make
# make clean


3、加載BCM4312驅動
一、刪除以前的無線網卡驅動。
查看原系統中的無線網卡驅動,若是有的話,把他們卸載掉,並阻止這些驅動再次加載,個人Debian squeeze只有b43和ssb,沒有bcma。
注意:只是這四個裏面的,不要阻止wl加載,由於該驅動名稱最後也是wl。
引用:
# lsmod | grep "b43\|ssb\|bcma\|wl"
rmmod b43
rmmod ssb
# echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf
# echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf

二、加載新的驅動。
代碼:
# modprobe lib80211
#modprobe cfg80211
# insmod wl.ko

過一會後,應該就能發現了。用ifconfig -a或者iwconfig查看下網絡或無線網絡設備,若是有eth1(eth0或其餘eth開頭的)說明驅動安裝成功。

4、編譯BCM4312到啓動內核中,不用每次啓動都要手動加載BCM4312驅動
一、把wl.ko驅動放到系統模塊目錄中,方便系統啓動時搜索並加載。
代碼:
# cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless

二、備份原有啓動內核,這是爲了防止從新生成啓動內核失敗。
代碼:
# cp /boot/initrd.img-`uname -r` /boot/initrd.img-`uname -r`-old

三、更新啓動內核。
代碼:
# depmod -a # update-initramfs -u
重啓後就可以自動加載
相關文章
相關標籤/搜索