Собственно решение есть и оно заключается в следующем:
Отключение autosuspend USB в Ubuntu
В наши дни Linux поддерживает множество устройств.
Однако иногда вы обнаруживаете, что устройство работает, но только на время, требуя перезагрузки для повторной работы. Часто это происходит из-за того, что само устройство не работает в соответствии со стандартом USB, и чаще всего это вызвано неправильным режимом приостановки USB.
Правильный способ исправить это было бы либо обходным решением в драйвере, либо, не дай бог, исправлением в прошивке устройства. Но довольно часто никто ничего не делает, поэтому остается делать неправильное. И самое простое неправильное решение - отключить автоматическую приостановку USB.
Год назад решалось так, если никаких изменений критичных не было произведено в дистрибутиве, то должно быть так решается и сегодня:
Консоль:
sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="[a-z ]*/& usbcore.autosuspend=-1/' /etc/default/grub
sudo update-grub2
reboot
После перезагрузки проверяем результатом вывода команды должно быть:
-1 ( что означает отключено).
Консоль:
cat /sys/module/usbcore/parameters/autosuspend
Совет подходит только для Ubuntu. В других может решаться иначе.
Так же альтернативным способом может быт редактирование списка autosuspend в конфигурационных файлах и занесением устройства в черный список.
Но это Вам помогут другие пользователи Ubuntu. Возможно кто-то скорректирует мой совет и даст Вам более правильное и актуальное решение.
*** Добавлено: 01.09.2021 21:34:39 ***
Все что Выше это первый вариант и как я сказал не совсем корректный.
Сейчас напишу второй.
*** Добавлено: 01.09.2021 21:48:36 ***
Вариант 2 (более правильный)
Устанавливаем tlp утилиту управлением питанием:
Консоль:
sudo apt install tlp
Далее получаем список устройств с помощью lsusb:
Консоль:
lsusb
Bus XXX Device XXX: ID YYYY:ZZZZ Мышка норушка
Bus XXX Device XXX: ID AAAA:VVVV сетевая карта
Bus XXX Device XXX: ID FFFF:JJJJ клавиатура
Видим нужное устройство с именем Мышка норушка и ID YYYY:ZZZZ
Создаем файл:
/etc/tlp.d/50-usb-autosuspend-blacklist.conf
И в него вписываем строку с нужным нам ID:
USB_BLACKLIST="YYYY:ZZZZ"
Если их будет два и более, то через пробел вот так:
USB_BLACKLIST="YYY1:ZZZ1 YYY2:ZZZ2"
После того как файл создан, нужно перезапустить службу tlp:
Консоль:
sudo systemctl restart tlp
Переподключаем мышь и обнаруживаем что все работает.
Если вышеописанного не достаточно, то возможно нужно поправить так же только следующий файл:
Консоль:
sudo gedit /etc/default/tlp
Убедится что у параметра
USB_AUTOSUSPEND установлено значение
1Раскомментировать строку
USB_BLACKLIST убрав в начале символ "
#" и заменив значение на свое, аналогично как я писал выше:
USB_BLACKLIST="YYYY:ZZZZ"
*** Добавлено: 01.09.2021 22:30:40 ***
После перезапуска службы tlp.
Проверить корректность проделанного можно с помощью команды:
Консоль:
tlp-stat -u
В результатах вывода должно быть указано что ID YYYY:ZZZZ (Мышки Норушки
) в черном листе, а autosuspend включен.
Ну или опытным путем попытаться воспроизвести зависание устройства.
Которое после проделанных манипуляция по идее не должно повториться.