ubuntu 安裝usb網卡驅動

本文轉載自 http://feifie.blog.51cto.com/6678694/1318691 


操作系統:ubuntu 12.04

網卡: fast 迅捷150m無線usb網卡驅動安裝 ar9271的芯片組

首先:lsusb 查看自己插上的無線網卡是什麼芯片組的,我的就是ar9271的。

下面介紹下具體的安裝流程:

需要固件,htc_9271.fw(以前的是ar9271.fw,現在的新版本是htc_9271.fx)


1.下載最新的compat-wireless:

http://linuxwireless.org/en/users/Download/stable/

2.下載htc.9271.fw

http://wireless.kernel.org/download/htc_fw/

3.將htc_9271.fw文件複製到/lib/firmware/目錄下面,如果有,就可以直接跳過。

4.tar fxvj compat-wireless-3.6

5.進入解壓得到的文件夾,

#./scripts/driver-select ath9k_htc

6.編譯驅動

#make

7.安裝驅動

#make install

8.掛載模塊

modeprobe -l ath9k_htc

9.reboot

10.iwconfig 回車後如果出現wlan0,那麼恭喜你基本上是能用了。

iwconfig wlan0 power on 打開無線網卡電源

iwconfig wlan0 up 啓動無線網卡

如果一切順利的話,到第九步就可以了,如果不順利的話,各種問題。下面說說我遇到的問題

第六步 #make的時候直接報錯

/lib/firmware/compat-drivers-3.8-1/include/linux/compat-3.4.h:43:21: error: redefinition of ‘kmalloc_array’

/usr/src/linux-headers-3.2.0-4-common/include/linux/slab.h:243:21: note: previous definition of ‘kmalloc_array’ was here

/lib/firmware/compat-drivers-3.8-1/include/linux/compat-3.4.h:104:20: error: redefinition of ‘eth_hw_addr_random’

/usr/src/linux-headers-3.2.0-4-common/include/linux/etherdevice.h:165:20: note: previous definition of ‘eth_hw_addr_random’ was here

make[5]: *** [/lib/firmware/compat-drivers-3.8-1/compat/main.o] 錯誤 1

make[4]: *** [/lib/firmware/compat-drivers-3.8-1/compat] 錯誤 2

make[3]: *** [_module_/lib/firmware/compat-drivers-3.8-1] 錯誤 2

make[2]: *** [sub-make] 錯誤 2

make[1]: *** [all] 錯誤 2

make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-4-686-pae'

make: *** [modules] 錯誤 2

這個錯誤是這樣的,網上也沒有什麼合適的解答,只好自己設法弄。

/lib/firmware/compat-drivers-3.8-1/include/linux/compat-3.4.h:43:21: error: redefinition of ‘kmalloc_array’

/usr/src/linux-headers-3.2.0-4-common/include/linux/slab.h:243:21: note: previous definition of ‘kmalloc_array’ was here

這兩行的資料說明這倆文件裏面的kmalloc_array 重複定義了,好吧,註釋掉一個就可以了(即打開文件把裏面的函數註釋掉),雖然編譯的時候有警告,但是還是通過了,一切ok,別的重複定義的也是這樣,直接註釋掉就可以了。最好註釋掉網卡驅動本身的,別註釋掉linux內核的。目前只能這樣了,如果哪位有更好的方法,歡迎分享。

下面是發現別人的記錄,覺得有用,就抄襲了一下,原作老兄如果不願意,請留言(*^__^*) 嘻嘻……

值得一提的問題:

如果重啓後看不到 wlan0 ,用 dmesg | grep -e ath -e wlan 看下是不是有錯誤。

usb 1-1: ath9k_htc: Firmware – ar9271.fw not found(我的opensuse顯示的是htc_9271.fw not found,那就在下面的網址中找htc_9271.fw即可)

如果是這個not found錯誤,那說明你沒有把 ar9271.fw 拷貝到 /lib/firmware 下面。

ar9271.fw(或htc_9271.fw) 的來源,可以直接到 下載,不過只能通過raw 下載,否則下載的文件大小都是0字節的。用 raw 連接下載需要更改文件名。

還有一種安全一點辦法就是上面用到的 git 命令,把所有的 fw 都下下來,這樣就不用當心下載錯什麼問題,就是用的時間稍長些。



參考資料:

http://my.oschina.net/u/147624/blog/56052

http://www.rover12421.com/2010/10/06/tl-wn722n-driver-installed-on-the-bt4-r1.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章