Вопрос или проблема
Как отключить автоотключение USB на Ubuntu 18.04 для всех USB-устройств и/или конкретных?
Предыдущие вопросы по этой теме устарели (Как отключить автоотключение USB для конкретного устройства? и Как отключить автоматическое выключение USB-устройств, таких как USB-мышь?)
Редактировать: Этот вопрос совершенно не связан с Два USB-порта перестали работать, потому что мои USB-порты не перестали работать полностью, а, похоже, были временно приостановлены всего на несколько (миллисекунд)
Обновление, 20201014: Только что получил подтверждение (см. комментарий от “Blackbird”), что это решение продолжает работать в 20.04. Спасибо, Blackbird, за полезный отзыв!
Этот документ кажется авторитетным по отключению автоотключения USB.
Хотя автоотключение USB является функцией, предназначенной для сохранения заряда батареи, его значение по умолчанию в 18.04 – “включено“, независимо от того, есть ли у устройства, на которое устанавливается Ubuntu, батарея.
Кроме того, для того чтобы автоотключение приносило больше пользы, чем вреда, похоже, что драйвер USB-устройства должен поддерживать автоотключение. Поэтому все посты, включая ваши, стремятся отключить эту “функцию“.
В 18.04 на моем устройстве я запрограммировал отключение автоотключения постоянно в /etc/default/grub
следующим образом:
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/&usbcore.autosuspend=-1 /' /etc/default/grub
update-grub
systemctl reboot
Выражение sed
просто добавляет “usbcore.autosuspend=-1” с пробелом после начальной кавычки, чтобы гарантировать, что оно всегда соответствует тому, как выглядят ваши конкретные GRUB_CMDLINE_LINUX_DEFAULT параметры.
Если вы выполните cat /sys/module/usbcore/parameters/autosuspend
после перезагрузки, вы заметите, что предпочтение “-1” (отключено) сохраняется.
Вообще, надеюсь, это вам помогло-
Предложенное решение НЕ помогло в моем случае (Ubuntu 21.10), но я нашел работающее решение для себя: https://hackology.co.uk/2015/selective-usb-power-saving-linux-laptop/
Из комментариев автора:
Создайте файл для udev следующим образом:
sudo nano /etc/udev/rules.d/92-usb-input-no-powersave.rules
с содержимым:
ACTION=="add", SUBSYSTEM=="input", TEST=="power/control", ATTR{power/control}="on"
Измените этот файл /etc/default/grub
и отредактируйте эту строку
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1 pci=noearly acpi_no_static_ssdt acpi_sleep=nonvs amd_immu=force_isolation"
Это решение сработало для меня.
-
Создайте файл:
sudo nano /var/lib/gdm3/.config/92-usb-input-no-powersave.rules
-
с содержимым:
ACTION=="add", SUBSYSTEM=="input", TEST=="power/control", ATTR{power/control}="on"
-
Запустите
sudo chown gdm:gdm /var/lib/gdm3/.config/92-usb-input-no-powersave.rules
Ответ или решение
Чтобы отключить автоматическую приостановку USB (USB autosuspend) на Ubuntu 18.04 как для всех USB-устройств, так и для конкретных устройств, следуйте приведённым ниже инструкциям. Данная проблема может возникнуть из-за того, что функция автоматической приостановки, хотя и предназначена для экономии энергии, не всегда хорошо работает с определёнными устройствами.
Отключение USB Autosuspend для всех устройств
-
Редактирование конфигурации GRUB:
Откройте терминал и отредактируйте файл настроек GRUB:sudo nano /etc/default/grub
Найдите строку, начинающуюся с
GRUB_CMDLINE_LINUX_DEFAULT="
, и измените её, добавивusbcore.autosuspend=-1
. Например:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1"
Это изменение сообщает системе отключить автоприостановку для всех USB-устройств.
-
Обновление конфигурации GRUB:
После редактирования файла, обновите настройки GRUB:sudo update-grub
-
Перезагрузка системы:
Перезагрузите ваш компьютер, чтобы изменения вступили в силу:sudo reboot
-
Проверка параметров:
После перезагрузки выполните команду для проверки текущих параметров:cat /sys/module/usbcore/parameters/autosuspend
Ожидается, что вывод будет
-1
, что означает, что автоприостановка отключена.
Отключение USB Autosuspend для конкретных устройств
Если необходимо отключить автоприостановку только для некоторых USB-устройств, это можно сделать с помощью правила udev
.
-
Создание файла правил udev:
Откройте терминал и создайте файл для правил udev:sudo nano /etc/udev/rules.d/92-usb-input-no-powersave.rules
-
Добавление правила:
Вставьте следующую строку в созданный файл:ACTION=="add", SUBSYSTEM=="input", TEST=="power/control", ATTR{power/control}="on"
Это правило предотвратит приостановку для всех устройств в указанном разделе.
-
Применение изменений:
После сохранения файла, вы можете либо перезагрузить систему, либо применить изменения с помощью команды:sudo udevadm control --reload-rules && sudo udevadm trigger
Заключение
Отключение функции автоматической приостановки USB может быть полезным для обеспечения стабильной работы некоторых устройств. Описанные методы позволяют гибко управлять настройками как для всех USB-устройств, так и для отдельных устройств. Убедитесь, что у вас есть права доступа к системе и что вы правильно соблюдаете указанные шаги, чтобы избежать возможных проблем.