Проблема с питанием USB на передней панели

Arch/KDE.
Корпус Cooler Master.
Внешний диск WD Passport.

Ситуация следующая:
WD включен в порт на передней панели, но НЕ монтируется автоматически. После выхода из спящего режима в Дисках и устройствах не виден до перезагрузки. При подключении в любой из задних портов на материнке - виден.

Как я понял, вопрос в питании передней панели-"хаба". Я пытался читать арчвики и даже попробовал указанные рецепты, но с питанием панели ничего не придумал.

Возможно, кто-то сталкивался с подобными ситуациями и решил этот вопрос?
Adrian.Carver
Как я понял, вопрос в питании передней панели-"хаба"
Как правило, задние порты встроены в материнку, а передние порты подключаются к материнке с помощью проводов (точнее, USB-выход на передней панели это обычный USB-концентратор, подключенный к материнской плате). USB-контроллер обеспечивает подключенное устройство питанием-500 мА на 5 В (с выходом USB 3.0 возможно немного изменилось).
Но самое главное, при подключении на передней панели нескольких устройств, объем питания не меняется - это те же 500 мА на 5 В, то есть возможна нехватка питания. По этому в передние слоты рекомендуется подключать только не требовательные к питанию устройства (мышь, клавиатуру, флешки и пр.), а вот требовательные к питанию устройства, такие как принтер, сканер и пр. рекомендуют подключать только в задние разъемы на материнской плате или использовать USB HUB с отдельным блоком питания.

А вот в чем конкретно твоя проблема, не известно, информации нет.
Проведи анализ - проверь как работает мышь, флешка … если с ними проблем нет, то скорее всего проблема в нехватке питания.

Если погадать …
Иногда причина обусловлена autosuspend - по дефолту параметр usbcore.autosuspend=2
(cat /sys/module/usbcore/parameters/autosuspend …. 2).
Пробуй прописать параметр загрузки ядра usbcore.autosuspend=-1
Если это не поможет, а учитывая, что reboot помогает, то тогда должна помочь переиницилизация устройства после выхода из гибернации, без reboot, …. что это такое, погугли - если просто, то, например, имеем устройство 8564:1000 Transcend Information, Inc. JetFlash
lsusb -tvv
 /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
….
|__ Port 1: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 480M
        ID 8564:1000 Transcend Information, Inc. JetFlash
        /sys/bus/usb/devices/3-1
Выполняем переиницилизацию устройства 3-1
echo '3-1' | sudo tee /sys/bus/usb/drivers/usb/unbind
echo '3-1' | sudo tee /sys/bus/usb/drivers/usb/bind
Если не поможет, есть и другие способы … НО, главное, нужно установить причину.
Ошибки не исчезают с опытом - они просто умнеют
vasek
Если погадать …

