最近开始做的一个实验,这才是第一步工作。
 
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 –zxvf 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 –r
获得内核版本号,得到
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 –Uvh madwifi-*.rpm
注意这里一定要将这三个rpm一起安装,否则会出现循环依赖,安装失败。如果你是其他发行版请下载对应的软件包,并进行安装。安装后会有多个命令可用,这里只需要其中3个:wlanconfigiwconfigiwlist
 
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
假设扫描得到5AP,并且我们要接入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 HatFedora.rpms下载。我最初用了源代码安装,但是发现驱动不成功,又用了yum在线安装madwifi package,还是不成功。
解决:由于几种方法的混杂,造成内核的崩溃,最终只得重装。经过详细研究,才发现对于Fedora的实验环境,选择rpm软件包的安装才最适合。注意千万不可以同时使用几种方法,如果用不匹配内核的源代码安装了之后,务必要卸载干净之后再进行rpm循环安装。
 
3madwifiath5k的冲突
对于Fedora 8以上的版本,已经自带了ath5k这种驱动,所以再安装madwifi就会出现冲突,现象是找不到ath0.
解决:/etc/modprobe.d/blacklist中加上一行
blacklist ath5k
也就是把ath5k加入黑名单,这样终于解决掉冲突。