- 論壇徽章:
- 0
|
安裝 ubuntu 后需要重新編譯下網(wǎng)卡的驅(qū)動就好用了,方法如下,但不知在freebsd如何做相關(guān)的操作!
代碼:
關(guān)於如何編譯 ZD1211/ZD1211B 晶片的 USB 無線網(wǎng)卡 driver,經(jīng)常在各大討論區(qū)及 BBS 看到有人提出相同的問題,因此來寫個(gè)教學(xué)。
前往 ZD1211 專案網(wǎng)站可以知道目前有三種版本的驅(qū)動,其中建議使用 zd1211rw 這個(gè)版本,因?yàn)樗掷m(xù)在更新且已納入 Linux 2.6.18 以後的
kernel 裡。zd1211rw 支援這三種晶片:
ZyDAS ZD1211
ZyDAS ZD1211B
Atheros AR5007UG
不過既然都已經(jīng)納入 kernel 了為什麼還要編譯驅(qū)動?因?yàn)檫是有很多產(chǎn)品的 USB ID 不能被 zd1211rw 所辨識(我的 PCI GW-US54GXS
就是),當(dāng)然就沒辦法驅(qū)動囉!這篇要做的就是從 kernel 裡的 zd1211rw source code 加入對應(yīng)的 USB ID,主機(jī)環(huán)境是 ubuntu
7.10,其他版本應(yīng)該也差不多。
首先要安裝編譯相關(guān)套件 & 下載 linux source
$ sudo apt-get install build-essential kernel-package linux-source
切換至 src 目錄並解開 linux source
$ cd /usr/src
$ sudo tar -xjvf linux-source-2.6.22.tar.bz2
拷貝 kernel 設(shè)定檔(.config) 至 linux source
$ sudo cp linux-headers-2.6.22-14-generic/.config linux-source-2.6.22
編輯 zd_usb.c 加入新 USB ID,可利用 lsusb 指令可以找出網(wǎng)卡的 ID,如:2019:5303
$ cd linux-source-2.6.22
$ sudo vim drivers/net/wireless/zd1211rw/zd_usb.c
在檔案開頭不遠(yuǎn)處可以看到一堆 USB ID 號碼,就是要加進(jìn)這裡面,GW-US54GXS 是 ZD1211B 晶片,所以在 ZD1211B 下方增加一行:
/* ZD1211B */
{ USB_DEVICE(0×2019, 0×5303), .driver_info = DEVICE_ZD1211B },
確認(rèn)後就存檔離開
開始編譯驅(qū)動
$ sudo mkdir .tmp_versions
$ sudo make drivers/net/wireless/zd1211rw/zd1211rw.ko
沒錯(cuò)誤就會產(chǎn)生 zd1211rw.ko,將它覆蓋原本系統(tǒng)中的
$ sudo cp drivers/net/wireless/zd1211rw/zd1211rw.ko /lib/modules/`uname
-r`/kernel/drivers/net/wireless/zd1211rw
$ sudo depmod -a
重開機(jī)應(yīng)該就可以正確驅(qū)動了 |
|