如何使Ralink RT3290无线网卡正常工作?


24

我刚刚在ASUS X401U上安装了Ubuntu 12.10,安装后没有无线连接列表。我在HP上的安装没有问题。我可以做些什么来启用Wifi?

07:00.0 Network controller [0280]: Ralink corp. Device [1814:3290]

2
这是此卡支持的错误,它可能包含可以提供帮助的信息:bugs.launchpad.net/ubuntu/+source/linux/+bug/1049466
Jorge Castro

@JorgeCastro不错的错误报告。我在那里阅读了所有错误报告。将只添加那些不太可能为用户造成问题的产品。例如,在我看来,强迫用户更改Ubuntu版本或应用不适用于该特定版本的内核是不好的(我可以用它杀死可用的计算机)。我只是专注于使用驱动器的官方网站,并更正了与该驱动器有关的问题。最后,添加了有关该过程的一些技巧。
Luis Alvarado

Answers:


34

有几本指南是用相同的方式讲的。诸如本源本源错误报告之类的指南提到了使此无线卡在几种笔记本电脑上都能使用的一些过程。

一些案例提到降级到12.04,然后为其安装特定的3.6内核版本,另一些案例提到升级到13.04,并安装3.9内核版本。甚至还有提到用户从官方站点下载驱动程序并就如何安装进行逐步指导的情况。

我将提到几种实现方法,所有这些方法都涉及下载驱动程序,对其进行编译并确保其工作正常。已经注意到,在3.9内核版本中,无线网卡可以正常工作,因此在具有反向端口或13.10的13.04中应解决此问题。

因此,有以下几种方法可以使Ralink RT3290无线网卡在12.04及更高版本中工作(并非所有方法都可以,因此请尝试寻找最适合您的计算机的方法):

由于您的供应商ID为1814:3290,这意味着您拥有Ralink RT3290无线网卡。对于这种情况,我们(在连接有线电缆之后):

  1. 执行以下步骤时,暂时将有线电缆连接到计算机以建立Internet连接。

  2. 打开终端并执行以下行,以安装编译自己的无线驱动程序所需的所有内容:

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

现在,根据您的操作方式,请遵循以下指南之一:

内核4.X的非官方驱动程序

如果以上方法不适用于您在Kernels 4.X上使用的功能,那么我能够按照以下来源测试的解决方案是

请从此处此处下载更新的驱动程序(非常感谢Jim Colaco)。这已在Ubuntu 16.04和16.10上进行了测试。

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

现在在某些情况下,您将需要为无线驱动程序启用接口(因为它不会自动启动接口),然后重新启动网络服务。像这样:

sudo ifconfig WIRELESSCARD up
sudo service network-manager restart

因此,一个例子是:

sudo ifconfig eno1 up
sudo service network-manager restart

我建议将这2行放在/etc/rc.local“退出0”行的上方,这样它就可以自动启动界面。

官方网站指南

  1. 转到Mediatek并下载适用于LinuxRalink RT3290驱动程序 MediaTek在移动链接进行下载方面表现出色,并且没有重定向。这是所有可下载固件的新链接,但您猜怎么着,他们从其中删除了RT3290。去联发科;)

    感谢其他也遇到问题并共享其资源的人,以下列出了所有可用的下载链接,供Mediatek决定帮助Linux并开放时使用:

  2. 将文件重命名为,2012_0508_RT3290_Linux_STA_v2.6.0.0.tar.bz2因为Mediatek在确保文件正常工作方面做得很好。

  3. 解压缩文件,它应该创建一个名为 DPO_RT3290_LinuxSTA_V2600_20120508

  4. 转到DPO_RT3290_LinuxSTA_V2600_20120508/os/linux/并编辑文件config.mk

  5. 在第31行,您应该找到变量HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n。更改为 

    HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
    

      并保存文件。

  6. 转到提取的主文件夹(应该是该DPO_RT3290_LinuxSTA_V2600_20120508文件夹),然后键入:

    make
    sudo make install
    
  7. 如果一切编译正确,请执行以下操作:

    modprobe rt3290sta
    
  8. 如果步骤7顺利运行,我们将模块添加到每次引导时要加载的模块列表中:

    sudo -H gedit /etc/modules
    

     并在文件末尾添加一行rt3290sta。保存并退出。

DROPBOX指南

