Thunderbolt ist im Grunde ein PCIe-Bus, der in Form einer benutzerfreundlichen, steckbaren Schnittstelle verfügbar ist. Wie Sie sich vorstellen können, ist das Hot-Plug-In einer PCIe-Karte in einem beliebigen Rechner nicht unbedingt ein Problem ohne Konsequenzen - es sei denn, die Hersteller der Host- und Wechselmediengeräte sowie die Entwickler des Mainboards haben äußerste Sorgfalt angewandt Firmware, Gerätefirmware, Betriebssystemkernel und Gerätetreiber.
Das heißt, es gibt eine riesige Oberfläche von potenziellen Fehlern und Problemen, die verhindern würden, dass dieser Hot-Plug so funktioniert, wie wir es uns gewünscht hätten. Meine Empfehlung wäre, einen Debug-Kernel zu verwenden und zu versuchen, in den Debugger einzudringen, wenn er einfriert. Wenn Sie können, ist dies wahrscheinlich kein Hardware- oder Firmware-Problem. Anweisungen dazu liegen wahrscheinlich etwas außerhalb des Rahmens der Frage oder meiner Antwort hier, aber online stehen Ressourcen zur Verfügung, die dies etwas erleichtern.
Wenn Sie nun ein Mittel wünschen, mit dem Sie das Gerät vor dem Ziehen manuell auswerfen können, können Sie Folgendes versuchen:
Nach der Identifizierung der lspci
Geräteadresse im System in der Befehlsausgabe, wobei DDDD: BB: DD.F die Domäne: Bus: Device.Funktion des betreffenden Thunderbolt-Peripheriegeräts ist:
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]
Sie können Folgendes ausführen:
echo "1" | sudo tee /sys/bus/pci/devices/DDDD\:BB\:DD.F/remove > /dev/null
Welches sollte die Entladeroutinen im Kernel und den Treiber (und möglicherweise sogar in der Gerätefirmware) auslösen, wonach Sie es möglicherweise sicherer auswerfen können. (A grep
in einer Subshell kann natürlich die Stelle von DDDD: BB: DD.F für eine zukünftige Benutzerfreundlichkeit annehmen).
Beim erneuten Einstecken des Geräts kann es erforderlich sein, den Scan erneut manuell durchzuführen:
echo "1" | sudo tee /sys/bus/pci/rescan > /dev/null
(Oder es wird nicht benötigt.)
Ich habe Linux seit einiger Zeit nicht mehr verwendet, da ich in diesen Tagen fast ausschließlich FreeBSD und OS X bin. Vergib mir bitte, wenn ich hier irgendetwas falsch finde.