最近开始做的一个实验,这才是第一步工作。
1.实验目的
为PC机子上的Atheros无线网卡安装madwifi驱动,并配置它连接到附近的AP。
2.实验环境
硬件环境:一台PC机,一块Atheros AR5212无线网卡
操作系统:Fedora 9
内核版本:2.6.25.11-97.fc9.i686
驱动版本:madwifi-0.9.5-42
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
由于实验的操作系统是Fedora 9,所以选择下载Fedora 9 rpm格式的madwifi软件包进行安装,下载地址为,进入下载地址后有许多文件链接,这时需要弄清楚自己的内核版本号,千万注意一定要针对对应的版本进行下载!
使用命令
#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个: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,一直在上找不到对应版本的驱动,所以试图用源代码安装,但是安装完毕系统却找不到接口ath0,反复多次,最终决定升级内核。
解决:重新安装了Fedora 9,但仍没有对应内核版本的驱动,于是继续升级内核到最新版本2.6.25.11-97.fc9,终于在上找到对应的rpm软件包,进行无数次的卸载和安装,最终得以见到ath0,激动万分!
2)安装方法的选择问题
由于Linux各种版本的不同,提供了很多种不同的安装方法,有最原始的源代码安装、通过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加入黑名单,这样终于解决掉冲突。
本文出自 “mousehust” 博客,请务必保留此出处http://mousehust.blog.51cto.com/152769/101970