CentOS上Broadcom無線網卡驅動安裝

今天裝了CentOS 6.3,結果發現無線網卡不能識別。。官網上說,CentOS不支持BCM4311, BCM4312, BCM4313, BCM4321, BCM4322, BCM43224, BCM43225, BCM43227 和 BCM43228芯片的無線網卡。解決方法以下。 php

1. 查看無線網卡芯片 html

首先要確認是不是Broadcom BCM43XX系列的芯片: linux

1 [user@host~]$ /sbin/lspci | grep Broadcom
2 0b:00.0Network controller: Broadcom Corporation BCM4312802.11a/b/g (rev01)

2. 在 http://www.broadcom.com/support/802.11/linux_sta.php 下載最新的驅動 centos

3. 解壓下載好的驅動到/usr/local/src/hybrid-wl目錄,並修改相應的權限: 網絡

1 [root@host~]# mkdir -p /usr/local/src/hybrid-wl
2 [root@hosthybrid-wl]# cd /usr/local/src/hybrid-wl
3 [root@hosthybrid-wl]# tar xvfz /path/to/the/tarball/hybrid-portsrc-x86_64-v5.10.91.9.3.tar.gz (下載文件的名稱)
4 [root@hosthybrid-wl]# chown -R someuser.somegroup /usr/local/src/hybrid-wl

4. 編譯Broadcom無線網卡模塊: less

1 make API=WEXT

5. 複製新生成的wl.ko文件到系統目錄: 學習

1 cp -rf wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/

6. 將模塊加載至核心 ui

首先構建依賴: google

1 [root@host~]# depmod `uname -r`

而後加載驅動: spa

1 [root@hosthybrid-wl]# modprobe wl

7. 在啓動時將驅動模塊加載至核心:

1 [root@hosthybrid-wl]# cp -vi /usr/local/src/hybrid-wl/wl.ko /lib/modules/`uname -r`/extra/
2 [root@host~]# depmod $(uname -r)

 

 

參考文章:

http://wiki.centos.org/HowTos/Laptops/Wireless/Broadcom?action=show

http://blog.sina.com.cn/s/blog_6daad9bd0100mrl9.html



最近在學習linux中,一開始本身是用Ubuntu入手,Ubuntu用起來至關的方便,環境的搭建只用個sudo apt-get intsall 

就OK了。可是公司裝的是centos,而且做爲學習來講遇到的問題越多越好,因此決定仍是裝個centos。當我裝好centos6.2後問題就來了,咱們這裏用的是無線,不能聯網啊。

     首要解決的問題就是上網了,做爲linux菜鳥的我就開始了各類百度、google。總結以下:
     
一、下載驅動程序。

地址: http://www.broadcom.com/support/802.11/linux_sta.php

根據所裝的系統選擇就好。

二、建立安裝目錄以及解壓。

1)建立文件目錄:mkdir -m775 -p /server/hybrid/  

2)下載的文件放在/home/wangx/下載,轉移文件:

3)mv -f /home/wangx/下載/**.tar.gz /server/hybrid/

4)解壓文件:tar zxvf **.tar.gz 

三、安裝:make

 可是到了這一步就出現問題了,錯誤以下:

make: *** /lib/modules/2.6.32-220.el6.i686/build: 沒有那個文件或目錄。 中止。
make: *** [all] 錯誤 2

這就是linux的內核文件,因而我就查看文件是否存在:

cd /lib/modules/2.6.32-220.el6.i686 

ls -al 

結果以下:lrwxrwxrwx. 1 root root    44 3月 4 00:32 build -> ../../../usr/src/kernels/2.6.32-220.el6.i686
build 是一個連接文件,而且指向的地址不存在。

 我發現/usr/src/kernels/目錄下面是沒有內容的,對於centos來講,內核源碼是放在 /usr/src/kernels 目錄中;若是經過在線升級內核,也是放在這個目錄中;若是您的系統中的 /usr/src/kernels/ 中沒有內容,說明沒有安裝內核的源碼包 kernel-devel 軟件包;

經過在線安裝的內核源碼包 ,好比經過 apt+synaptic 或者yum 安裝的,內核源碼會被放到/usr/src/kernel 下的目錄中,您要進入相對應的目錄進行編譯; 在這裏我是經過yum安裝的。
yum -y install kernel 
yum -y install kernel-devel

那麼我進入到/server/hybrid/ ,make;仍是提示/lib/modules/2.6.32-220.el6.i686/build: 沒有那個文件或目錄。 中止。

說明build文件還有問題:
[root@localhost modules]# cd /lib/modules/2.6.32-220.el6.i686/
[root@localhost 2.6.32-220.el6.i686]# ls -al
drwxr-xr-x. 7 root root  4096 3月 5 06:53 .
dr-xr-xr-x. 4 root root  4096 3月 5 07:04 ..
lrwxrwxrwx. 1 root root    44 3月 4 00:32 build -> ../../../usr/src/kernels/2.6.32-220.el6.i686

[root@localhost 2.6.32-220.el6.i686]# cd /usr/src/kernels/
[root@localhost kernels]# ls
2.6.32-220.4.2.el6.i686

大概經過上面的幾個命令就能看出問題了,build指向的文件名稱不對,那就從新指向build的連接
cd /lib/modules/2.6.32-220.el6.i686/ 
ln -fs ../../../usr/src/kernels/2.6.32-220.4.2.el6.i686/ build

我輸入cd /server/hybrid/ ; make 。可是仍是提示make[1]: gcc:命令未找到。
原來是忘記安裝gcc命令了yum install gcc , 安裝結束後繼續make ,我終於看到了勝利的但願
[root@localhost hybrid]# make
[root@localhost hybrid]# make install
install -D -m 755 wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/wl.ko

四、配置


1: 移除全部其它的BROADCOM 無線設備驅動。

除了咱們已經編譯好的驅動外,其它的Broadcom 802.11芯片驅動象b43, bcma和ssb。 這個驅動和咱們新的驅動是衝突的。因此咱們要先把它們移除。

# lsmod  | grep "b43\|ssb\|bcma\|wl"



若是如下任何一種驅動存在,移除它:

# rmmod b43

# rmmod ssb

# rmmod bcma

# rmmod wl

所這些配置加入黑名單,不讓它們被使用:

# echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf

# echo "blacklist bcma" >> /etc/modprobe.d/blacklist.conf

# echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf

二、根據你的系統執行

# modprobe lib80211 

而後:

# insmod wl.ko

如今你的網絡管理程序應該能夠找到設備。你可使用無線網絡了。



注:其它總結一下,咱們的過程就是把編譯出來的wl.ko 放入/lib/modules/2.6.32-220.2.1.el6.i686/kernel/net/wireless目錄。而後執行配置。

[root@localhost wireless]# pwd
/lib/modules/2.6.32-220.2.1.el6.i686/kernel/net/wireless
[root@localhost wireless]# ls
cfg80211.ko            lib80211_crypt_tkip.ko lib80211.ko
lib80211_crypt_ccmp.ko lib80211_crypt_wep.ko  wl.ko
注意wl.ko的權限。

[root@localhost wireless]# chmod 755 wl.ko

[root@localhost wireless]# ls -al 總用量 3544 drwxr-xr-x. 2 root root   4096 1月 21 23:23 . drwxr-xr-x. 27 root root   4096 1月 21 22:02 .. -rwxr--r--. 1 root root 157204 12月 23 03:51 cfg80211.ko -rwxr--r--. 1 root root   8788 12月 23 03:51 lib80211_crypt_ccmp.ko -rwxr--r--. 1 root root  13120 12月 23 03:51 lib80211_crypt_tkip.ko -rwxr--r--. 1 root root   7340 12月 23 03:51 lib80211_crypt_wep.ko -rwxr--r--. 1 root root  10588 12月 23 03:51 lib80211.ko -rwxr-xr-x. 1 root root 3408349 1月 21 23:23 wl.ko

相關文章
相關標籤/搜索