Thunderbolt-это в основном шина PCIe, представленная в виде удобного, подключаемого интерфейса. Как вы можете себе представить, горячее подключение карты PCIe в любой машине-это не то, что вы можете ожидать, чтобы последовательно делать без проблем, если только производители хоста и съемных устройств, а также разработчики прошивки материнской платы, прошивки устройства, ядра ОС и драйверов устройств не проявили особой осторожности.
все, что нужно сказать, есть огромный поверхностная область потенциальных ошибок и проблем, которые помешали бы этому горячему плагину работать так, как мы этого хотим. Я бы рекомендовал использовать отладочное ядро и пытаться взломать отладчик, когда он зависает - если вы можете, то это, вероятно, не проблема с оборудованием или прошивкой. Инструкции по выполнению этого, вероятно, немного выходят за рамки вопроса или моего ответа здесь, но ресурсы доступны в интернете, что делает это немного проще.
теперь, если вы хотите с помощью которой вы может вручную извлечь устройство перед тем, как дергать его, вы можете попробовать следующее:
после идентификации адреса устройства в системе на выходе lspci
команда, где DDDD: BB: DD.F-это Домен: Bus: Устройство.Функция "Тандерболта" второстепенно вопрос:
05:00.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Port [Cactus Ridge] (rev 03)
06:00.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Port [Cactus Ridge] (rev 03)
06:03.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Port [Cactus Ridge] (rev 03)
06:04.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Port [Cactus Ridge] (rev 03)
06:05.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Port [Cactus Ridge] (rev 03)
06:06.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Port [Cactus Ridge] (rev 03)
07:00.0 System peripheral: Intel Corporation DSL3510 Thunderbolt Port [Cactus Ridge] (rev 03)
08:00.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Controller [Cactus Ridge]
09:00.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Controller [Cactus Ridge]
вы можете выполнить следующее:
echo "1" | sudo tee /sys/bus/pci/devices/DDDD\:BB\:DD.F/remove > /dev/null
, который должны запуск процедур выгрузки в ядре и драйвере (и, возможно, даже в прошивке устройства), после чего вы сможете извлечь его более безопасно. (A grep
в субшелле, очевидно, может занять место DDDD: BB: DD.F для простоты использования в будущем).
при повторном подключении устройства может потребоваться повторное сканирование вручную:
echo "1" | sudo tee /sys/bus/pci/rescan > /dev/null
(или оно не могло быть необходимо.)
Я не использовал Linux в то время, как я почти исключительно FreeBSD и OS X в эти дни, так что, пожалуйста, прости меня, если я от метки на что-нибудь здесь.