Как заставить работать беспроводную карту Ralink RT3290?

Я только что установил Ubuntu 12.10 на ASUS X401U, и после установки нет списка беспроводных подключений. У меня не было этой проблемы с установкой на HP. Что я могу сделать, чтобы включить Wi-Fi?

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

2 ответа

Решение

Есть несколько руководств, которые говорят о том же пути. В руководствах, таких как этот источник, этот источник или отчет об ошибках, упоминаются некоторые процедуры, чтобы эта беспроводная карта работала на нескольких типах ноутбуков.

В некоторых случаях упоминается снижение до 12.04, а затем установка для него конкретной версии ядра 3.6, в других - обновление до 13.04 и установка версии ядра 3.9. И даже еще один случай, когда упоминается, что пользователь скачивает драйверы с официального сайта и делает пошаговое руководство по его установке.

Я упомяну несколько способов сделать это, каждый из которых включает в себя загрузку драйвера, его компиляцию и проверку его работы. Было отмечено, что в версии ядра 3.9 беспроводная карта работает правильно, поэтому в 13.04 с backports или 13.10 эта проблема должна быть решена.

Итак, вот несколько способов заставить вашу беспроводную карту Ralink RT3290 работать в 12.04 и выше (не все методы будут работать, поэтому попробуйте найти тот, который лучше всего подходит для вашего компьютера):

Поскольку идентификатор вашего поставщика 1814:3290, это означает, что у вас есть беспроводная карта Ralink RT3290. Для этого случая мы (после подключения проводного кабеля):

  1. Подключите проводное кабельное соединение к компьютеру, чтобы на данный момент подключиться к Интернету, пока вы делаете шаги, описанные ниже.

  2. Откройте терминал и выполните следующую строку, чтобы установить все необходимое для компиляции ваших собственных беспроводных драйверов:

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

Теперь, в зависимости от того, как вы хотите действовать, следуйте одному из руководств ниже:

НЕ ОФИЦИАЛЬНЫЕ ДРАЙВЕРЫ ДЛЯ Kernel 4.X

Если вышеперечисленное не работает для вас в Kernels 4.X, решение, которое я смог протестировать после этого источника, было

Пожалуйста, загрузите обновленный драйвер ( большое спасибо Джиму Колако) здесь или здесь. Это было проверено на 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 и загрузите драйвер Ralink RT3290 для Linux. 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.

  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 и следуйте инструкциям, приведенным выше.

Для тех из вас, кто не смог заставить работать 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-*
Другие вопросы по тегам