linux下无线网卡安装的关键在于能否正确的驱动,这里介绍两种方案,即通过ndiswrapper或者linux-wlan-ng。
前者在linux平台上虚拟windows的api,然后用windows下的驱动程序来驱动网卡。而后者直接实现驱动程序。

1. ndiswrapper
参考http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation

1.1 准备工作
– 安装kernel的源码,在Redhat下是kernel-source.rpm包。

– 到http://sourceforge.net/projects/ndiswrapper下载最新的ndiswrapper包,解压。

– 准备好网卡在win下的驱动程序。驱动程序最好是最新的,指定给XP用的。这里我用到的是
linksys的一款USB-Wlan卡。其驱动程序为WUSB54AG.inf和WUSB54AG.sys。

1.2 安装
– 首先编译安装ndiswrapper,直接使用

make install

即可。

– 再来是添加驱动程序,切换到存放驱动程序的目录,执行

ndiswrapper -i WUSB54AG.inf

通过

ndiswrapper -l

查看有那些驱动已经被安装。

1.3 加载
ndiswrapper是被编译成内核的一个模块,所以你需要加载它才能起作用。

ndiswrapper -m

只需执行一次。

modprobe ndiswrapper

如果没有错误提示,则可以通过iwconfig看到wlan0设备。但此时还不能确定网卡是否被正确驱动。
必须通过

iwlist wlan0 scan

试一试,看能否搜索到附近存在的Access Point。如果能找到才说明网卡已经成功驱动,可以使用了。

接下来的配置工作同普通网卡类似,不再复述。

2. linux-wlan-ng
参考ftp://ftp.linux-wlan.org/pub/linux-wlan-ng/README

2.1 准备
到ftp.linux-wlan.org/pub/linux-wlan-ng下载最新的包,解压。

2.2 编译安装
很简单,直接make all, make install。

2.3 加载
加载方式依你使用的网卡类型有所不同,具体可以参考附带的README文档。
这里因为用的是USB网卡,所以按照要求执行

modprobe prism2_usb prism2_doreset=1
wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable

同样可以通过iwlist wlan0 scan测试是否成功安装。