[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

Atheros AR5007EG 無線網絡卡

ArtWork/WikiDesign/alert.png

本頁由 CentOS 5.4 的發行起已被降級,因此,它不宜被採用在現有系統上。

<<TableOfContents: execution failed [Argument "maxdepth" must be an integer value, not "[1]"] (see also the log)>>

ArtWork/WikiDesign/alert.png

這份教學文檔涉及未被 CentOS 小組測試的第三方程式。因此請自行承擔下面帶來的風險。

話雖如此,它帶來損害的機會非常微。

1. 引言

AR5007EG 這張卡日趨普遍,尤其是在低檔次的筆記型電腦。舉個例說,它被採用於某個常見的 Asus EEE PC 型號內。它沒有官方的驅動程式,但 MadWifi 小組及 FreeBSD 的 Sam Leffler 已經建立了一個可以兼容 32 及 64 位元的驅動程式。

本頁內的大倍份指命都須要有 root 權限與及 root 用戶的 $PATH,包括 /sbin 及 /usr/sbin。因此,請以 root 身份登入,或利用 su - 變為 root。這樣能確保你的指命路徑已包含上述兩個目錄。

2. 斷定你是否擁有 AR5007EG 這張卡

假若你的電腦仍然安裝了 Windows,請使用它的裝置管理員來檢查這張卡。如果你已經把 Windows 移除,請採用 lspci。

lspci | less

雖然 lspci 仍然未能正確地辨認 AR5007EG,它或許能提供一些線索。這張卡會被顯示為 AR5006EG。在一台 CentOS-5.2 64 位元系統上,它會被顯示為 AR242x 802.11 abg。現在以 -n 這個旗標執行 lspci 來取得辨認號碼。

lspci -n

168c:001c 這個辨認號碼應該會被列出來。

某些 Acer(宏碁)筆記型電腦在機器的底部有一個標貼顯示內置有 Atheros AR5BXB63。這個標貼其它發行商的機器上或許亦會存在。

3. 移除任何 ndiswraper 或舊有的 MadWifi 安裝

如果你曾經嘗試用 ndiswrapper 或 MadWifi,它們有可能會干擾新的安裝。故此,把任何 ndiswrapper 或舊有的 MadWifi 安裝完全移除會比較好。

3.1. ndiswrapper

首先移除任何已經被安裝的驅動程式。假若你遵從了坊間的教學文檔,你多數是安裝了 net5211 或 net5416 這兩個驅動程式。

ndiswrapper -l

(這個是 list 字的細楷 L,而不是數目的一字。)

譬如它顯示你安裝了 net5211 這個驅動程式,請移除它。

ndiswrapper -e net5211

要是所顯示的驅動程式是 net5416,請把上述指命的 5211 改為 5416。

現在移除 ndiswrapper。如果你是透過 rpm 安裝它的,請採用

yum -y remove ndiswrapper

假若你是從源代碼安裝它的,請進入你解壓 ndiswrapper 時所建立的源代碼目錄並輸入

make uninstall

你應該會看見它搜尋安裝內容,然後輸出信息告訢你要再執行 make uninstall 數次,直至你確定沒有任何剩餘的東西為止。

3.2. MadWifi

這個步驟亦相若。如果是經 yum 安裝的,利用 yum -y remove madwifi 應該會移除任何它所安裝的套件。若然是從源代碼安裝的,請進入解壓時所建立的目錄並輸入 make uninstall。

4. 下載已修正的快照

MadWifi 的 1192 傳票內含有一個適用於此卡的最新快照的連結。請下載它並把它存於某處。這些快照會經常更新,因此請確保你有最新的版本。

5. 確保你擁有編釋源代碼的功具

yum -y install gcc gcc-c++ make kernel-devel

這樣做亦會引進 kernel-headers 及其它必須的東西。

6. 編釋代碼

假設你已經位於下載壓縮檔的目錄,請把它解壓,進入新的目錄及執行 make 和 make install。

tar zxvf madwifi-hal-0.10.5.6-<version>tar.gz
cd madwifi-hal-0.10.5.6-<version>
make
make install

7. 移除 ath5k 模塊及把它放入黑名單

這一步並非必須的,但可預防衝突。

modprobe -r ath5k

這樣便會移除該模塊。

利用你喜歡的編輯器 :) 編輯 /etc/modprobe.d/blacklist。把以下內容加進該檔案

blacklist ath5k

8. 插入 ath_pci 這個模塊

