WN322G+ 使用ZD1211b芯片,BT3内核已包含该芯片的驱动,可还是有不少人反映用lsusb能够看到网卡的信息,但Ifconfig -a 却没有该网卡,既然有驱动为什么用不了?

在网上搜寻多时,终于发现一点信息,但无条件测试,欢迎有条件的XD能测试一下给个答复。

一、原因:
       WN322G+无法在BT3下使用,应该是因为BT3中所带的ZD1211b驱动中没有内置WN322G+的USB ID所致,造成无法识别。

二、解决办法:
      重新下载ZD1211b芯片的Linux驱动源码,修改并将WN322G+的ID加入到源码中,然后编译并加载。

三、所需条件:
      完整安装的Linux,内核为2.6.21.5(这是我的BT3光盘的内核版本)。作为ZD1211b驱动的编译环境,应该包含有Linux的内核源码,而且核心版本与BT3的完全一样,我在光盘版BT3下编译时无法找到所需文件;

四、具体步骤(8月27日更正:新的驱动里已经包含WN322G+的ID,所以跳过c、d步骤即可)
      a)从网上下载ZD1211b的Linux驱动源码(http://www.reactivated.net/software/zd1211-vendor/releases/ZD1211LnxDrv_2_22_0_0.tar.gz),并在2.6内核环境下用tar解开;
      b)进入解开的源码目录,修改makefile文件:
        找到下面这句,
         # set to 1 for zd1211b
         ZD1211REV_B=0
        修改为:
        # set to 1 for zd1211b
        ZD1211REV_B=1
      c)再修改src/下面的zdusb.c文件,在相应位置添加WN322G+的ID:
         加入如下行:
         { USB_DEVICE(0x0ACE, 0x1215) }

之前在2.4的kernel上编译了zd1211b的驱动和配套的wpa_supplicant。现在早已改用2.6.15,同样的事情需要再做一次。现在在PC的linux里使用无线设备,compat-wireless驱动包(包含了相当多的无线设备)+wpa_supplicant工具包是一个很好的选择,所以移植这两个包看上去不错。但不幸的是这个方案对kernel的版本是有要求的,>=26.22。在比较古老的2.6.15上要使用这个方案的话,估计得干不少活,不是一日之功。所以还是得针对具体的芯片一个一个来移植驱动和工具,先搞zd1211b,再搞rt73usb。

zd1211b这个芯片在我的smp8634系统里是最先被支持,在2.4 kernel上驱动的移植我记录过,在2.6.15下也并不复杂,而且编译好的驱动使用稳定性也有很大的提高。先去这里下载最新的驱动:http://zd1211.wiki.sourceforge.net/VendorDriver,最新的是ZD1211LnxDrv_2_22_0_0.tar.gz,解包编译。先修改Makefile:
...
HOST=mipsel-linux-
CC=$(HOST)gcc
LD=$(HOST)ld
#KERN_VER=$(shell uname -r | cut -b1-3;)
#KDIR := /lib/modules/$(shell uname -r)/build
KERN_VER=2.6
KDIR := $(UCLINUX_KERNEL)
PWD := $(shell pwd)

SUBDIRS=.
include .config
include $(SUBDIRS)/.config

#ifeq ($(KERN_VER), 2.6)
    KERN_26=y
    KERNEL_SOURCE=$(UCLINUX_KERNEL)
#else
#    KERN_24=y
#    KERNEL_SOURCE=/usr/src/linux-2.4
#endif

SRC_DIR=src
DEFINES=-D__KERNEL__ -DMODULE=1

#KERNRELEASE := $(shell uname -r;)
#MODPATH := /lib/modules/$(KERNRELEASE)
KERNRELEASE := 2.6.15
MODPATH := /bak/sigma172/wifi/ZD1211LnxDrv_2_22_0_0/modules

...

然后make,应该会很顺利的看到zd1211b.ko。

如果系统中已经包含了wireless_tools,那么使用WEP认证的网络就已经没问题了。有时候wireless_tools如果版本有点低的话经常会有警告信息,移除这个只需要去下载个最新的wireless_tools.29.tar.gz自己编译下就好。

# tar xzvf wireless_tools.29.tar.gz
# cd wireless_tools.29
# vi Makefile

修改Makefile:
## Compiler to use (modify this for cross compile).
CC = mipsel-linux-gcc
## Other tools you need to modify for cross compile (static lib only).
AR = mipsel-linux-ar
RANLIB = mipsel-linux-ranlib

然后make即可。

