随着 Wi-Fi 的普及,Linux系统对无线网络设备的支持也日臻完善,但相对于Windows系统来说还稍显不足。尤其是很多采用新式芯片而厂商又没有提供针对Linux系统的驱动程序的情况下,这种状况变得更为突出,在Windows系统下运行正常的无线设备在Linux系统中却无法正常工作。好在自由软件世界的达人们已经给出了另辟蹊径的解决方案,将Windows下的无线驱动应用在Linux系统之上,让Linux也享受无线的乐趣。下面笔者就以物美价廉的水星54M无线usb网卡(mw54u)和Ubuntu10.04为例讲解一下如何将Windows下的无线驱动为我所用,让mw54u无线网卡在Linux系统中工作起来。
准备工作:在安装mw54u无线网卡过程中,需要安装新的软件,请确保有线网络可以正常工作,如果没有有线网络,请根据系统需要下载所需软件,然后复制到本机上进行安装。
一、连接无线网卡:
将mw54u无线网卡连接到主机,无线网卡的指示灯没有任何显示,Ubuntu10.04的网络管理器中也找不到相应的设备,但使用lsusb命令却可以看到以下内容:
webmaster@webmaster-desktop:~/桌面$ lsusb
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 046d:c018 Logitech, Inc. Optical Wheel Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 0cf3:1006 Atheros Communications, Inc. #这里表明已经识别硬件,但无法驱动
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
这表明系统已经检测到硬件,但没有相应的驱动程序,所以mw54u无线网卡无法正常工作。
二、安装无线驱动程序:
为了将Windows下的无线驱动程序顺利安装到Linux系统中,我们需要安装ndiswrapper软件,但ndiswrapper需要运行在命令行模式下,这对于广大的菜鸟用户来说不是一个好消息。幸好我们还有ndisgtk,具有GUI图形界面的ndiswrapper程序,使用它可以方便直观的安装Windows系统下的各种无线驱动程序。
1、安装ndisgtk:
sudo apt-get install ndisgtk (你也可以用过“新立得”来安装它)
2、下载Windows下的无线驱动程序:
根据你的网卡类型,下载适合Win2000/XP/Vista系统的无线网卡驱动程序,对于mw54u我们可以从这里下载最新的驱动程序:
http://www.mercurycom.com.cn/download-detail.asp?pd=17
3、安装无线驱动到Linux系统中:
打开“系统”=>“系统管理”=>“Windows无线驱动程序”,我们就会看到ndisgtk的程序界面,通过它我们可以实现安装新的无线驱动程序,删除已经存在的无线驱动程序以及配置无线网络等功能。安装无线驱动到Linux系统中,一般只需要Windows驱动程序的两个文件:*.inf和*.sys文件。但是mw54u的驱动程序有点奇怪,笔者使用了vista驱动程序中的*.sys文件和xp驱动程序中的*.inf文件才得以正常安装,切记:不同操作系统的配置文件搭配混用记得要改名,否则会提示找不到相应的配置文件。如果经过以上操作没有什么问题的话,我们的驱动程序就会出现在当前已经安装的Windows驱动程序列表中。
三、配置并查看无线网络:
1、重启网络服务:
在配置无线网络之前,必须重新启动网络服务使安装的无线驱动生效:
sudo /etc/init.d/networking restart
2、配置无线网络:
打开网络管理器查看连接,这时我们已经可以在“无线”选项卡中找到正确安装的无线网卡了,无线网卡的指示灯也已经点亮。选中无线网卡名称,然后单击“编辑”按钮开始配置无线网络的安全设置和IP地址,根据你所在无线网络的实际情况,选择相应的安全类型并输入密码,如果有必要,你还可以指定无线网卡的IP地址(大部分无线网络环境都使用DHCP自动分配IP地址)。
3、查看无线网络:
配置完毕以后,使用iwconfig命令查看无线网络是否正常:
webmaster@webmaster-desktop:~/桌面$ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 IEEE 802.11g ESSID:"MERCURY_74F474"
Mode:Managed Frequency:2.437 GHz Access Point: 00:6c:5b:16:34:11
Bit Rate=54 Mb/s
Power Management
ff
Link Quality:37/100 Signal level:-72 dBm Noise level:-96 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
如果看到wlan0,那就说明无线网卡已经成功的接入了无线网络,mw54u已经在Linux系统中正常运行了!打开一个网页,享受一下吧!
通过这种方式,我们可以让大部分没有提供受限驱动程序的无线网络设备在Linu