Atheros AR5007EG 无线网络卡
|
本页由 CentOS 5.4 的发行起已被降级,因此,它不宜被采用在现有系统上。 |
<<TableOfContents: execution failed [Argument "maxdepth" must be an integer value, not "[1]"] (see also the log)>>
|
这份教学文档涉及未被 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