当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 无线网卡在Linux下活起来

Unix/Linux
Ubuntu Linux有多流行?数据告诉你
轻松制作Linux系统启动盘的四种方法
忘记Linux密码后的另类解决方法
Linux中安装Realplayer的方法
Linux桌面环境GNOME和KDE的切换
在Linux操作系统下安装与运行GAMIT软件
学习Linux系统的九条忠告
Linux系统发展空间探索
Linux与Windows Vista系统的比较
Linux刷新主板BIOS的好方法
Linux下学C语言开发要学些什么
Ubuntu 8.04 Alpha 3新功能初体验
Ubuntu Linux下用Firefox来安装软件
客户对Linux电脑的需求的确不高
带你一起认识下linux的各种版本
手把手教你学Ubuntu
双系统卸载linux系统的方法
linux系统下的U盘病毒清除法
Linux系统22端口修改的方法
理解和掌握Linux 体验Linux的方式

Unix/Linux 中的 无线网卡在Linux下活起来


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 31 ::
收藏到网摘: n/a

  为了体验无线网络的便捷性,笔者购买了一台笔记本电脑。不过由于其内置的PCI无线网卡在Linux下一直没有驱动程序,所以形同虚设。

  一个偶然的机会,笔者在网上发现了NdisWrapper软件项目(http://ndiswrapper.sourceforge.net)。该项目并不编写Linux驱动,而是通过一个内核模块来调用Windows下的Ndis驱动程序,从而巧妙地解决了这些无线网卡没有Linux驱动的问题。该项目目前支持的无线网卡有Admtek 8211、Atheros AR5004、Broadcom 4301、Broadcom 4309、Broadcom 94306、InProcomm IPN2120和Intel PRO/Wireless Lan 2100。

  笔者的网卡为Intel PRO/Wireless Lan 2100,安装的Linux发行版本是SuSE 9.0 Professional,内核版本是2.4.21-166,采用0.3版的NdisWrapper(该软件目前的版本是0.4版,需要2.6或2.4.23以上的内核支持)。该软件虽然提供了非常详尽的文档,但因为考虑到安装过程中存在的一些问题,所以在这里给出完整的安装说明。下述命令均以root身份执行。

  1.到http://prdownloads.sourceforge.net/ndiswrapper/ndiswrapper-0.3.tar.gz?download下载ndiswrapper-0.3.tar.gz文件。

  2.解压缩该文件,此时会在当前目录下生成ndiswrapper目录。命令如下:

  # tar zxvf ndiswrapper-0.3.tar.gz

  3.进入ndiswrapper目录,编辑driver/Makefile文件,加入如下语句:

  CFLAGS += $(shell [ -f /lib/modules/$(shell uname -r)/build/include/linux/modversions.h ] && echo -DEXPORT_SYMTAB -DMODVERSIONS -include /lib/modules/$(shell uname -r)/build/include/linux/modversions.h )

  如果不加入上述语句,在执行“depmod -a”命令时,会出现以下错误:

  depmod: *** Unresolved symbols in /lib/modules/2.4.21-166-default/misc/ndiswrapper.o

  4.使用“make”命令编译ndiswrapper。

  5.到http://www.asus.com/pub/ASUS/nb/M2N/v12056logo_xp.zip下载Centrino无线网卡的Windows驱动程序,通过“unzip”命令解压缩。

  6.创建/usr/local/share/ndiswrapper目录,将.sys和.inf文件拷贝到新建目录。命令如下:

  # mkdir /usr/local/share/ndiswrapper
  # cp w70n51.sys w70n51.inf /usr/local/share/ndiswrapper

  7.查找无线网卡的Vendor ID和Device ID,具体做法如下:

  (1)执行“lspci | grep 2100”命令,结果如下,其中02:02.0为无线网卡的PCI ID:
  02:02.0 Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)

  (2)根据PCI ID执行“lspci -n|grep 02:02.0”命令查找无线网卡的Vendor ID和Device ID,结果如下:
  02:02.0 Class 0280: 8086:1043 (rev 04)

  由上可知,无线网卡对应的Vendor ID为8086,Device ID为1043。

  8.使用“insmod driver/ndiswrapper.o”命令调用内核模块。

  9.调用无线网卡的Windows驱动程序,命令如下:

  # utils/loaddriver

  上面代码中, 为无线网卡的Vendor ID,为Device ID,为Windows驱动程序中sys文件的全路径,为inf文件的全路径。执行下面的命令,如果不出现错误,无线网卡的灯就已经亮起:

  #utils/loaddriver 8086 2043 /usr/local/share/ndiswrapper/w70n51.sys /usr/local/share/ndiswrapper/w70n51.inf

  10.设置无线网络,具体步骤如下:

  (1)用“iwconfig”命令来显示无线网卡(eth0、eth1或eth2)的信息。在以下的步骤中,用ethX表示无线网卡的名称。
  (2)设置无线网卡的操作模式为Managed,命令如下:
  # iwconfig ethX mode Managed
  (3)如果采用了WEP加密,需要设置WEP密码,命令如下:
  # iwconfig ethX key password
  对40位和128位加密,password分别为6位和10位的十六进制数字。
  (4)设置SSID,其中ESSID为Access Point的SSID。命令如下:
  # iwconfig ethX essid ESSID

  (5)创建/etc/sysconfig/network/ifcfg-ethX文件,使得机器每次启动时,无线网卡都会自动获得IP地址。该文件内容如下:

  11.通过下面的命令启动无线网卡:

  #ifconfig ethX up

  12.最后将上述的配置自动化,使得