如果要加入WPA的认证支持,那么还需要移植wpa_supplicant。zd1211b并没有包含在官方的wpa_supplicant包里(估计以后也不会了,因为已经有更好的办法了支持这些个了)。仍然需要下载个专用的wpa_supplicant_0.4.7_zydas.tar.gz,除了我以前提到的修改Makefile,更靠谱的办法是创建和修改.config。

# cp defconfig .config
# vi .config

主要是要有这两行:
CC=mipsel-linux-gcc
CONFIG_DRIVER_ZYDAS=y

其他的配置项看情况选择,有的是需要openssl库支持的,不过openssl库编译也很简单。下面是我使用的配置文件,去除注释版的:
CC=mipsel-linux-gcc 
CONFIG_DRIVER_HOSTAP=y 
CONFIG_DRIVER_ZYDAS=y 
CONFIG_DRIVER_WIRED=y 
CONFIG_IEEE8021X_EAPOL=y 
CONFIG_EAP_MD5=y 
CONFIG_EAP_MSCHAPV2=y 
CONFIG_EAP_TLS=y 
CONFIG_EAP_PEAP=y 
CONFIG_EAP_TTLS=y 
CONFIG_EAP_GTC=y 
CONFIG_EAP_OTP=y 
CONFIG_EAP_LEAP=y 
CONFIG_PKCS12=y 
CONFIG_SMARTCARD=y 
CONFIG_CTRL_IFACE=y

不少配置项我也不知道是啥意思,大部分应该是加密方式,应该还可以精简,具体可以看看defconfig里的注释。如果你的openssl已经包含在你的交叉编译器中,那么接下来应该很容易就可以make成功,把wpa_supplicant和wpa_cli拷贝到目标机上就可以开始测试了。为了防止同之后其他芯片的专用wpa_supplicant混淆,可以改名为wpa_supplicant.zydas、wpa_cli.zydas。还可以写个脚本自动来使用wpa_supplicant.zydas来配置网络,分享我简陋的脚本:

#! /bin/sh
if [ -z $1 ];
then
    exit -1
fi
CONFIG_FILE=/mnt/usr/etc/wpa.conf
echo "ctrl_interface=/var/run/wpa_supplicant">$CONFIG_FILE
echo "ctrl_interface_group=0">>$CONFIG_FILE
echo "eapol_version=1">>$CONFIG_FILE
echo "ap_scan=1">>$CONFIG_FILE
echo "network={">>$CONFIG_FILE
echo " ssid=\"$2\"">>$CONFIG_FILE
echo " psk=\"$3\"">>$CONFIG_FILE
echo "}">>$CONFIG_FILE

ifconfig $1 up
wpa_supplicant.zydas -B -Dzydas -i$1 -c$CONFIG_FILE

注:我的WN322G+的USB Vendor为0ACE,USB Product为1215,这是在BT3下看到的,(Linksys WUSBF54G 为:13b1、0024)
      
      d)修改src/下面的zdusb.h文件,在相应位置添加下面两行:
        #define VENDOR_TPLink 0x0ACE
        #define PRODUCT_TPLink 0x1215
        
      e)make
      
      f)将编译后生成的zd1211b.ko(好像是这个)复制出来,加入到BT3的系统中(用U盘?或者加入到BT3d的ISO中),启动BT3加载编译好的驱动并测试(也许会需要网上提到的firware加载,)。      
      
此法不保证能够一定成功,但成功的机会还是很大,可能有什么地方没注意到,大家一起讨论吧。当然,如果您成功了,不妨将编译好的驱动发上来共享^_^

8月27日更正:
作为ZD1211b驱动的编译环境,应该包含有Linux的内核源码,而且核心版本与BT3的完全一样,我的BT3内核版本为2.6.21.5。

http://www.reactivated.net/software/zd1211-vendor/releases/ZD1211LnxDrv_2_22_0_0.tar.gz 的驱动较新(我开始下载的不是这个),发现里面已经有了WN322G+ ID,这样就省了很多事,不用修改文件,直接make ZD1211REV_B=1 或单修改makefile文件,在开头部分加入ZD1211REV_B=1就可以了。

