Linux之无线世界(在Linux平台配置无线网卡)

类别:软件工程 点击:0 评论:0 推荐:

一直以来希望把自己的RH9大早成一款黄金版大作,不停的添加各种功能! 现在基本上实现XP和Linux文件互访(还是不敢让它们直接互写,不过FAT可以),能够播放所有格式的媒体文件,能够使用所有主流IM, 整合基本编程平台(开源产品)。经过努力将无线网卡配置成功,并使用正常。

开始前请核对下列基本参数,不同内核或芯片可能需要不同得解决方案。

笔记本:                    DELL INSPIRON 2650
PCMCIA控制器:    02Micro OZ6912 CardBus Controller
无线网卡:              Connectland 802.11b Wireless Adapter
网卡芯片:               Realtek 8180
Linux版本:               Redhat9.0
内核版本:                24.20

根据不同配置请选择不同的支持组件

配置过程中需要的相关软件
PCMCIA配置模块: Pcmcia-cs-3.2.8.tar.gz   http://pcmcia-cs.sourceforge.net/
网卡芯片驱动:   rtl8180_linuxdrv_v15_rh90.zip  ftp://202.65.194.18/cn/wlan/rtl8180l/rtl8180_linuxdrv_v15_rh90.zip  
无线配置工具:    在RH的光盘中有,可以下在新版本的
                                http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html

注意,你的设备可能已经被编译成内核模式,也就是说直接被Linux支持,可以打开Linux的网络图形管理工具,点击新建-〉其他网卡, 这时你能够看到一个网络设备列表,其中包括Linux支持的无线网卡,直接配置即可!

大部分情况下,我们并没有如此幸运!

===============================================================================
首先我们要激活PCMCIA卡, 实际上RH9已经有PCMCIA模块,可是似乎并不支持我的卡,在系统信息中可以找到“cardmgr: service is not match”,这说明卡并没有被识别!但是幸运的是我的卡可以使用新的驱动,是否支持可以参考http://pcmcia-cs.sourceforge.net/ftp/SUPPORTED.CARDS
 
因此,重新编译新的驱动程序以适应我的内核
#make config
#make all
#make install
如果没有错误的话, 现在模块已经就绪 (具体细节请参阅包内所带的PCMCIA-HOWTO)

可能有些情况,卡不能正常工作,请分析/var/log/messages
在安装后我的卡并没有立刻工作,用命令行 “cardctl insert”进行软插入,卡的电源灯点亮!在安装新驱动前请尝试此命令,可能你的卡可以正常工作!

=========================================================================
接下来要安装网卡驱动,并不是所有厂商都提供驱动,因此这部分最后我介绍另一个方法,不过我没有尝试

重新编译驱动是为了适合Linux内核

#make

编译后生成两个文件, 其中rtl8180_24x.o是我们需要的,另一个似乎是内核模式使用的

加载新的模块

#insmod -f rtl8180_24x.o

我们是强制加载的,不要理会警告信息!

现在用命令察看模块列表

#lsmod 

你的模块应该出现在列表中,这并不表明它能够正常工作,这时用命令“dmesg”察看驱动信息,在大量信息后应该有信息表示你的驱动已经加载!

**********************************

这里我要提到另一个工具,nidswrapper。由于WIN系统中驱动遵循同一标准,因此只要又要能够转换,就可以利用WIN的驱动来使Linux设备正常工作。
该软件可以在http://ndiswrapper.sourceforge.net 下载

#ndiswrapper -f  ***.INF   
这里加载了你的Windows驱动程序
#ndiswrapper -l
察看是否正常,由于需要编译,因此并不是版本约高越好,我用0.8版的正好
#modprobe ndiswrapper
加载ndiswrapper模块,我就是这步有问题,因此放弃

=====================================================================
实际上现在并没有启动网卡,你需要做的是配置驱动所带的wlanup文件,事实上我没有使用原来的文件,自己做脚本更好的适应我的无线网络环境

#Load module
/sbin/insmod -f rtl8180_24x.o

#Set SSID
/sbin/iwpriv wlan0 wlan_para ssid2scan=JT
/sbin/iwpriv wlan0 wlan_para networktype=infra
/sbin/iwpriv wlan0 wlan_para encmode=wep,wepmode=wep40
/sbin/iwpriv wlan0 wlan_para wepkey40_1=5555555555
/sbin/iwpriv wlan0 wlan_para wepdkeyid=0
/sbin/iwpriv wlan0 wlan_para authtype=opensystem
/sbin/iwpriv wlan0 wlan_para macaddr=0040f480d692

#Enable wireless lan driver
/sbin/iwpriv wlan0 enable

#Configure wlan0 IP address
/sbin/ifconfig wlan0 192.168.0.180
echo "$(/sbin/ifconfig wlan0)"
route add default gw 192.168.0.1

参数可以在网卡驱动的文档中找到, 这里我们可以看到我配置了一个SSID为JT,利用WEP加密,密码为5555555555的infrastructure网络,开放验证模式,自动配置了网络地址和网关。

利用命令激活脚本
#sh wlanup
现在可以利用命令查看设备运行状况
#cat /proc/rtl8180/status
一切正常, OK!

最后的配置也可以手动进行,利用iwpriv设定参数, iwconfig查看配置情况

现在收工,上网冲浪去了!

Reference:

[1] WPC11 Version 4!  LinuxQuestion.org
http://www.linuxquestions.org/questions/showthread.php?s=&threadid=61832&highlight=WPC11+Version+4
[2] 在 Linux 下访问无线局域网,WangXu,
http://www.tldp.org/linuxfocus/ChineseGB/December2004/article361.shtml#361lfindex0

本文地址:http://com.8s8s.com/it/it33029.htm