ubnt解决方案
查看: 8795|回复: 10

解决FAST迅捷FW54U 驱动问题

[复制链接]

33

回帖

158

积分

7 小时

在线时间

上等兵

注册时间
2009-2-19
金币
97 个
威望
4 个
荣誉
0 个

尚未签到

发表于 2009-3-14 23:19 |显示全部楼层
第一次接触BackTrack时就遇到了所购买的无线网卡不被Backtrack所支持的问题。按照BackTrack的说明Zydas 1211的驱动
    从Bt3就开始支持,可是我买的FAST迅捷FW54U的网卡以及另一个同为Zydas 1211的无线网卡在BT下却怎么也用不起来。总不
    能眼看着刚买来的新网卡就此退休吧,于是只有动手自己编译Linux下的驱动,开始令人郁闷的折腾过程。
   
    进过很多此的摸索和尝试,最终彻底解决了Zydas 1211b在Linux下的驱动问题。看到网上有关这个问题的讨论还不少,看来
    很多人都遇到了这个问题。现将我对这个问题的理解及解决方法整理出来,希望对大家有所帮助。
   
    当网卡不被Linux所支持时,首先需要确定无线网卡所使用的芯片类型及对应的驱动程序。Usb接口的无线网卡,在Linux下可
    以使用Lsusb/USBView(http://packages.ubuntu.com/feisty/x11/usbview)查看芯片类型及Usb设备的ID号。对于我的FW54U
    而言,驱动类型为Zd1211rw,设备ID为0x0ace, 0x1215。
   
    google后得知,很多人解决Zd1211rw不支持问题时都是因为源代码中没有包含设备ID,而网卡配套光盘中的源代码确实没有包
    含这个设备ID于是以为采用同样的方法可以解决我的问题。由于编译过程产生了很多的错误,于是开始了反反复复的编译过程.....
   
    在进一步的查询资料后,前往ZD1211专业网站知道目前有三种版本的驱动,其中建议使用 zd1211rw 这个版本,因为它在多次
    更新后已纳入到 Linux 2.6.18 以后的 kernel 中。zd1211rw 支持三种芯片:

    * ZyDAS ZD1211
    * ZyDAS ZD1211B
    * Atheros AR5007UG
   
    查看Linux Kernel内核源代码(Bt3 2.6.21)后确实在内核源代码drivers/net/wireless/目录下找到了zd1211rw的驱动文件。
  但是打开zd_usb.c文件后却可以看到该驱动实际上已经包含了该设备ID:
  
  /* ZD1211B */
    62:{ USB_DEVICE(0x0ace, 0x1215), .driver_info = DEVICE_ZD1211B },
    哪么为什么已经包含了还是不行呢,而且BT3 Final的说明中也可以看到支持zd1211rw的声明。
   
    一番仔细的查证后发现插上网卡时内核有    "RF MAXIM_NEW_RF is not supported"的提示,怀疑是否驱动在这里出了问题。
    产生该提示的语句位于文件zd_rf.c的zd_rf_init_hw中,代码如下:
    int zd_rf_init_hw(struct zd_rf *rf, u8 type)
    {
        int r = 0;
        int t;
        struct zd_chip *chip = zd_rf_to_chip(rf);
   
        ZD_ASSERT(mutex_is_locked(&chip->mutex));
        switch (type) {
        case RF2959_RF:
            r = zd_rf_init_rf2959(rf);
            break;
        case AL2230_RF:
        case AL2230S_RF:
            r = zd_rf_init_al2230(rf);
            break;
        case AL7230B_RF:
            r = zd_rf_init_al7230b(rf);
            break;
        default:
            dev_err(zd_chip_dev(chip),
                "RF %s %#x is not supported\n", zd_rf_name(type), type);
            rf->type = 0;
            return -ENODEV;
    }
    看来是由于找不到合适的RF类型,而使网卡不能初始化,驱动当然也不能正常加载了。由于不确定应该使用那个初始化函数,
    于是随便指定RF2959_RF作为初始化类型:
   
    $ sudo vim drivers/net/wireless/zd1211rw/zd_usb.c
        case MAXIM_NEW_RF:
        case RF2959_RF:
            r = zd_rf_init_rf2959(rf);
            ......
        
    编译驱动
    $ mkdir .tmp_versions
    $ make drivers/net/wireless/zd1211rw/zd1211rw.ko
   
    拷贝zd1211rw.ko,覆盖原系统文件
    $ cp drivers/net/wireless/zd1211rw/zd1211rw.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/zd1211rw
    $ sudo depmod -a
   
    此时系统中网卡设备已经能够正常出现,UP该设备也没有问题。但是配置好网卡后却无法Ping通Ap。使用WireShark分析数据包
    发现执行Ping时只有发送出去的ARP广播包,好像却收不到数据包。白高兴了一场,看来驱动还是有问题。
   
    又返回去分析源码,粗粗地看了一下,zd_rf_init_hw应该是对网卡RF(无线射频收发)芯片的初始化函数,哪么可能就是因为
    对RF芯片的初始化不正确造成不能接受发送无线数据。google了一下发现已经又前辈解决了这个问题了,原因是一些较新的无线
    网卡使用的RF芯片类型较新,zd1211rw驱动没有及时跟上留下了一个BUG,临时解决办法可以指定UW2453_RF作为初始化类型。
        case UW2453_RF:
        case MAXIM_NEW_RF:
            r = zd_rf_init_uw2453(rf);
        break;
        
        但是,通过驱动文件中却不包含UW2453_RF类型的初始化函数,zd_rf_init_rf2959、zd_rf_init_al2230等函数在驱动中独有对
        应的C文件,看来有点问题。又找了一通资料发现:
        
        The UW2453 RF started appearing in devices in 2007. At least to someone with limited understanding of RF chips,
        this appears to be similar to the other available RF's. Ubec publish full technical specifications for this chip.

        UW2453 support will be added to zd1211rw as of Linux 2.6.23.
        
        看来已经快接近问题的解决了。
        直接下载Linux2.6.28的内核,修改Zd_rf.c文件后编译,装载驱动,OK问题解决了。在Linux中可以看到设备了,使用iwConfig时
        可以看到无线的频率和功率参数等信息。
        配置网卡后可以上网了。
   
   附:一些无线网方面的问题可以参考,http://www.linuxwireless.org/en/users/Drivers/
   
   以下这一段话应该可以验证第一次编译成功但网卡却工作不正常时的推测:
   Each ZD1211-based WLAN adapter actually combines an RF transceiver chip with the ZD1211 (RF: radio frequency). The RF chip is basically a radio, responsible for transmitting data into the air at the specified frequency, and for listening for incoming data.

The RF chip must be programmed from the device driver, and this task is complicated by the fact that different ZD1211-based products come with different RF chips.

Some RF chips are better than others, some of them only work with 802.11b/g, others work with 802.11a/b/g.

It appears that the USB ID does not determine RF type, as various devices have been spotted with the same IDs but different RFs.

The AL2230 and RF2959 devices were common in earlier ZyDAS devices, with a few AL7230B devices appearing as well for 802.11a support. As of February 2007, the primary devices being produced now appear to be either AL2230S-based or UW2453-based.

评分

1

查看全部评分

33

回帖

158

积分

7 小时

在线时间

上等兵

注册时间
2009-2-19
金币
97 个
威望
4 个
荣誉
0 个

尚未签到

发表于 2009-3-16 08:52 |显示全部楼层
自己顶了!
回复

使用道具 举报

109

回帖

728

积分

240 小时

在线时间

中尉

注册时间
2009-2-15
金币
592 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2009-3-16 11:16 |显示全部楼层
LZ能不能把编译好的上传 同时提供装载的方法 因为论坛的许多爱好者 不是专业的很
回复

使用道具 举报

4

回帖

9

积分

10 小时

在线时间

预备兵

注册时间
2009-3-10
金币
4 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2009-3-16 13:17 |显示全部楼层
我也使用的是这种网卡,希望你能写个详细的教程,谢谢!
回复

使用道具 举报

105

回帖

280

积分

67 小时

在线时间

少尉

注册时间
2008-10-25
金币
152 个
威望
1 个
荣誉
0 个

尚未签到

发表于 2009-3-16 14:05 |显示全部楼层
估计以前有人出过个能用的LZM包的

不过也只是可以解决在BT3下的上网问题,如用于破解 依然是只能被动监听 不能主动注入的
回复

使用道具 举报

33

回帖

158

积分

7 小时

在线时间

上等兵

注册时间
2009-2-19
金币
97 个
威望
4 个
荣誉
0 个

尚未签到

发表于 2009-3-16 16:09 |显示全部楼层
5# skinglove
是吗?还没有试过能不能注入。如果不能注入的话,请问问题出在那里呢?
回复

使用道具 举报

19

回帖

39

积分

0 小时

在线时间

新兵上阵

注册时间
2009-3-15
金币
20 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2009-3-16 16:42 |显示全部楼层
好了一点啊。。。似乎
回复

使用道具 举报

68

回帖

154

积分

53 小时

在线时间

上等兵

注册时间
2009-1-26
金币
78 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2009-3-16 18:08 |显示全部楼层
看不明白,手上有这网卡,看来一般bt3下不能破解???新手不懂修改,只好等高手修改好再用。
回复

使用道具 举报

33

回帖

158

积分

7 小时

在线时间

上等兵

注册时间
2009-2-19
金币
97 个
威望
4 个
荣誉
0 个

尚未签到

发表于 2009-3-19 10:42 |显示全部楼层
5# skinglove
注入问题解决了。
回复

使用道具 举报

33

回帖

158

积分

7 小时

在线时间

上等兵

注册时间
2009-2-19
金币
97 个
威望
4 个
荣誉
0 个

尚未签到

发表于 2009-3-19 10:44 |显示全部楼层
4# xuefuchun
具体看我的新贴
http://forum.anywlan.com/viewthread.php?tid=23918&extra=
回复

使用道具 举报

18

回帖

50

积分

13 小时

在线时间

新兵上阵

注册时间
2009-2-7
金币
26 个
威望
1 个
荣誉
0 个

尚未签到

发表于 2009-6-9 09:45 |显示全部楼层
好东西,项一个先
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

站点统计 | Archiver | 手机版 | 无线门户 ( 粤ICP备11076993号|粤公网安备44010602008359号 ) |网站地图

GMT+8, 2024-6-1 14:31

返回顶部 返回列表