ok6410如何驱动NW336无线网卡.更新zd1211b到kernel 2.6.15上.成功在Linux下安装TP-LINK TL-WN322G+ 54M无线USB网卡驱动相关推荐

  1. Fast FW54U 54M无线USB网卡 驱动下载

    下载地址: http://www.fastcom.com.cn/downloadfilesuploadfolder/FW54U-7.0.rar 下载页面: http://www.fastcom.com ...

  2. 雷凌无线usb网卡驱动官方版

    雷凌无线usb网卡驱动v5.1.7.1官方版 软件大小:38.7MB 软件语言:简体中文 软件类别:硬件驱动 软件授权:官方版 更新时间:2015-01-15 应用平台:/Win8/Win7/WinX ...

  3. mw150um 驱动程序win10_mw150um驱动下载-MERCURY水星MW150UM 150M无线USB网卡驱动2.0 官方最新版-东坡下载...

    水星mw150um是一款性价比非常高的无线网卡,它即插即用,价格便宜,在电脑上用速度非常不错.东坡带来了水星mw150um与电脑连接必备的驱动程序包,它能帮你快速完成安装和设置. 水星mw150um驱 ...

  4. ubuntu 16.04/18.04安装TP-LINK TL-WDN5200H无线USB网卡驱动

    TP-LINK TL-WDN5200H无线USB网卡驱动没有自带ubuntu系统的驱动 参考如下两篇文章后搞定: 1.https://blog.csdn.net/F_BQ333/article/det ...

  5. ubuntu 16.04安装TP-LINK TL-WDN5200H无线USB网卡驱动

    TP-LINK TL-WDN5200H无线USB网卡驱动没有自带ubuntu系统的驱动 参考如下两篇文章后搞定: 1.https://blog.csdn.net/F_BQ333/article/det ...

  6. ubuntu下安装无线USB网卡驱动 (磊科 NW336)

    本人在ubuntu14.04 亲测确认! 首先查询型号,找到对应的linux驱动代码,官方网址: http://www.realtek.com.tw/downloads/downloadsView.a ...

  7. 服务器插无线usb网卡驱动,cubieboard安装USB无线网卡驱动及设置

    无线网卡型号:水星 MERCURY MW150US 2.0 141002 那么问题来了,这个型号的网卡的芯片型号是什么? 答:MW150US 1.0是RTL8188CU;MW150US 2.0是RTL ...

  8. linux 5.5安装万兆网卡驱动,RedHat 5.5系统下安装MW54U无线USB网卡驱动

    首先下载ndiswrapper -1.52.tar.gz和mw54u在windows xp32 和 windows vista 32下的驱动 下面我们来进行安装 第一步:安装ndiswrapper - ...

  9. repost ubuntu 16.04安装TP-LINK TL-WDN5200H无线USB网卡驱动

    https://blog.csdn.net/cjgfkd/article/details/90299831?depth_1-utm_source=distribute.pc_relevant.none ...

最新文章

  1. Nature Biotechnology封面 | 经济快速:纳米孔宏基因组方案, 6小时准确识别下呼吸道病原体...
  2. Joda-Time中两个日期之间的天数
  3. windowsXPsp3怎样恢复桌面IE图标(非快捷方式)
  4. 在线图表编辑工具 draw.io 10.6.5 版本发布
  5. mysqldump快速导数据
  6. linux系统cpu文件,Linux_学堂:当前Linux系统运行的各种参数, 1、CPU   在文件“/proc/ - phpStudy...
  7. 为Java应用程序提供了空前的代码保护控件DashO-Pro
  8. Android的数据库(SQLite)学习
  9. stm32 代码加密
  10. PPT - 双屏幕情况下,如何设置 PPT 不在主屏幕显示问题?
  11. tp交换机管理页面_TP-Link交换机管理设置(RSSManager适合TP-Link楼道交换机)
  12. android锁屏是弹出窗口,Android锁屏状态下弹出activity
  13. 软件公司团队管理方法思考
  14. Android中高级面试题
  15. python str center_Python str方法总结
  16. 华为云照片的爬虫程序更新(python3.6)
  17. C++简介 C语言编程原理
  18. LeetCode刷题(168)~矩阵中的幸运数
  19. laravel框架实践1
  20. 【python】分享一个在Windows下对应用程序python窗口后台截图的方法

热门文章

  1. matlab积分练习,matlab练习之数值微积分和方程数值求解
  2. java设计模式(一)——五种创建型设计模式
  3. 【HMS Core】统一扫码服务中的RemoteView如何修改视图比例?
  4. 2022全球量子计算产业发展报告(中)
  5. todo---callback
  6. phpcms建站,phpcms安装,phpcms模板,phpcms教程,phpcms学习
  7. Java I/O系统
  8. PorterDuffXfermode 图像混合技术在漫画APP中的应用
  9. 开源视频剪辑—脑图软件
  10. Ext4.1.0 Doc中文版 V1.0.0 Beta