同时在网上看到另一种解决方法,对于找不到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驱动还没有的情况下,作为一种应急方式还是一个不错的选择!!! |