出处:https://askubuntu.com/questions/253632/how-do-i-get-a-ralink-rt3290-wireless-card-working

解决为问题:Linux下rt3290驱动原为rt2800pci.ko导致网络不稳定,网速慢等问题。更新为rt3290sta.ko网速和稳定性都有提高。

There are several guides that speak of the same way. Guides like this source, this source or the bug report mention some procedures to get this Wireless card working on several types of laptops.

Some cases mention downgrading to 12.04 and then installing a specific 3.6 kernel version for it, others mention upgrading to 13.04 and installing the 3.9 kernel version. And even another case where it mentions the user to download the drivers from the official site and do a step by step guide on how to install it.

I will mention several ways of doing it, all of which involve downloading the driver, compiling it and making sure it works. It has been noted that in the 3.9 kernel version, the wireless card is working correctly, so in 13.04 with backports or 13.10 this issue should be resolved.

So here are several ways you can get your Ralink RT3290 wireless card working in 12.04 and above (Not all methods will work, so try to look for the one that works best for your computer):

Since your vendor id is 1814:3290 it means you have a Ralink RT3290 wireless card. For that case we (After connecting the wired cable):

  1. Connect a wired cable connection to the computer to have Internet connection for the moment while you do the steps below.

  2. Open a terminal and execute the following line to install everything needed to compile your very own wireless drivers:

    sudo apt-get update && sudo apt-get install build-essential linux-headers-generic

Now, depending on how you wish to proceed, follow one of the guides below:

NOT OFFICIAL DRIVERS FOR Kernel 4.X

If the above does not work for you on Kernels 4.X, the solution I was able to test following this source was

PLease Download the Updated Driver (Big Thanks to Jim Colaco) From Here or Here. This was tested on Ubuntu 16.04 and 16.10.

sudo apt-get install dkms
sudo tar -xvf rt3290sta-2.6.0.0.dkms.tar -C /usr/src
sudo dkms install -m rt3290sta -v 2.6.0.0 --force
sudo reboot

Now on some cases, you will need to enable the interface for the wireless driver (Because it will not bring the interface up automatically) and then restart the network service. Something like this:

ifconfig -a
sudo ifconfig WIRELESSCARD up
sudo service network-manager restart

So an example would be:

sudo ifconfig eno1 up
sudo service network-manager restart

I recommend putting this 2 lines inside /etc/rc.local above the "exit 0" line so it brings the interface up automatically.

OFFICIAL SITE GUIDE

  1. Go to Mediatek and download the Ralink RT3290 Driver for Linux MediaTek did a fine job on moving the link to download and not having a redirect for it. Here is the new Link for all Downloadable Firmware but guess what, they removed RT3290 from it. Go Mediatek ;)

    Thank to others that also had the problem and shared their sources, here is a list of all available Download links for you to use while Mediatek decides to help Linux and open up:

  2. Rename the file to 2012_0508_RT3290_Linux_STA_v2.6.0.0.tar.bz2 because Mediatek did a great job on making sure the file works correctly.

  3. Extract the file and it should create a folder named DPO_RT3290_LinuxSTA_V2600_20120508

  4. Go to DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/ and edit the file config.mk

  5. On line 31 you should find the following variable:

    HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n

    change it to

    HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

    and save the file.

  6. Go to your main extracted folder (It should be the DPO_RT3290_LinuxSTA_V2600_20120508 folder) and type the following:

    make

    sudo make install

  7. If everything compiled correctly do the following:     modprobe rt3290sta

  8. If step 7 runs without any problems, we add the module to the list of modules to loaded upon every boot:

    sudo gedit /etc/modules`

    and add a line at the end of the file that says rt3290sta. Save and exit.

DROPBOX GUIDE

(Not recommended, as you're downloading an untrusted tarball off of a Dropbox account.

  1. Download the source driver:

    wget http://dl.dropbox.com/u/11876059/DPO_RT3290_LinuxSTA_V2600_20120508.tar.gz

    and we then decompress the file

    tar -xvf DPO_RT3290_LinuxSTA_V2600_20120508.tar.gz
  2. Go inside the newly created folder:

    cd ~/DPO_RT3290_LinuxSTA_V2600_20120508

    and we start the compiling process

    make
    sudo make install
  3. We then test to see if the driver is correctly compiled and installed

    sudo modprobe rt3290sta
  4. If step 3 runs without any problems we then add the module to the list of modules to loaded upon every boot:

    sudo gedit /etc/modules

    and add a line at the bottom that says rt3290sta. Save and exit.

EXTRA GUIDE

Some users mention additional steps. This might or not apply to you. If you feel the system is not working, maybe one of the points below can help you along the way:

  • When opening the config.mk file, do not only change the HAS_NATIVE_WPA_SUPPLICANT to a value of y, but also do it with HAS_WPA_SUPPLICANT in case it has n. In my case it had y but it should be checked to make sure both WPA_SUPPLICANT are set to `y.

  • Blacklisting conflicting wireless drivers. Do the following:

    sudo gedit /etc/modprobe.d/blacklist.conf

    Add the following lines (Make sure they are not there in the first place):

    #Wireless drivers conflicting with rt3562sta
    blacklist rt2800pci
    blacklist rt2x00pci

  • Update initramfs. Do the following: sudo update-initramfs -u

  • If you have trouble compiling the driver on Ubuntu 13.04 or Ubuntu 13.10 (and perhaps later versions as well), then this may be because of a change to the linux kernel creating an incompatibility with the driver code. This can possibly be fixed by opening

    gedit os/linux/pci_main_dev.c

