Я использую Ubuntu 17.10 и следующий USB-адаптер:
lsusb | grep -o 'ASUS.*'
ASUSTek Computer, Inc. N10 Nano 802.11n Сетевой адаптер [Realtek RTL8192CU ]]
sudo lshw -class network | grep -o '.*rtl.*generic'
конфигурация: broadcast = yes driver = rtl8192cu driverversion = 4.13.0-21-generic
Когда компьютер запускается, Интернет работает нормально (за исключением скорости загрузки и выгрузки, которая в 3 раза медленнее, чем для другого устройства), но через некоторое время (обычно всего несколько минут) Интернет отключается , и мне нужно выполните следующую команду, чтобы снова сделать ее доступной (или подождать более 5 минут для автоматического переподключения):
sudo /etc/init.d/network-manager restart
Я прочитал здесь :
Беспроводные наборы микросхем Realtek RTL8188CUS и RTL8192CU должны работать хорошо с драйвером RTL8192CU по умолчанию (по крайней мере с момента появления серии ядра 4.4). Так что они должны нормально работать из коробки. Подключи и играй, больше не нужно никаких действий .
Драйвер с CD кажется устаревшим для этой версии ядра.
Отключение IPv6 из настроек WiFi / для всей системы не устранило проблему.
Есть ли проблема с драйвером?
Или есть что-то еще, что может через некоторое время вызвать сбой?
Выполнение iwconfig
показывает аналогичный выход (все они показывают Power Management:off
) с двумя отличиями:
до первого разъединения
Link Quality=52/70 Signal level=-58 dBm
Tx excessive retries:0 Invalid misc:3 Missed beacon:0
после отключения
Link Quality=52/70 Signal level=-58 dBm
Tx excessive retries:0 Invalid misc:135 Missed beacon:0
после повторного подключения (перезапуска службы администратора сети)
Link Quality=38/70 Signal level=-72 dBm
Tx excessive retries:0 Invalid misc:8 Missed beacon:0
# sudo journalctl -fu NetworkManager
...
25 декабря 22:59:50 ... NetworkManager [...]: [...] manager: rfkill: аппаратная радиосвязь WiFi включена
25 декабря 22:59:50 ... NetworkManager [. ..]: [...] manager: rfkill: аппаратная радиостанция WWAN включена
Беспроводное соединение отключено примерно в 23:10:00 и примерно через 5 минут:
25 декабря 23:15:10 ... NetworkManager [...]: [...] подключение: (wlx ...) истекло время
25 декабря 23:15:26 ... Политика NetworkManager [...]: [...]: установить '...' (wlx ...) по умолчанию для маршрутизации IPv6 и DNS
25 декабря 23:20:10 ... NetworkManager [...]: [...] подключение: (wlx ...) истекло время ожидания
Добавление следующих файлов / строк не исправило проблема:
cat /etc/modprobe.d/rtl8192cu.conf
опции rtl8192cu fwlps = N
cat /etc/modprobe.d/rtl8xxxu.conf
чернокожие rtl8xxxu
cat /etc/modprobe.d/blacklist.conf | grep rtl
черный список rtl8xxxu
черный список rtl8192c_common
Проблема была исправлена с использованием инструкций из здесь :
sudo apt-get install linux-headers-$(uname -r) build-essential dkms git
git clone https://github.com/pvaret/rtl8192cu-fixes.git
sudo dkms add ./rtl8192cu-fixes
sudo dkms install 8192cu/1.10
sudo depmod -a
sudo cp ./rtl8192cu-fixes/blacklist-native-rtl8192.conf /etc/modprobe.d/
sudo cp ./rtl8192cu-fixes/8192cu-disable-power-management.conf /etc/modprobe.d/
reboot
Я надеюсь, что это не просто совпадение, но оно работало в течение последних 1 час.
До сих пор я игнорировал посты, которые включали этот URL GitHub: https://github.com/pvaret/rtl8192cu-fixes из-за файла README.md, в котором указывалось следующее:
!! Этот драйвер УСТАРЕЛ !!
Новый драйвер rtl8xxxu, изначально представленный в ядре 4.4, работает в наши дни довольно хорошо, и вам почти наверняка следует предпочесть его этому репозиторию.
Если rtl8xxxu вызывает проблемы, попробуйте устранить неполадки, прежде чем устанавливать этот драйвер. Известные вещи, на которые нужно обратить внимание:
Некоторые устройства требуют, чтобы управление питанием было отключено в NetworkManager. Следуйте инструкциям ниже, чтобы отключить управление питанием в NetworkManager. Обязательно внесите в черный список старый драйвер rtl8192cu, который обычно загружается по умолчанию.
Я бы попробовал занести в черный список другой загруженный модуль и перезагрузить его.
echo "blackist rtl8xxxu" | sudo tee /etc/modprobe.d/rtl8xxxu.conf