Ubuntu не подключает USB-устройство после перезагрузки.

Вопрос или проблема

Моя проблема в том, что при перезагрузке компьютера 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, оно перестало работать. Чтобы воспроизвести мое решение, мне пришлось снова искать в течение нескольких часов. По пути я наткнулся на этот вопрос. Мое решение шаг за шагом:

  1. ls /sys/bus/usb/drivers/
    например, выводит: hub r8712u uas usb usbfs usb-storage
    Выберите драйвер нужного USB-устройства r8712u.

  2. 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-порту.

  3. Отсоедините и подключите 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
    
  4. При необходимости включите скрипт с помощью
    sudo chmod ugo+x /etc/rc.local

Ответ или решение

Когда после перезагрузки Ubuntu не распознает ваш USB-адаптер беспроводной сети, а распознать его удается только после повторного подключения, это может вызывать серьезные неудобства, особенно если от этого устройства зависит подключение к интернету. Вот как вы можете решить эту проблему, используя предложенный пошаговый метод.

Шаги по решению проблемы неперезакрепления USB-устройства в Ubuntu

  1. Определение драйвера устройства:

    • Откройте терминал и выполните команду ls /sys/bus/usb/drivers/. Эта команда выдаст список драйверов, установленных в вашей системе, например: hub r8712u uas usb usbfs usb-storage.
    • Определите драйвер, который соответствует вашему USB-устройству (в данном случае это r8712u, но для вашего устройства он может быть другим). Это можно сделать, посмотрев на вывод команды lsusb, чтобы определить идентификатор вашего устройства.
  2. Нахождение идентификатора устройства:

    • Введите 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-порту.
  3. Создание сценария для перезакрепления устройства:

    • Измените файл конфигурации, который выполняется при загрузке системы. Для этого откройте терминал и выполните 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
  4. Включение и проверка сценария:

    • Если необходимо, убедитесь, что сценарий имеет правильные права доступа, выполнив sudo chmod ugo+x /etc/rc.local.

Заключение

Эти шаги должны помочь автоматически переподключать ваш USB-адаптер при старте системы, избавляя вас от необходимости вручную переподключать устройство каждый раз. Такой подход может значительно упростить жизнь пользователям, столкнувшимся с подобной проблемой. Однако всегда рекомендуется следить за обновлениями системы и драйверов, чтобы исключить возможные сбои в будущем.

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

Оцените материал
Добавить комментарий

Капча загружается...