eddy_em: (Default)
[personal profile] eddy_em
Сижу, никого не трогаю, STM32F407 мучаю (что-то пока даже "blink" не получается: где-то косяк в активации тактирования), вдруг бац: мыша не работает. Воткнул в другой порт USB — ноль реакции. Воткнул другую — аналогично. Флешку — тихо. В dmesg ничего по поводу новых устройств, зато вот такая ругань:
[926551.236558] xhci_hcd 0000:00:14.0: Abort failed to stop command ring: -110
[926551.236566] xhci_hcd 0000:00:14.0: xHCI host controller not responding, assume dead
[926551.236577] xhci_hcd 0000:00:14.0: HC died; cleaning up
[926551.236603] xhci_hcd 0000:00:14.0: Timeout while waiting for setup device command

ОК, нашел в интернетах, что нужно сделать: закинуть отмерший адрес сначала в /sys/bus/pci/drivers/xhci_hcd/unbind, а затем — в bind. Чтобы упростить задачу набросал скрипт:
#!/bin/bash

BROKEN=$(dmesg | grep "HC died" | tail -n1| awk '{print $3}' | sed 's/:$//')

echo -n "${BROKEN}" > /sys/bus/pci/drivers/xhci_hcd/unbind 
sleep 2
echo -n "${BROKEN}" > /sys/bus/pci/drivers/xhci_hcd/bind 

Хорошо хоть, клавиатура жива осталась. В прошлый раз пришлось по ssh комп перезагружать (тогда я про эти bind/unbind не знал).

April 2025

S M T W T F S
  1 23 45
67 89101112
13141516171819
20212223242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 12:01 pm
Powered by Dreamwidth Studios