最近开始做的一个实验,这才是第一步工作。
1.
实验目的
为
PC
机子上的
Atheros
无线网卡安装
madwifi
驱动,并配置它连接到附近的
AP
。
2.
实验环境
硬件环境:一台
PC
机,一块
Atheros AR5212
无线网卡
操作系统:
Fedora 9
内核版本:
2.6.25
.11-97.fc9.i686
驱动版本:
madwifi- 0.9.5 -42
PS
:
其实基本上所有的
Atheros
芯片无线网卡都可以使用
Madwifi
驱动,关于使用
Atheros
芯片的无线网卡型号查询可以查阅
[url]http://customerproducts.atheros.com/customerproducts/[/url]
3.
安装前的准备
在安装
madwifi
之前需要安装
sharutils
工具包,可以直接从
Fedora
安装光盘中找到,也可以在线安装,在此使用后者:
#yum install sharutils*
4.
下载并安装
madwifi
如果原来已经安装过
madwifi
的话,需要先把旧版本卸载。例如下载
madwifi
的源代码
madwifi- 0.9.4 .tar.gz
,然后运行:
#tar �Czxvf madwifi- 0.9.4 .tar.gz
#cd madwifi- 0.9.4 /scripts
#./madwifi-unload.bash
#./find-madwifi-modules.sh /lib/modules
如果没有安装过
madwifi
,这一步可以跳过。
由于实验的操作系统是
Fedora 9
,所以选择下载
Fedora 9 rpm
格式的
madwifi
软件包进行安装,下载地址为
[url]http://atrpms.net/dist/f9/madwifi/[/url]
,进入下载地址后有许多文件链接,这时需要弄清楚自己的内核版本号,千万注意一定要针对对应的版本进行下载!
使用命令
#uname �Cr
获得内核版本号,得到
2.6.25
.11-97.fc9.i686
所以针对这个内核下载对应的四个软件包:
madwifi- 0.9.5 -42_r3771.fc9.i386.rpm
madwifi-devel- 0.9.5 -42_r3771.fc9.i386.rpm
madwifi-hal-kmdl- 2.6.25 .11-97.fc9-0.9.5-42_r3771.fc9.i686.rpm
madwifi-kmdl- 2.6.25 .11-97.fc9-0.9.5-42_r3771.fc9.i686.rpm
然后一起安装
#rpm �CUvh madwifi-*.rpm
注意这里一定要将这三个
rpm
一起安装,否则会出现循环依赖,安装失败。如果你是其他发行版请下载对应的软件包,并进行安装。安装后会有多个命令可用,这里只需要其中
3
个:
wlanconfig
,
iwconfig
,
iwlist
。
5.
配置无线网卡
安装后会自动产生一个
wifi0
的网卡,会在
/etc/sysconfig/hwconf
文件中添加对应的驱动信息,会在
/etc/sysconfig/network-scripts/
目录下产生一个
ifcfg-ath0
文件,现在需要设置
ip
地址,子网掩码,
SSID
,网络连接
KEY
,网络认证方式,访问点。
首先,加载驱动模块
#modprobe ath_pci
然后,启动
ath0
#ifconfig ath0 up
在扫描可用的
AP
之前要先插入扫描模块
#modprobe wlan_scan_sta
之后再开始扫描
#iwlist ath0 scan
或者使用
#wlanconfig ath0 list scan
假设扫描得到
5
个
AP
,并且我们要接入
essid
为“
test
”的
AP
#iwconfig ath0 essid “test”
如果需要密码则再加一行
#iwconfig ath0 key 1234-1234-12
最后,使用
DHCP
自动分配一个
IP
地址
#dhclient ath0
到此为止,无线网卡就驱动完成,
ping
一下网关会看到网络已经连通了,大功告成。
6.
出现的问题及解决
1
)内核版本和madwifi
版本号不匹配
由于系统最初安装的是
Fedora 8
,内核版本为
2.6.23
.1-42.fc8
,一直在
[url]http://madwifi.org[/url]
上找不到对应版本的驱动,所以试图用源代码安装,但是安装完毕系统却找不到接口
ath0
,反复多次,最终决定升级内核。
解决:
重新安装了
Fedora 9
,但仍没有对应内核版本的驱动,于是继续升级内核到最新版本
2.6.25
.11-97.fc9
,终于在
[url]http://atrpms.net[/url]
上找到对应的
rpm
软件包,进行无数次的卸载和安装,最终得以见到
ath0
,激动万分!
2
)安装方法的选择问题
由于
Linux
各种版本的不同,
[url]http://madwifi.org[/url]
提供了很多种不同的安装方法,有最原始的源代码安装、通过
Subversion
安装、下载最新的
Snapshots
,以及提供给
Red Hat
和
Fedora
的
.rpms
下载。我最初用了源代码安装,但是发现驱动不成功,又用了
yum
在线安装
madwifi package
,还是不成功。
解决:
由于几种方法的混杂,造成内核的崩溃,最终只得重装。经过详细研究,才发现对于
Fedora
的实验环境,选择
rpm
软件包的安装才最适合。注意千万不可以同时使用几种方法,如果用不匹配内核的源代码安装了之后,务必要卸载干净之后再进行
rpm
循环安装。
3
)madwifi
和ath5k
的冲突
对于
Fedora 8
以上的版本,已经自带了
ath5k
这种驱动,所以再安装
madwifi
就会出现冲突,现象是找不到
ath0.
解决:
在
/etc/modprobe.d/blacklist
中加上一行
blacklist ath5k
也就是把
ath5k
加入黑名单,这样终于解决掉冲突。