(不建议使用,因为您是从Dropbox帐户下载不受信任的tarball。

  1. 下载源驱动程序:

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

    然后解压缩文件

    tar -xvf DPO_RT3290_LinuxSTA_V2600_20120508.tar.gz
    
  2. 进入新创建的文件夹:

    cd ~/DPO_RT3290_LinuxSTA_V2600_20120508
    

    然后我们开始编译过程

    make
    sudo make install
    
  3. 然后,我们测试以查看驱动程序是否已正确编译和安装

    sudo modprobe rt3290sta
    
  4. 如果第3步运行没有问题,则将模块添加到每次引导时要加载的模块列表中:

    sudo -H gedit /etc/modules
    

    并在底部添加一行rt3290sta。保存并退出。

额外指南

一些用户提到了其他步骤。这可能对您不适用。如果您认为系统无法正常工作,则以下几点可能会帮助您:

  • 当打开config.mk文件时,不要只更改HAS_NATIVE_WPA_SUPPLICANT为值y,也与做HAS_WPA_SUPPLICANT的情况下,它有n。在我的情况下,它具有y,但应进行检查以确保WPA_SUPPLICANT都设置为y。

  • 将冲突的无线驱动程序列入黑名单。请执行下列操作:

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

    添加以下行(请确保它们首先不在其中):

    #Wireless drivers conflicting with rt3562sta  
    blacklist rt2800pci  
    blacklist rt2x00pci
    
  • 更新initramfs: sudo update-initramfs -u

  • 如果您在Ubuntu 13.04或Ubuntu 13.10(以及更高版本)上编译驱动程序时遇到问题,则可能是由于Linux内核的更改导致与驱动程序代码不兼容。这可以通过打开来解决

    gedit os/linux/pci_main_dev.c
    

    并在顶部附近的“ #include”之后添加以下内容

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

    然后更改文件的内容

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

    #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
    

这有望解决编译器错误。返回到DPO_RT3290_LinuxSTA_V2600_20120508目录,并按照上述说明进行操作。


1
该驱动程序不时断开连接,这就是为什么我认为它不好。但它仍然是更好的那么什么是当前安装的,因为它至少工作,并提供良好的信号
BЈовић

@BЈовић感谢朋友的反馈,是的,它会不时断开连接。
Luis Alvarado 2014年

1
内核4.10低延迟。经确认可用于RT3290LE。Ubuntu 17.04。还没有滴。
dat tutbrus

1
@LuisAlvarado是的,它开箱即用。请注意。如果禁用WLAN,nm-applet然后启用它,则WLAN AP列表将消失。
dat tutbrus

1
在Linux Mint Mate 18.2和内核4.10.0-32-generic上也运行良好。
vikas027

4

对于即使执行上述步骤后仍无法使WiFi工作的人(包括我),这是一个简单且值得欢迎的解决方案。

问题在于内核在支持驱动程序方面存在问题,所幸的是,最新的稳定内核版本已修复了该错误,并且WiFi可与默认驱动程序一起使用。

下载32位内核软件包

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_i386.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-headers-3.12.0-031200_3.12.0-031200.201311031935_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-image-3.12.0-031200-generic_3.12.0-031200.201311031935_i386.deb

下载64位内核软件包

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-headers-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-headers-3.12.0-031200_3.12.0-031200.201311031935_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.12-saucy/linux-image-3.12.0-031200-generic_3.12.0-031200.201311031935_amd64.deb

安装软件包

sudo dpkg -i linux-headers-3.12.0-*.deb linux-image-3.12.0-*.deb
sudo update-grub
sudo reboot

那应该做到的。

如果要删除内核

sudo apt-get purge linux-image-3.12.0-* linux-headers-3.12.0-*

这可行!我在新的HP Envy j049tx(flipkart.com/…)上安装了Ubuntu 13.10 。手动编译Ralink驱动程序有效,但开始引起内核崩溃。一旦我升级了内核,它就可以正常工作了。谢谢!
阿迪尔2014年

现在,可以通过浏览kernel.ubuntu.com/~kernel-ppa/mainline的保管箱指南和更新最新的内核。
Lalith B 2014年

找不到内核软件包(404)
TomSawyer

如果没有其他效果,请参阅onthim.blogspot.co.ke/2015/06/…下载rt3290的新驱动程序
乔纳森(Jonathan),
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.