转自http://forum.ubuntu.org.cn/viewtopic.php?f=116&t=302873
代码:
lsusb
看到了
引用:
Bus 001 Device 004: ID 148f:2070 Ralink Technology, Corp.
google一下,原来是Ralink的RT2870sta
于是再在论坛里找方法,是找到了,娘的,是E文的,不懂!用有道译吧,花了我4小时啊,鬼叫你少年不努力呢。
下载2009_0525_RT3070_Linux_STA_v2.1.1.0.bz2及rt3070-2.6.31-compile.patch.gz放在主文件夹下(本人花了功夫在国外的论坛上找到的,找到网盘后再传上),准备工作做完了,编译安装吧
代码:
sudo su
tar jxvf 2009_0525_RT3070_Linux_STA_v2.1.1.0.bz2
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
修改代码:
在common/rtusb_dev_id.c中找到#ifdef RT3070,在这个宏定义所在的struct里加入:
{USB_DEVICE(0x148F,0x2070)}, /* Ralink 2070 */
保存;
代码:
cd 2009_0525_RT3070_Linux_STA_v2.1.1.0/
make
make install
注意:在ubuntu 10.10内核版本为2.26.35系统上编译的时候,可能会报错,
usb_buffer_alloc、usb_buffer_free两个函数找不到,后来google一番,发现原来是内核函数已经改名了,如下:
usb_buffer_alloc() is renamed to usb_alloc_coherent()
usb_buffer_free() is renamed to usb_free_coherent()
代码:
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/
安装工作完成了,把内核那个让人以为网卡是坏的rt2800usb禁掉吧
代码:
gedit /etc/modprobe.d/blacklist.conf
如下加入
引用:
blacklist rt2x00usb
blacklist rt2x00lib
blacklist rt2800usb