03.11.2022 18:09	kernel	usb 10-1: USB disconnect, device number 2
03.11.2022 18:10	kernel	usb 10-1: new SuperSpeed USB device number 3 using xhci_hcd
03.11.2022 18:10	kernel	usb 10-1: New USB device found, idVendor=1058, idProduct=25e7, bcdDevice=10.21
03.11.2022 18:10	kernel	usb 10-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
03.11.2022 18:10	kernel	usb 10-1: Product: My Passport 25E7
03.11.2022 18:10	kernel	usb 10-1: Manufacturer: Western Digital
03.11.2022 18:10	kernel	usb 10-1: SerialNumber: 575832314139384C41464650
03.11.2022 18:10	kernel	usb-storage 10-1:1.0: USB Mass Storage device detected
03.11.2022 18:10	kernel	scsi host18: usb-storage 10-1:1.0
03.11.2022 18:10	mtp-probe	checking bus 10, device 3: "/sys/devices/pci0000:00/0000:00:1c.2/0000:08:00.0/usb10/10-1"
03.11.2022 18:10	mtp-probe	checking bus 10, device 3: "/sys/devices/pci0000:00/0000:00:1c.2/0000:08:00.0/usb10/10-1"
03.11.2022 18:13	kernel	usb usb1: root hub lost power or was reset
03.11.2022 18:13	kernel	usb usb2: root hub lost power or was reset
03.11.2022 18:13	kernel	xhci_hcd 0000:06:00.0: xHC error in resume, USBSTS 0x401, Reinit
03.11.2022 18:13	kernel	usb usb5: root hub lost power or was reset
03.11.2022 18:13	kernel	usb usb6: root hub lost power or was reset
03.11.2022 18:13	kernel	xhci_hcd 0000:07:00.0: xHC error in resume, USBSTS 0x401, Reinit
03.11.2022 18:13	kernel	usb usb7: root hub lost power or was reset
03.11.2022 18:13	kernel	usb usb8: root hub lost power or was reset
03.11.2022 18:13	kernel	usb 2-1: reset high-speed USB device number 2 using ehci-pci
03.11.2022 18:13	kernel	usb 1-1: reset high-speed USB device number 2 using ehci-pci
03.11.2022 18:13	kernel	usb 5-1: reset high-speed USB device number 2 using xhci_hcd
03.11.2022 18:13	kernel	xhci_hcd 0000:01:00.2: xHC error in resume, USBSTS 0x401, Reinit
03.11.2022 18:13	kernel	usb usb3: root hub lost power or was reset
03.11.2022 18:13	kernel	usb usb4: root hub lost power or was reset
03.11.2022 18:13	kernel	usb 2-1.2: reset full-speed USB device number 3 using ehci-pci
03.11.2022 18:13	kernel	usb 2-1.5: reset full-speed USB device number 5 using ehci-pci
03.11.2022 18:13	kernel	usb 6-1: reset SuperSpeed USB device number 2 using xhci_hcd
03.11.2022 18:13	kernel	usb 2-1.3: reset high-speed USB device number 4 using ehci-pci
03.11.2022 18:13	kernel	usb 5-1.4: reset low-speed USB device number 3 using xhci_hcd
03.11.2022 18:13	kernel	usb 10-1: PM: dpm_run_callback(): usb_dev_resume+0x0/0x20 returns -22
03.11.2022 18:13	kernel	usb 10-1: PM: failed to resume async: error -22
03.11.2022 18:13	kernel	usb 10-1: USB disconnect, device number 3
Итого в сухом остатке с параметром ядра usb.autosuspend=-1

Передняя панель-хаб после перезагрузки включается, работает.
Ребут - реинициализация даёт сбой, остаётся порт с голым питанием, не воспринимающий до новой перезагрузки никакие устройства вообще. Только питание по USB.
Так и не понял - выполнял переиницилизацию устройства без его физического отключения??? Похоже нет ...
Если это не помогло, то тогда пробуй переиницилизацию/переподключение не устройства, а шины/порта USB (программное переподключение шины/порта).
Типа такого (главное найти шину)
lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
        |__ Port 1: Dev 14, If 0, Class=Mass Storage, Driver=usb-storage, 480M
Для облегчения поиска пути к устройству смотрим вывод
udevadm info --attribute-walk --name=/dev/bus/usb/004/014 | grep devices
looking at device '/devices/pci0000:00/0000:00:1d.0/usb4/4-1/4-1.1':
Проверим номер устройства, чтобы не ошибиться
cat /sys/bus/usb/devices/usb4/4-1/4-1.1/devnum ….. 14
Ну и далее две команды (приведены от root ... если не от root, то используй echo + tee)
# echo 0 > /sys/bus/usb/devices/usb4/4-1/4-1.1/authorized
# echo 1 > /sys/bus/usb/devices/usb4/4-1/4-1.1/authorized

А вообще, повторюсь, нужно определить причину ... например, может не подгружается модуль или что другое.

PS - пришла еще одна мысля - если это шина USB 3, то такое тоже возможно - обычно отключают, точнее переходят на USB 2.
Как видишь, одни гадания, а информации ноль .... больше обсуждать не собираюсь ... все расписано, гугли и анализируй ... гадать нет смысла.
Ошибки не исчезают с опытом - они просто умнеют
Благодарю. Уже копаю.)
 
Зарегистрироваться или войдите чтобы оставить сообщение.