Ubuntu 10.04上腾达W541U V2.0 无线网卡驱动的使用
发布日期:2021-07-14 17:26:15 浏览次数:7 分类:技术文章

本文共 4952 字,大约阅读时间需要 16 分钟。

参考自这里:

买了块腾达的Tenda W541U V2.0的无线网卡,当时没想到要在Linux下用,回来后才发现驱动问题比较麻烦,官方不提供Linux下的驱动,网上的解决方案没有试成功的,很是郁闷。

给Tenda的技术支持写过信,给到了一个驱动,但没有说具体编译的细节,自己试着编译出一个.o文件,lsmod后还是检测不到无线网卡。再写信就无回音了。可能这个问题很好解决,但自己确实搞不定。<!--IWMS_AD_BEGIN-->

<!--IWMS_AD_END-->

前两天到论坛网站上去看,发现老外的一篇贴子,说是解决了这个问题,按照相应步骤试了一下,果然编译了可以使用的驱动,现将步骤和应注意事项总结如下,还希望能帮助和我一样用Tenda W541U V2.0(这个型号我现在是倒背如流了)无线网卡的人!

标题是:Tenda W541U V2.0 Wireless USB Adapter / Ralink RT2070

具体的流程大家可以参考贴子上的步骤进行,我只是简单的总结一下流程与要需注意的地方:
一、需求:
1 硬件:
无线网卡型号:
Tenda W541U V2.0 Wireless USB Adapter ( Ralink RT2070L Chipset)
在命令终端里输入:lsusb
关于无线网卡的内容应该是类似于以下:
Bus 001 Device 003: ID 148f:2070 Ralink Technology, Corp.
其中ID 后面必须是148f:2070 ,如果不是,不能保证后面是否成功。|

2 驱动下载:(LinuxIDC.com的FTP里)

RT3070USB(RT307x)

二、步骤:

注意: 以下操作凡是因权限问题而未执行的,请在前面加上sudo再次尝试!
1. 下载RT3070USB driver(上面的网址)
2. 解压:
#sudo tar jxvf 2009_0525_RT3070_Linux_STA_v2.1.1.0.bz2
3 在 os/linux下的usb_main_dev.c 里的#ifdef RT3070下面增加以下语句:
{USB_DEVICE(0x148F,0x2070)}, /* Ralink 2070L */
4 编译模块:
回到刚开始的目录,即解决完进入的第一层目录:
cd ../..
make
5 如果编译成功,则安装:|
make install
如果编译不成功,且你的LINUX 内核版本高于等于2.6.31 的情况,比如最新的 10.04,请到步骤11查看并处理!
6 COPY .DAT文件到 /etc/Wireless,copy .bin 到 /lib/firmware
#mkdir -p /etc/Wireless/RT2870STA
#cp RT2870STA.dat /etc/Wireless/RT2870STA/
#apt-get install tofrodos
#dos2unix /etc/Wireless/RT2870STA/RT2870STA.dat
#chmod +x /etc/Wireless/RT2870STA/RT2870STA.dat
#cp common/rt2870.bin /lib/firmware/
注意:要安装dos2unix来去掉一些windows下文件转过来时的多余的字符。
7 启动模块:
#modprobe rt3070sta
8 测试模块(以下192.168.0.33的IP地址自己定 ):
#ifconfig ra0 inet 192.168.0.33 up
#iwconfig ra0
这时,如果输入:ifconfig,应该可以看到ra0设备
9 配置网卡:
因为我用的不是默认的网络管理工具,而是WICD工具,只需要 无线网络 处填入 ra0后其它的按相应网络设定配置后 即可配置完毕。
有两点要注意的:
a) 至于有用到WPA方式加密的情况,参考贴里有提到需要修改编译时的配置文件 os/linux/config.mk:
HAS_WPA_SUPPLICANT=y
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
b) 如果使用WICD工具的话,将WPA Suppliant Driver选为wext。
10 刷新后,无线网络应该能被检测到,终于可以告别有线的日子了。happy一个!
11 对于LINUX 内核版本高于等于2.6.31 的情况,编译时会出现一个编译错误,参考贴中提供了patch。
下面这段我就不翻了,大家基本上都能看明白的。(patch在LinuxIDC.com的FTP里)
UPDATE: Linux Kernel >= 2.6.31 / Karmic Koala 9.10 compile patch!
Ok, after speaking with another person and installing 9.10 on my other box I noticed this driver will not compile on my brand new 2.6.31-14-generic kernel.
The error I received (and probably many people do when attempting to compile most ralink drivers under 2.6.31 because this kernel replaced the old net_device structure with a new one called net_device_ops) was:
Code:
CC [M] /root/2009_0525_RT3070_Linux_STA_v2.1.1.0/os/linux/../../os/linux/rt_linux.o
/root/2009_0525_RT3070_Linux_STA_v2.1.1.0/os/linux/../../os/linux/rt_linux.c: In function ‘RtmpOSNetDevAttach’:
/root/2009_0525_RT3070_Linux_STA_v2.1.1.0/os/linux/../../os/linux/rt_linux.c:1510: error: ‘struct net_device’ has no member named ‘open’
/root/2009_0525_RT3070_Linux_STA_v2.1.1.0/os/linux/../../os/linux/rt_linux.c:1511: error: ‘struct net_device’ has no member named ‘stop’
/root/2009_0525_RT3070_Linux_STA_v2.1.1.0/os/linux/../../os/linux/rt_linux.c:1512: error: ‘struct net_device’ has no member named ‘hard_start_xmit’
/root/2009_0525_RT3070_Linux_STA_v2.1.1.0/os/linux/../../os/linux/rt_linux.c:1513: error: ‘struct net_device’ has no member named ‘do_ioctl’
/root/2009_0525_RT3070_Linux_STA_v2.1.1.0/os/linux/../../os/linux/rt_linux.c:1519: error: ‘struct net_device’ has no member named ‘get_stats’
/root/2009_0525_RT3070_Linux_STA_v2.1.1.0/os/linux/../../os/linux/rt_linux.c:1553: error: ‘struct net_device’ has no member named ‘validate_addr’
make[2]: *** [/root/2009_0525_RT3070_Linux_STA_v2.1.1.0/os/linux/../../os/linux/rt_linux.o] Error 1
make[1]: *** [_module_/root/2009_0525_RT3070_Linux_STA_v2.1.1.0/os/linux] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-14-generic'
make: *** [LINUX] Error 2
After some deep searching I found this rt3070-2.6.31-compile.patch (a part of rt3070-kmod 11 package) on lists.rpmfusion.org/pipermail/rpmfusion-commits/2009-August/006214.html. Once you apply it, it will compile just fine.
I have attached it to this post, just:
Code:
$gunzip rt3070-2.6.31-compile.patch.gz
$patch -p0 < rt3070-2.6.31-compile.patch
patching file 2009_0525_RT3070_Linux_STA_v2.1.1.0/include/rtmp_os.h
patching file 2009_0525_RT3070_Linux_STA_v2.1.1.0/os/linux/rt_linux.c
patching file 2009_0525_RT3070_Linux_STA_v2.1.1.0/os/linux/rt_main_dev.c
$cd 2009_0525_RT3070_Linux_STA_v2.1.1.0/
$make
Also make sure that rt2800usb, rt2x00usb and rt2x00lib are blacklisted as they now recognize this device (under 9.10) but the device will not function properly (no scan results).
Code:
$sudo pico /etc/modprobe.d/blacklist.conf
add the following lines:
blacklist rt2x00usb
blacklist rt2x00lib
blacklist rt2800usb
close and save.
$sudo rmmod rt2x00usb (just in case)
$sudo rmmod rt2x00lib (just in case)
$sudo rmmod rt2800usb (just in case)
12 我只是将W541U用来当Station模式来用,AP模式还没用过,具体设置不知如何操作。
祝各位好运!

相关附件2009_0525_RT3070_Linux_STA_v2.1.1.0 与rt3070-2.6.31-compile.patch

下载:

FTP地址:

用户名:

密码:

在2010年LinuxIDC.com\9月\ 10.04上腾达W541U V2.0 无线网卡驱动的使用\

转载地址:https://blog.csdn.net/dadoneo/article/details/83774500 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Ubuntu中的有线、无线网络连接管理器──Wicd[译]
下一篇:Ubuntu 10.04上腾达W541U V2.0 无线网卡驱动的使用

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年04月09日 05时33分38秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章