Thunderbolt hotplugging в ubuntu linux

У меня есть dell precision m3800 и док owc thunderbolt 2, они оба прекрасно работают вместе, и все, кажется, просто работает. Я еще не пробовал firewire, но ethernet , usb3, displayport и звук отлично работают из коробки.

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

Ive попытался найти пакеты и информацию о поддержке thunderbolt в linux и нашел только блог Грега кха о том, что он будет просто работать. но не говоря уже об инструментах.

Я не нашел никаких пакетов, связанных с thunderbolt в репозиториях ubuntu для моей установки 15.10.

есть ли инструменты или узлы /proc или /sys, которые я мог бы использовать для этого ?

12
задан Amias
27.01.2023 11:14 Количество просмотров материала 2655
Распечатать страницу

2 ответа

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 в эти дни, так что, пожалуйста, прости меня, если я от метки на что-нибудь здесь.

3
отвечен Mahmoud Al-Qudsi 2023-01-28 19:02

Кажется, что если вы lspci-vt вы получите древовидную диаграмму, что делает его намного легче обнаружить контроллер thunderbolt.

heres мой вывод

amias@rome:~$ lspci -vt

-[0000:00]-+-00.0  Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller
       +-01.0-[02-03]----00.0  NVIDIA Corporation GK107GLM [Quadro K1100M]
       +-02.0  Intel Corporation 4th Gen Core Processor Integrated Graphics Controller
       +-03.0  Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller
       +-04.0  Intel Corporation Device 0c03
       +-14.0  Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI
       +-16.0  Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1
       +-1a.0  Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2
       +-1b.0  Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller
       +-1c.0-[04]--
       +-1c.2-[06]----00.0  Intel Corporation Wireless 7260
       +-1c.3-[07]----00.0  Realtek Semiconductor Co., Ltd. RTS5249 PCI Express Card Reader
       +-1c.4-[08-40]----00.0-[09-40]--+-00.0-[0a]----00.0  Intel Corporation Device 157d
       |                               \-01.0-[0b-40]----00.0-[0c-40]--+-00.0-[0d]----00.0  Fresco Logic FL1100 USB 3.0 Host Controller
       |                                                               +-01.0-[0e]----00.0  Intel Corporation I210 Gigabit Network Connection
       |                                                               +-02.0-[0f]----00.0  Fresco Logic FL1100 USB 3.0 Host Controller
       |                                                               +-03.0-[10]----00.0  LSI Corporation FW643 [TrueFire] PCIe 1394b Controller
       |                                                               +-04.0-[11]--
       |                                                               \-05.0-[12-40]--
       +-1d.0  Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1
       +-1f.0  Intel Corporation HM87 Express LPC Controller
       +-1f.2  Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode]
       +-1f.3  Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller
       \-1f.6  Intel Corporation 8 Series Chipset Family Thermal Management Controller

Это позволило мне найти 1С.4 который, кажется, мой контроллер thunderbolt.

затем я использовал предложение Махмуда, чтобы ударить удалить узел, это, кажется, отключить мой док thunderbolt чисто, однако, когда я повторно его заблокирован трудно. Это говорит о том, что другие водители не так довольны или мне нужно будет перезагрузить устройство thunderbolt.

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

2
отвечен Amias 2023-01-28 21:19

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх