Скомпилируйте и установите драйвер rtl8192cu

15

Может ли кто-нибудь помочь мне с этой проблемой? Я новичок в Linux, поэтому я не знаю команд, и я никогда не делал ничего подобного установке или компиляции из командной строки.

Я купил WiFi адаптер от Edimax, модель EW-7811UN для моего ПК (не ноутбук, поэтому у меня нет карты Wi-Fi, только Ethernet). Когда я прошёл руководство по CD, я наткнулся на версию ядра. Он сказал, что мне нужна версия 2.6, но у меня есть 3.5.0-22-generic.

Я получаю сообщения об ошибках, например, о том, что у меня нет файла или папки и т. Д. Может кто-нибудь сказать мне, где я могу скачать скомпилированный драйвер и где его нужно поставить? Или какой-то другой совет. Я не хочу понижать ядро, когда это не нужно.

Марош Качко-Донни Карио
источник
Кажется, это больше не работает; 13.04, 3.8.0-25-дженерик; драйвер ядра позволяет соединению открывать Wi-Fi, но соединение разрывается через 2 минуты или около того; затем я попытался собрать драйвер Realtek со всеми патчами, которые смог найти; он компилируется, но соединение так же ненадежно, как и раньше; Более того, когда я отключил адаптер, у меня возникла паника ядра, какая-нибудь помощь?
Антти Хаапала
@AnttiHaapala немного поздно, но попробуйте одну из версий git hub с более новыми ядрами и включите модуль с 8192cu вместо rtl8192cu или соберите драйвер с сайта realtek, используя ядро ​​3.2LTS
mchid
NP теперь для меня сейчас, я даже не знаю, где это устройство больше, я просто нуждался в нем для моего ноутбука после того, как внутренняя антенна была повреждена (теперь исправлена)
Antti Haapala

Ответы:

19

Если вы столкнулись с этой проблемой, у меня сработала установка следующего драйвера: https://github.com/pvaret/rtl8192cu-fixes

Из файла README.md :

Установка

Убедитесь, что у вас есть необходимые предпосылки:

sudo apt-get install linux-headers-generic build-essential dkms

Клонировать этот репозиторий:

git clone https://github.com/pvaret/rtl8192cu-fixes.git

Установите его как модуль DKMS:

sudo dkms add ./rtl8192cu-fixes

Постройте и установите его (этот номер версии может измениться. Он является .11 по состоянию на 07 ноября 2019 года)

sudo dkms install 8192cu/1.11

Обновите список модулей:

sudo depmod -a

Убедитесь, что собственный (и сломанный) драйвер ядра занесен в черный список:

sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/

И перезагрузка. Вы сделали.

johnnyaug
источник
1
Как примечание, я только что сделал это и после строки: sudo dkms install 8192cu/1.8я получил ошибку. Эта ошибка была: Error! Could not find module source directory. Directory: /usr/src/8192cu-1.8 does not exist.Оказывается, что мне нужно изменить , /usr/src/8192cu-1.8чтобы /usr/src/8192cu-1.9Должно быть, последнее обновление к GIT , и эти инструкции устарели по этой одной цифрой.
Загляните в каталог / usr / src. Вы можете иметь 1,9 вместо, если вы загрузили последнюю версию. ;)
Уилл Самс
Это прекрасно работает для меня для TL-WN823N V1.2 под Ubuntu 16.04, большое спасибо!
Хавьер Гарсия
1
Это работает на Ubuntu 16.10. Тем не менее, вопрос: lsmodпоказывает мне, что новый драйвер работает вместо старого (и мое соединение теперь стабильно ...). Однако, если я нажимаю «Информация о соединении» визуально на панели задач, он говорит, что rtl8192cu(а не просто 8192cu) все еще используется. Кто-то знает, почему это так?
Nearoo
13

12.04 и 14.04+: вы можете просмотреть эти инструкции или просто сделать, как я говорю.

(используйте эти инструкции, когда ваше беспроводное USB-устройство [rtl8192cu] не распознается Ubuntu автоматически)

sudo modprobe rtl8192cu
echo "2001 330D" | sudo tee /sys/bus/usb/drivers/rtl8192cu/new_id
echo "rtl8192cu" | sudo tee -a /etc/modules

Затем отредактируйте файл /etc/rc.local, открыв файл в вашем любимом текстовом редакторе, как в этом примере:

sudo gedit /etc/rc.local

убедитесь, что это говорит. , ,

echo "2001 330D" | tee /sys/bus/usb/drivers/rtl8192cu/new_id

exit 0

Вы можете использовать беспроводную связь прямо сейчас или, альтернативно, вы можете убедиться, что сохранили всю свою работу, прежде чем набирать:

sudo reboot

Ваш беспроводной драйвер должен запуститься автоматически.


Чтобы скомпилировать и установить проприетарный драйвер Realtek 8192cu, выполните следующие команды в открытом терминале:

sudo apt-get update && sudo apt-get install git build-essential linux-headers-generic dkms
git clone https://github.com/dz0ny/rt8192cu.git --depth 1
cd rt8192cu
sudo make dkms

Для жесткой установки используйте:

make
sudo make install

вместо sudo make dkms.

Чтобы включить этот драйвер, используйте команду:

sudo modprobe 8192cu

Наконец, обновите / etc / modules этой командой перед перезагрузкой:

echo '8192cu' | sudo tee -a /etc/modules

Соус №1: bernaerts.dyndns.org

Источник № 2: github.com/dz0ny

mchid
источник
Это
отлично
Огромное спасибо. Я боролся с моим Asus USBN13 в течение двух дней, прежде чем нашел ваш ответ. Это сработало, когда все остальное не удалось, и я собирался сдаться.
Суоган
Отлично, работал на TP-Link TL-WN821N на Xubuntu 12.04 на первом проходе.
Премек Брада
Я не могу собрать драйвер источник:$ sudo make install install -p -m 644 8192cu.ko /lib/modules/3.13.0-44-generic/kernel/drivers/net/wireless/ install: cannot stat ‘8192cu.ko’: No such file or directory
Энди
@ Энди Сначала беги make. Тогда беги sudo make install. Я отредактировал ответ. Спасибо что подметил это.
Mchid
4

Вообще говоря, любой драйвер Linux на компакт-диске производителя устарел, и в большинстве случаев его не стоит беспокоить. Модуль RTL8192cu является частью ядра Linux начиная с версии 2.6.38, так что в идеале вам нужно всего лишь подключить устройство, и оно будет работать. К сожалению, этот конкретный модуль никогда не работал, и, IMHO, исправление давно запоздало ( сообщение об ошибке ).

Итак, что нужно делать? Подключите устройство. Убедитесь, что менеджер сети «видит» беспроводные сети вокруг (может также убедиться, что при запуске загружен правильный модуль lsmod | grep 8192). Попробуйте подключиться к вашей сети. Если это не сработает, попробуйте подключиться к любой сети. Если это не сработает, вы будете подвержены этой ошибке, и вам придется попробовать драйвер с http://www.realtek.com .

  • Загрузите драйвер отсюда и поместите загруженный файл в вашу домашнюю папку.

  • Черный список существующего модуля. В окне терминала запустите

    gksu gedit /etc/modprobe.d/blacklist.conf, добавьте blacklist rtl8192cuв конец, сохраните и выйдите, затем перезагрузите компьютер.

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

    unzip RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip

  • Установить. В окне терминала запустите

    sudo bash ./RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105/install.sh

