教程ndiswrapper 利用windows驱动程序安装Linux下的无线网卡驱动_天时 ...


同时在网上看到另一种解决方法,对于找不到linux驱动源程序的情况下,可以试试!

TP-Link WN322G+ USB无线网卡在ubuntu8.04下的安装

TP-Link WN322G+ 是802.11g(54MB)的USB无线网卡。

有windows驱动,新版1211rw驱动出来以前在Linux下安装,却比较麻烦。

芯片组比较新,是zd1215,ubuntu 8.04中使用的kernel(2.6.24-16-server)能够识别为zd1211,但是却无法配置使用。

试过很多办法,想在内核中加入合适的本地驱动,都没有成功。

只好改用ndiswrapper,见:, 该工具可以使用windows的无线网卡驱动程序为linux提供网卡支持。

相当于在windows驱动程序的包装器--包装为Linux下可用的驱动。

以下安装过程,其他无线网卡应该也适用。

安装步骤如下:

插入usb网卡,其实现在通过lsusb命令可以看到系统识别了,但是就是不可用,因为芯片的发射部分比驱动新。


BT3已内集成ndiswrapper,以下安装部分可省略

安装ndiswrapper,命令行下输入:
复制内容到剪贴板 代码:apt-get install ndiswrapper-common ndiswrapper-utils-1.9
找到usb网卡的windows驱动程序,tp-link的驱动在光盘中的相应目录,找到ZD1211BU.INF和 ZD11BUXP.SYS两个文件,复制到ubuntu中。

如果是其他网卡,也要找到相应的inf和sys文件。如果驱动程序是exe或者cab格式,需要用zip或者cabextract工具解开并找到上述文 件。

安装驱动程序,执行:
复制内容到剪贴板 代码:ndiswrapper -i ZD1211BU.INF
其中ZD1211BU.INF是驱动放置在ubuntu下的路径,我这里是在当前路径下。

加载驱动程序
复制内容到剪贴板 代码:root@dell:~/54u# ndiswrapper -l
zd1211bu : driver installed
device (0ACE:1215) present (alternate driver: zd1211rw)

设置系统启动时加载,编辑/etc/modules文件,在末尾加入:ndiswrapper

执行depmod,检查当前加载的模块,如果没有报错,才可以执行下面的命令:
复制内容到剪贴板 代码:depmod -a
加载mdiswrapper模块:
复制内容到剪贴板 代码:modprobe ndiswrapper
复制内容到剪贴板 代码:root@dell:~/54u# ndiswrapper -m
adding "alias wlan0 ndiswrapper" to /etc/modprobe.d/ndiswrapper ...

************************************************************************
*
* The update-modules command is deprecated and should not be used!
*
************************************************************************

在ubuntu的模块黑名单上加上网卡的名称,该黑名单的作用就是不用ubuntu加载,而是自行负责加载。

网卡名称在执行“ndiswrapper -l”时的提示中找,这里是“zd1211rw”,在/etc/modprobe.d/blacklist文件末尾加入“blacklist zd1211rw”即可。

重启ubuntu

查看网卡是否识别,执行iwconfig命令,应该有类似下面的输出:
复制内容到剪贴板 代码:wlan0     IEEE 802.11g  ESSID:"TP-LINK"  
Mode:Managed  Frequency:2.437 GHz  Access Point: 00:1D:0F:85:7B:76   
Bit Rate=54 Mb/s   Tx-Power:-2147483648 dBm   Sensitivity=0/3  
RTS thrff   Fragment thrff
Encryption keyff
Power Managementff
Link Quality:4/100  Signal level:-93 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

启动网卡,输入:
复制内容到剪贴板 代码:ifconfig wlan0 up
为网卡配置ip地址,自动启动和安全方面的配置,编辑/etc/network/interfaces,加入:
复制内容到剪贴板 代码:iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant.conf
auto wlan0

我这里是通过DHCP获取,如果静态ip地址,可以在网上参考其他文档。

如果无线不需要安全设置,可以省略wpa-conf /etc/wpa_supplicant.conf这行,不过这样不安全,我当前使用的是WPA-PSK [TKIP],没有使用WEP,安全程度不好。

如果没有配置安全,以下步骤就可以忽略,重启ubuntu,无线网卡应该获得。

配置wpa安全,创建/etc/wpa_supplicant.conf文件,输入:
复制内容到剪贴板 代码:network={
ssid="MarshalsNetwork"
key_mgmt=WPA-PSK
proto=WPA
pairwise=TKIP
psk=密码的16进制字符串
}

psk的获得,需要执行:
复制内容到剪贴板 代码:root@dell:~# wpa_passphrase MarshalsNetwork your_password
network={
ssid="MarshalsNetwork"
#psk="your_password"
psk=e9eb25bd7410ee3e1a96e138591fa064ee3bdc305eac25f8b41f315177932eb7
}

将输出的psk部分,复制到wpa_supplicant.conf文件中psk属性中即可。

重启ubuntu,无线网卡就应该可以工作了。

上述步骤,在我另外一块usb无线网卡:水星(Mercury)MW54U下也测试成功,发现和TP-Link WN322G+使用的xx相同的芯片,驱动程序也一样可以互换。

这种方法的缺点是,相比直接使用linux驱动占用CPU高一些,本来USB网卡比PCI网卡就消耗CPU,通过包装器ndiswrapper做翻译就更 消耗资源。

但对于一些新网卡,linux驱动还没有的情况下,作为一种应急方式还是一个不错的选择!!!


郑重声明:资讯 【教程ndiswrapper 利用windows驱动程序安装Linux下的无线网卡驱动_天时 ...】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——