在某些情況下,於未重新開機前做這個動作可能會引起問題。你的畫面也許會顯示一大堆錯誤。若是這樣的話,請勿慌張。你只須重新開機並嘗試再度(按照以下描述)插入該模塊。

要插入該模塊

modprobe ath_pci

如果一切順利的話,你應該會返回指命符。請檢查該模塊是否被正確地載入。

lsmod | grep ath

你應該會看見如下的內容

ath_rate_sample
ath_pci
wlan
ath_hal

(你也許會看見其它擁有 ath 字串的東西,但你可以忽視它們。)

9. 啟動這張卡及掃描網絡

ifconfig ath0 up

這應會把你放回指命符。這一步並不是每次都必須的,但它無傷大雅。假設你沒有遇上問題,你現在可以測試這張卡能否運作

iwlist ath0 scan

你應該會看見你附近的無線網絡的清單。要是這樣,你現在便可以用你慣常的方法連線到你的無線網絡。

有時你必須重新開機才能把該模塊正確地載入。如果你得不到任何結果,請嘗試重新開機。

多數筆記型電腦擁有一個開關鍵或按鈕來啟用及停用無線網絡。要是你收到錯誤信息告訢你該介面不支援掃描,很有可能這個開關的位置不對。

要擁有正常運作的 LED,請使用以下指命。(多謝 Fedora 論壇上的一位發表者提供 LED 及滑行鍵的指命。)

sysctl -w dev.wifi0.ledpin=3
sysctl -w dev.wifi0.softled=1

(有些人覺得閃爍著的 LED 很擾人 —— 至少在某些機種上,這樣做不會長著燈來告訢你無線網絡已被啟用,而會閃爍它來顯示有活動。)

有些機器利用滑行鍵來控制無線網絡。要叫它們運作,請使用以下指命

/usr/bin/setkeycodes e055 159
/usr/bin/setkeycodes e056 158

要永久採用這些指命,請指它們加進 /etc/rc.local。

有些機器以按鈕來代替滑行鍵或開關。假如 LED 燈未被啟用,你很難去分辨無線網絡是否被啟用。當你認為應該有所作為時,卻沒有事情發生,按這個按鈕數次也許會有幫助 —— 在低檔次的機器上,你有時要做數次才會有效。

10. 排除疑難的清單

這不是一份很好的清單,因它只涵蓋了上述提及的事情,但你可能用得著它。

你有沒有完整地移除舊有的 ndiswrapper 及/或 MadWifi 安裝?

要是沒有,舊安裝殘留下來的東西有可能會引起衝突。

你有沒有以 root 登入及採用 root 的 $PATH?

假如你沒有以 root 的身份登入,又或者你執行 su 時沒有採用 - 這個旗標,你便不會有 root 用戶的路徑。這可以引起問題,因為有些程式須要 /sbin 及/或 /usr/sbin。

你有沒有把 ath5k 放進黑名單內?

要不然,它經常會誘發衝突。

假如你的筆記型電腦有一個開關或按鈕來啟用或停用無線網絡,你是否肯定它已被設在「啟用」的位置?

如上所述,這個問題在某些筆記型電腦上可能較難判斷,因為顆 LED 無法亮起來。有時,唯一的方法就是按那開關及不斷利用 iwlist ath0 scan 這個指命來檢查它能否運作。

如果它依然無法運作,請查看 dmesg 內是否有錯誤信息。

dmesg | grep HAL

你也許會看見 HAL error 3, Hardware didn't respond as expected,或 unable to attach hardware: Hardware revision not supported (HAL status 13)。

不過,這個情況隨著新的快照已經日趨罕見。針對這張卡的支援正在不斷改進。

如果你收到這類信息,重試一次也許已經能夠把問題解決。

11. 當內核被升級時

由於這是個第三方程式,針對著某個內核建立模塊,每次內核升級後它必須被手動更新。雖然在內核升級後,在開機時你也許會看見一個信息匯報 dkms 正在把模塊升級,但實質它似乎辦不到。(在正常重新開機時,你也許會看見 dkms 匯報該模塊已安裝了。你可以忽視這個信息。)

如果內核被升級了,重新開機後,該無線網絡卡便無法運作。要修正這個問題,請解除安裝、清理目錄、重新編譯及重新安裝。

cd madwifi<版本編號>
make uninstall
make clean
make
make install
modprobe ath_pci

有時該 modprobe 指命會引致 module mismatch 的錯誤。要是這樣,請你重新開機來解決事情。

這篇文章來自 http://home.roadrunner.com/~computertaijutsu/rhwireless.html#5007

Translation of revision 13


2023-09-11 07:23