mikewhatever
источник
Большое спасибо, это лучше, но у меня есть проблема ... Компиляция в порядке, но после этого мне нужно отредактировать install.sh или что-то еще, потому что новая папка со скомпилированным драйвером "заблокирована", и я должен сделать chmod 777 для каждой папки и файл для пользователя root ... с помощью учебника без редактирования мой ПК завис, и мне пришлось перезагрузить компьютер (после того, как драйвер строки компилируется нормально, а перед строкой удалить, вставить и установить драйвер). У вас есть идеи или вы можете помочь мне с правами на быстрое редактирование? Или какой-то простой тат. как это сделать через терминал, а не через install.sh :) Спасибо
Марош Качко-Донни Карио
Вы не должны chmodничего, и я бы не рекомендовал играть с разрешения. Просто делайте то, что написано выше, больше ничего. : ~)
угодно
Хм ... но мой компьютер завис ... Я должен перезагрузиться .. Я ничего не могу сделать, и когда я перезагружаюсь, я вижу созданную папку установщиком со значком замка: / PC зависает перед выполнением операции удаления, вставки и установки .. Он показывает мне, что требуется авторизация, но он зависает, и мне приходится перезагружаться :( Я не могу пройти через это ...
Марош Качко-Донни Карио
Точно сказать не могу. Запуск install.shс sudoдолжен дать вам правильные разрешения.
Что бы ни было
может быть, у меня не было прав из-за зависания ПК ... но я не знаю, почему он завис: / Возможно ли это сделать вручную? без автоустановки ... может быть, я найду некоторые проблемы во время процесса или что-то в этом роде ..
Марош Качко-Донни Карио
2

Это работает хорошо. Только вы должны сначала перейти в каталог.

например.

cd RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105

sudo bash ./install.sh
Стив
источник
Единственная проблема, с которой я столкнулся при установке этого метода, заключалась в том, что в одном из сжатых архивов, вызываемых install.sh, был дополнительный каталог в несжатом виде, поэтому сценарий установки не смог его найти. Чтобы устранить эту проблему, вы можете отредактировать сценарий установки или распаковать архив, скопировать и вставить каталог, найденный на верхнем уровне, в тот каталог, где находится сжатый каталог, удалить сжатый каталог и сжать вставленный каталог, используя правильное имя. Тогда беги sudo ./install.shи все должно работать.
2015 г.
1

Можете ли вы предоставить подробную информацию о том, какие команды вы использовали для установки драйверов, или конкретно об ошибках, когда вы пытались? Я также обнаружил: установка Edimax EW7811 , последовательная установка драйверов, если руководство не было достаточно ясным, также попробуйте использовать панель поиска, многие также сообщали об ошибках в драйверах Edimax.

Ссылка на драйверы linux для Edimax EW7811UN с их сайта: Скачать (в случае, если у вас есть другой установщик версии)

Андрей
источник
Я использую некоторые учебники, но я остановился с помощью команды sudo make ... <p> cp: nie je možné stat () `/autoconf_rtl8192c_usb_linux.h ': </ p> Это то, что сказал терминал. Это на словацком, потому что у меня есть словацкая версия Ubuntu 12.10 :) Я думаю, что вы можете перевести это легко ..
Марош Качко-Донни Карио
РЕДАКТИРОВАТЬ: ошибки здесь: kario.wz.cz/upload/linux.txt У меня есть словацкая версия Ubuntu 12.10, поэтому ошибки тоже на словацком :))
Maroš Káčko-Donnie Kario
Попробуйте make cleanперед первой командой, которая решит проблему через некоторое время.
Андрей
Я всегда делаю make clean перед тем, как делать make в учебнике, запускаю clean без ошибок, но заставляю делать ошибки, но я не знаю, как их «починить» ..
Maroš Káčko-Donnie Kario
@ MarošKáčko-DonnieKario причина, по которой он не работает, состоит в том, что, начиная с ядра 3.4, в заголовках ядра были некоторые изменения и некоторые макросы, используемые для создания драйвера, который теперь устарел, и поэтому сборка приводит к полученным ошибкам. Вы можете собрать со стандартным ядром LTS 3.2 или использовать обновленную версию DKMS от github, как описано в моем ответе.
mchid
-2

Я скачал более новую версию драйвера и установил его с помощью: sudo dkms install 8192cu / 1.9

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

Берт
источник