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 не знал).

October 2025

S M T W T F S
   1234
567 89 1011
121314 15161718
19202122232425
2627 28293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 25th, 2026 01:05 am
Powered by Dreamwidth Studios