歡迎您光臨本站 註冊首頁

GNU小本無線上網-BCM4312驅動安裝

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  
GNU/Linuxer使用Google解決軟體安裝問題是家常便飯,可是這次,我被Google害慘了T-T

我部小本的硬體參數:

$ lspci | grep -i network
08:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)
$ lspci -n | grep -i "^08:00.0"
08:00.0 0280: 14e4:4315 (rev 01)
$

無線網卡為broadcom公司的BCM4312,設備ID為14e4:4315

Google能搜到大量這樣的句子:

"Broadcom有提供Windows版本的網卡驅動安裝文件,但是沒有提供Linux版本的。
為了能夠在Linux下使用該無線網卡,可以通過ndiswrapper工具來安裝使用Windows版本
的驅動。"

講述Broadcom未提供該款無線網卡GNU/Linux版的驅動,然而,我半天後竟然發現Broadcom官網已經提供該款驅動的源代碼和安裝說明了!

誤導我的兩篇文章:

1. LINUX下安裝無線網卡驅動(以BCM4312為例)
網址: http://www.linuxhobby.com/2007/10/ndiswrapper-wireless-drives/

講述如何使用ndiswrapper,下載Windows下的驅動,模擬起來,在GNU/Linux下運行。

2. [已解決] 本本內置的 broadcom 4312 b/g 無線網卡,如何驅動?
網址: http://[由於linux_sir關鍵詞被屏蔽,請在這裡填入linux_sir的網址]/bbs/lastpostinthread347170.html

講述重新編譯內核,下載舊的驅動源代碼,使用b43-fwcutter安裝firmware(專有驅動)

總結教訓如下:

1. 以後安裝軟體要先到相關的官網查看軟體最新版本,看是否有提供GNU/Linux版的安裝包。

2. 建議Google將新的文章和網友認為成功的好的例子提前,這次我Google到的內容,新的文章好的例子嚴重滯后,走了很多彎路。我們的搜索引擎還有待成長啊:(

BCM4312 Broadcom官網提供的GNU/Linux下最新最好的驅動安裝方法如下

參考文章:

1. Broadcom官網驅動下載,含安裝方法說明
網址: http://www.broadcom.com/support/802.11/linux_sta.php

2. 安裝Broadcom 4312 無線網卡驅動
網址: http://www.linuxhobby.com/2009/07/broadcom-43xx-drivers/

安裝步驟:

1. 卸載衝突模塊

$ sudo rmmod b43
$ sudo rmmod ssb
$ sudo rmmod wl


2. 屏蔽衝突模塊

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


3. 編譯安裝

$ pwd
~/download/bcm4312
$ ls
README.txt  hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz
$ mkdir hybrid
$ tar xf hybrid-portsrc-x86_32-v5.10.91.9.3.tar.gz -C hybrid
$ cd hybrid/
$ ls
Makefile  lib  src
$ make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory `/usr/src/linux-headers-2.6.26-2-686'
  LD      /home/c-aries/download/bcm4312/hybrid/built-in.o
  CC [M]  /home/c-aries/download/bcm4312/hybrid/src/wl/sys/wl_linux.o
  CC [M]  /home/c-aries/download/bcm4312/hybrid/src/wl/sys/wl_iw.o
  CC [M]  /home/c-aries/download/bcm4312/hybrid/src/shared/linux_osl.o
  LD [M]  /home/c-aries/download/bcm4312/hybrid/wl.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: modpost: missing MODULE_LICENSE() in /home/c-aries/download/bcm4312/hybrid/wl.o
see include/linux/module.h for more information
  CC      /home/c-aries/download/bcm4312/hybrid/wl.mod.o
  LD [M]  /home/c-aries/download/bcm4312/hybrid/wl.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.26-2-686'
$ uname -r
2.6.26-2-686
$ sudo cp -rf wl.ko /lib/modules/2.6.26-2-686/kernel/drivers/net/wireless/
$ sudo depmod
$ sudo modprobe wl
$


4. 檢測是否安裝成功

$ lsmod | grep wl
wl                   1269312  0
ieee80211_crypt         5124  2 ieee80211_crypt_tkip,wl
// bios設置無線可用,打開無線開關
$ sudo iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

eth1      IEEE 802.11bg  ESSID:""  Nickname:""
          Mode:Managed  Frequency:2.412 GHz  Access Point: Not-Associated  
          Bit Rate:54 Mb/s   Tx-Power:32 dBm  
          Retry min limit:7   RTS thr:off   Fragment thr:off
          Power Managementmode:All packets received
          Link Quality=5/5  Signal level=0 dBm  Noise level=0 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

ppp0      no wireless extensions.

$
// 行了,已經可以看到無線網卡的eth1 :)


* 一些無線上網的命令


參考文章: http://www.linux-wiki.cn/index.php/%E6%97%A0%E7%BA%BF%E7%BD%91%E5%8D%A1%E9%85%8D%E7%BD%AE

1. 列出周圍環境中的無線網路

$ sudo iwlist scan


2. 假設要連接到網路"test",假設使用eth1

$ sudo iwconfig eth1 essid "test"
// 如網路已加密,則用
$ sudo iwconfig eth1 essid "test" key "你的密碼"


3. 啟動無線網卡

$ sudo ifconfig eth1 up


4. 使用dhclient獲得IP地址

$ sudo dhclient eth1


這樣,就能帶著GNU小本,到圖書館,麥當勞wifi上網了:)


GNU netbook 驅動


[火星人 ] GNU小本無線上網-BCM4312驅動安裝已經有472次圍觀

http://coctec.com/docs/enterprise/show-post-73125.html