Как отключить автоматическую приостановку USB на Ubuntu 18.04?

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

Как отключить автоотключение 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"

Это решение сработало для меня.

  1. Создайте файл:

    sudo nano /var/lib/gdm3/.config/92-usb-input-no-powersave.rules
    
  2. с содержимым:

    ACTION=="add", SUBSYSTEM=="input", TEST=="power/control", ATTR{power/control}="on"
    
  3. Запустите

    sudo chown gdm:gdm /var/lib/gdm3/.config/92-usb-input-no-powersave.rules
    

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

Чтобы отключить автоматическую приостановку USB (USB autosuspend) на Ubuntu 18.04 как для всех USB-устройств, так и для конкретных устройств, следуйте приведённым ниже инструкциям. Данная проблема может возникнуть из-за того, что функция автоматической приостановки, хотя и предназначена для экономии энергии, не всегда хорошо работает с определёнными устройствами.

Отключение USB Autosuspend для всех устройств

  1. Редактирование конфигурации GRUB:
    Откройте терминал и отредактируйте файл настроек GRUB:

    sudo nano /etc/default/grub

    Найдите строку, начинающуюся с GRUB_CMDLINE_LINUX_DEFAULT=", и измените её, добавив usbcore.autosuspend=-1. Например:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.autosuspend=-1"

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

  2. Обновление конфигурации GRUB:
    После редактирования файла, обновите настройки GRUB:

    sudo update-grub
  3. Перезагрузка системы:
    Перезагрузите ваш компьютер, чтобы изменения вступили в силу:

    sudo reboot
  4. Проверка параметров:
    После перезагрузки выполните команду для проверки текущих параметров:

    cat /sys/module/usbcore/parameters/autosuspend

    Ожидается, что вывод будет -1, что означает, что автоприостановка отключена.

Отключение USB Autosuspend для конкретных устройств

Если необходимо отключить автоприостановку только для некоторых USB-устройств, это можно сделать с помощью правила udev.

  1. Создание файла правил udev:
    Откройте терминал и создайте файл для правил udev:

    sudo nano /etc/udev/rules.d/92-usb-input-no-powersave.rules
  2. Добавление правила:
    Вставьте следующую строку в созданный файл:

    ACTION=="add", SUBSYSTEM=="input", TEST=="power/control", ATTR{power/control}="on"

    Это правило предотвратит приостановку для всех устройств в указанном разделе.

  3. Применение изменений:
    После сохранения файла, вы можете либо перезагрузить систему, либо применить изменения с помощью команды:

    sudo udevadm control --reload-rules && sudo udevadm trigger

Заключение

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

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

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