科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道让你的无线网卡在Linux系统下跑起来 (1)

让你的无线网卡在Linux系统下跑起来 (1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

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

作者:yuajing 来源:赛迪网技术社区 2007年10月19日

关键字: 操作系统 无线 Linux 网卡

  • 评论
  • 分享微博
  • 分享邮件
 

为了体验无线网络的便捷性,笔者购买了一台笔记本电脑。不过由于其内置的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
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章