Розв’язання проблеми з автоматичним засинанням деяких usb-пристроїв в Linux

Деякі usb-пристрої з кривими прошивками неадекватно працюють в Linux. Розв’язуємо цю проблему на прикладі Ugreen USB 3.1 Hub.

В логах це виглядає приблизно так:

[ср тра  3 14:26:48 2023] usb 4-4: USB disconnect, device number 2
[ср тра  3 14:26:50 2023] usb 4-4: new SuperSpeed USB device number 3 using xhci_hcd
[ср тра  3 14:26:50 2023] usb 4-4: New USB device found, idVendor=05e3, idProduct=0626, bcdDevice= 6.54
[ср тра  3 14:26:50 2023] usb 4-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ср тра  3 14:26:50 2023] usb 4-4: Product: USB3.1 Hub
[ср тра  3 14:26:50 2023] usb 4-4: Manufacturer: GenesysLogic
[ср тра  3 14:26:50 2023] hub 4-4:1.0: USB hub found
[ср тра  3 14:26:50 2023] hub 4-4:1.0: 4 ports detected

І так по колу з періодичністю в 1-2 хвилини.

Отже, вимикаємо автозасинання USB Hub:

# nano /etc/udev/rules.d/50-usb-power.rules

і вставляємо в цей файл наступний текст:

# Genesys Logic, Inc. USB3.1 Hub
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05e3", ATTR{idProduct}=="0626", TEST=="power/control", ATTR{power/control}="on"

Для виходу з nano натискаємо комбінацію CTRL-X та Y для збереження.

Для вашого обладнання потрібно відредагувати ATTR{idVendor}==”05e3″ та ATTR{idProduct}==”0626″,  замінивши вашими значеннями. Взяти їх можна, наприклад, з того ж логу.

Далі перезапускаємо udev командою

# systemctl restart udev