and adding the following after the "#include " near the top

#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)
#define __devexit
#define __devinit
#define __devinitdata
#endif

then change the portion of the file which says

 #if LINUX_VERSION_CODE >= 0x20412
remove: __devexit_p(rt2860_remove_one),
#else
remove: __devexit(rt2860_remove_one),
#endif

to

#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)
remove: rt2860_remove_one,
#else
#if LINUX_VERSION_CODE >= 0x20412
remove: __devexit_p(rt2860_remove_one),
#else
remove: __devexit(rt2860_remove_one),
#endif
#endif

This will hopefully solve the compiler error. Return to the DPO_RT3290_LinuxSTA_V2600_20120508 directory and follow the instructions as above.

附件:链接: http://pan.baidu.com/s/1c3Zufc 密码: 3rpj

[转]Ubuntu16.04下ralink rt3290驱动安装的更多相关文章

  1. Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu16.04下Mongodb(离线安 ...

  2. Ubuntu16.04下LAMP环境的安装与配置

    Ubuntu16.04下LAMP环境的安装与配置 最近做个实验需要用到Ubuntu环境的靶场,所以这里介绍下Ubuntu环境下LAMP的安装与配置,话不多说,我们gkd! 1.Apache2的安装 首 ...

  3. ubuntu16.04下笔记本电脑扩展双屏安装过程

    想给笔记本电脑外界一个显示屏,因为科研需要,我的笔记本是windows10加Ubuntu16.04双系统,主要使用Ubuntu系统. 首先是硬件 一个外置显示屏是必须的了,然后我的笔电上只有HDMI接 ...

  4. Ubuntu16.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...

  5. Ubuntu16.04下ZeroC ICE的安装与使用示例(Qt C++ 和 Java)

    项目需求:在Ubuntu16.04系统下安装并使用ICEgrid 3.7进行c++和Java Springboot开发环境的通信,下面逐一介绍各个步骤的详解: 一:Ice Lib的安装 参考官网地址: ...

  6. ubuntu16.04下ftp服务器的安装与配置

    由于要将本地程序上传至云服务器中,所以需要给云服务器端安装ftp服务器.记录一下ftp的安装过程,以便以后使用.服务器端所用系统为Ubuntu16.04. 1. 安装ftp服务器, apt-get i ...

  7. Ubuntu16.04下Python2:pip安装opendr库

    在Ubuntu16.04/Python2环境安装opendr遇到了问题,并且报错不清楚. 使用dis_to_free的方法很好地解决问题. sudo apt install libosmesa6-de ...

  8. Ubuntu16.04下Hadoop的本地安装与配置

    一.系统环境 os : Ubuntu 16.04 LTS 64bit jdk : 1.8.0_161 hadoop : 2.6.4 部署时使用的用户名为hadoop,下文中需要使用用户名的地方请更改为 ...

  9. Ubuntu16.04 下 python 3.6 安装以及各版本python切换(同时解决各种依赖缺失)

    有些博客给出了从源代码通过./configure.make.sudo make 会导致安装玩之后出现各种依赖缺失的问题,如_sqlite3._bz2 等问题. 当然也有很多帖子给出了从系统自带的pyt ...

随机推荐

  1. C语言 链表(VS2012版)

    // ConsoleApplication2.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <stdio.h> ...

  2. NodeJS client code websocket

    var WebSocketClient = require('websocket').client; var client = new WebSocketClient(); client.on('co ...

  3. nobup 与 后台运行命令

    1. Linux进程状态:R (TASK_RUNNING),可执行状态&运行状态(在run_queue队列里的状态) 2. Linux进程状态:S (TASK_INTERRUPTIBLE),可 ...

  4. 一致性hash算法及java实现

    一致性hash算法是分布式中一个常用且好用的分片算法.或者数据库分库分表算法.现在的互联网服务架构中,为避免单点故障.提升处理效率.横向扩展等原因,分布式系统已经成为了居家旅行必备的部署模式,所以也产 ...

  5. scrollview嵌套recyclerview卡顿现象

    方式一xml: android:nestedScrollingEnabled="false" <android.support.v7.widget.RecyclerView ...

  6. JS HTML倒计时 进入页面

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  7. 什么是python的全局解释锁(GIL)

    GIL解决了Python中的什么问题? 为什么选取GIL作为解决方案? 对多线程Python程序的影响 为什么GIL还没有被删除? 为什么在Python 3 中GIL没有被移除? 如何处理Python ...

  8. 深度学习原理与框架-Tfrecord数据集的读取与训练(代码) 1.tf.train.batch(获取batch图片) 2.tf.image.resize_image_with_crop_or_pad(图片压缩) 3.tf.train.per_image_stand..(图片标准化) 4.tf.train.string_input_producer(字符串入队列) 5.tf.TFRecord(读

    1.tf.train.batch(image, batch_size=batch_size, num_threads=1) # 获取一个batch的数据 参数说明:image表示输入图片,batch_ ...

  9. 零基础爬虫----python爬取豆瓣电影top250的信息(转)

    今天利用xpath写了一个小爬虫,比较适合一些爬虫新手来学习.话不多说,开始今天的正题,我会利用一个案例来介绍下xpath如何对网页进行解析的,以及如何对信息进行提取的. python环境:pytho ...

  10. Codeforces Round #437 C. Ordering Pizza

    题意: n个人吃披萨,总共有两种披萨,每种披萨都是有S块,给出每个人要吃的块数,吃第一种披萨能获得的happy值,吃第二种披萨能获得的happy值,问你,在购买的披萨数最少的情况下能获得的最大的总的h ...