Вопрос или проблема
Моя проблема в том, что при перезагрузке компьютера Ubuntu распознает USB-адаптер для беспроводной клавиатуры и мыши, но не распознает мой USB-адаптер для беспроводной сети. Вот результаты моей команды lsusb
:
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 002: ID 046d:c52e Logitech, Inc. MK260 Wireless Combo Receiver
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Устройство, которое не распознается:
"Bus 001 Device 003: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter"
Как только я вручную отсоединяю и снова подключаю его, я могу видеть его в списке USB-устройств, и оно работает нормально, но я не могу делать это каждый раз при перезагрузке компьютера. Я ищу способ исправить это или, по крайней мере, добавить что-то в мой .bashrc, чтобы отсоединить это конкретное устройство и снова подключить его, чтобы оно работало. Или, может быть, перезапустить этот USB-порт, чтобы заставить его проверить снова. Любое решение будет огромной помощью.
Я знаю, что есть много вопросов, похожих на этот, но я спрашиваю, потому что ни один из них не сработал для меня.
У меня есть похожий USB-адаптер Wi-Fi, и у меня была точно такая же проблема. Я очень долго искал рабочее решение в Интернете. Но я нашел одно. Позже, после того как я поменял места подключения USB, оно перестало работать. Чтобы воспроизвести мое решение, мне пришлось снова искать в течение нескольких часов. По пути я наткнулся на этот вопрос. Мое решение шаг за шагом:
-
ls /sys/bus/usb/drivers/
например, выводит:hub r8712u uas usb usbfs usb-storage
Выберите драйвер нужного USB-устройстваr8712u
. -
ls /sys/bus/usb/drivers/r8712u
например, выводит:1-2.2:1.0 bind module new_id remove_id uevent unbind
Первая запись1-2.2:1.0
— это ID USB-устройства. Этот ID должен быть действительным, пока USB-устройство подключено к тому же USB-порту. -
Отсоедините и подключите USB-порт при входе в систему или запуске. В моем случае мне потребовалась задержка в 3 секунды. Для этого вызовите, например:
sudo nano /etc/rc.local
Передexit 0
вставьте следующие 3 строки. Замените1-2.2:1.0
иr8712u
соответствующими значениями.sleep 3 echo '1-2.2:1.0' > /sys/bus/usb/drivers/r8712u/unbind echo '1-2.2:1.0' > /sys/bus/usb/drivers/r8712u/bind
После этого
/etc/rc.local
должен выглядеть так:#!/bin/sh -e # # rc.local # # Этот скрипт выполняется в конце каждого многопользовательского уровня исполнения. # Убедитесь, что скрипт завершится с "exit 0" при успехе или любой другой # значением при ошибке. # # Чтобы включить или отключить этот скрипт, просто измените бит исполнения. # # По умолчанию этот скрипт ничего не делает. sleep 3 echo '1-2.2:1.0' > /sys/bus/usb/drivers/r8712u/unbind echo '1-2.2:1.0' > /sys/bus/usb/drivers/r8712u/bind exit 0
-
При необходимости включите скрипт с помощью
sudo chmod ugo+x /etc/rc.local
Ответ или решение
Когда после перезагрузки Ubuntu не распознает ваш USB-адаптер беспроводной сети, а распознать его удается только после повторного подключения, это может вызывать серьезные неудобства, особенно если от этого устройства зависит подключение к интернету. Вот как вы можете решить эту проблему, используя предложенный пошаговый метод.
Шаги по решению проблемы неперезакрепления USB-устройства в Ubuntu
-
Определение драйвера устройства:
- Откройте терминал и выполните команду
ls /sys/bus/usb/drivers/
. Эта команда выдаст список драйверов, установленных в вашей системе, например:hub r8712u uas usb usbfs usb-storage
. - Определите драйвер, который соответствует вашему USB-устройству (в данном случае это
r8712u
, но для вашего устройства он может быть другим). Это можно сделать, посмотрев на вывод командыlsusb
, чтобы определить идентификатор вашего устройства.
- Откройте терминал и выполните команду
-
Нахождение идентификатора устройства:
- Введите
ls /sys/bus/usb/drivers/r8712u
(заменитеr8712u
на ваш драйвер), чтобы увидеть список, подобный следующему:1-2.2:1.0 bind module new_id remove_id uevent unbind
. - Первое значение (например,
1-2.2:1.0
) — это идентификатор вашего USB-устройства. Этот идентификатор будет актуален, пока устройство подключено к тем же USB-порту.
- Введите
-
Создание сценария для перезакрепления устройства:
- Измените файл конфигурации, который выполняется при загрузке системы. Для этого откройте терминал и выполните
sudo nano /etc/rc.local
. - Перед строкой
exit 0
вставьте следующий код, заменив1-2.2:1.0
иr8712u
на актуальные для вашего устройства значения:sleep 3 echo '1-2.2:1.0' > /sys/bus/usb/drivers/r8712u/unbind echo '1-2.2:1.0' > /sys/bus/usb/drivers/r8712u/bind
-
Ваш файл
/etc/rc.local
должен выглядеть следующим образом:#!/bin/sh -e # # rc.local # # Этот сценарий выполняется в конце каждой многопользовательской загрузки. # Убедитесь, что сценарий завершится с "exit 0" в случае успешного выполнения или с другим # значением в случае ошибки. # # По умолчанию этот сценарий ничего не делает. sleep 3 echo '1-2.2:1.0' > /sys/bus/usb/drivers/r8712u/unbind echo '1-2.2:1.0' > /sys/bus/usb/drivers/r8712u/bind exit 0
- Измените файл конфигурации, который выполняется при загрузке системы. Для этого откройте терминал и выполните
-
Включение и проверка сценария:
- Если необходимо, убедитесь, что сценарий имеет правильные права доступа, выполнив
sudo chmod ugo+x /etc/rc.local
.
- Если необходимо, убедитесь, что сценарий имеет правильные права доступа, выполнив
Заключение
Эти шаги должны помочь автоматически переподключать ваш USB-адаптер при старте системы, избавляя вас от необходимости вручную переподключать устройство каждый раз. Такой подход может значительно упростить жизнь пользователям, столкнувшимся с подобной проблемой. Однако всегда рекомендуется следить за обновлениями системы и драйверов, чтобы исключить возможные сбои в будущем.
Этот метод подчеркивает важность комплексного подхода к решению проблем в Linux, а также способности адаптироваться к уникальным потребностям каждого устройства.