Thunderbolt (Polski)

From ArchWiki

Thunderbolt 3 działa od razu z najnowszymi wersjami jądra Linux [1]. Kernel Linux, zaczynając od wersji 4.13, wspiera również Thunderbolt Security.

Aktualizacje oprogramowania układowego

Producenci często wypuszczają aktualizacje oprogramowania układowego dla portów i urządzeń Thunderbolt, aby te działały poprawnie. Więcej informacji można znaleźć na https://thunderbolttechnology.net/updates.

Note: Niektórzy producenci używają fwupd do przesyłania aktualizacji firmware'u na Linuxa.

Autoryzacja urządzeń użytkownika

Nowoczesne urządzenia Thunderbolt implementują tryby bezpieczeństwa, które wymagają autoryzacji użytkownika podczas podłączania urządzeń - ma to na celu ochronę przed złośliwymi urządzeniami wykonującymi ataki DMA lub w inny sposób ingerującymi w sprzęt (patrz Thunderstrike 2).

Aktualnie obsługiwanymi trybami na Linuxie są:

  • none - Brak zabezpieczeń, wszystkie urządzenia są domyślnie połączone i inicjalizowane. W ustawieniach BIOSu jest to zazwyczaj nazwane Legacy mode.
  • user - Wymagana jest autoryzacja przez użytkownika za każdym razem, gdy urządzenie zostaje podłączone. W ustawieniach BIOSu to ustawienie jest zazwyczaj nazywane Unique ID.
  • secure - Wymagana jst autoryzacja użytkownika, ale urządzenie zostaje zapamiętane i nie wymaga ponownej autoryzacji. W ustawieniach BIOSu to ustawienie jest zazwyczaj nazywane One time saved key.
  • dponly - Thunderbolt działa tylko na DisplayPort, wszystkie inne urządzenia nie są autoryzowane. W ustawieniach BIOSu tryb ten zazwyczaj nazywa się Display Port Only.

Poziom bezpieczeństwa jest normalnie konfigurowany na poziome oprogramowania układowego; zalecane jest, aby ustawić ten poziom na przynajmniej secure. Stan tego ustawienia może być odczytany za pomocą:

$ cat /sys/bus/thunderbolt/devices/domain0/security
Tip: Programy do autoryzacji w przestrzeni użytkownika są dostępne jako pakiety bolt lub tbtAUR.

Interfejsy graficzne

Automatyczne podłączanie urządzeń

Użytkownicy, którzy chcą po prostu podłączyć dowolne urządzenie bez jakiejkolwiek ręcznej pracy, mogą utworzyć regułę udev jak w 99-removable.rules:

/etc/udev/rules.d/99-removable.rules
ACTION=="add", SUBSYSTEM=="thunderbolt", ATTR{authorized}=="0", ATTR{authorized}="1"

Wymuszanie zasilania

Wielu producentów OEM zawiera metodę, której można użyć do wymuszenia włączenia zasilania kontrolera Thunderbolt. Jeśli jest to obsługiwane przez maszynę, zostanie to ujawnione przez magistralę WMI z atrybutem sysfs o nazwie force_power [2].

Wymuszenie zasilania może być szczególnie przydatne, gdy podłączone urządzenie utraci połączenie lub kontroler sam się wyłączy.

Aby wymusić włączenie/wyłączenie zasilania, wpisz 1 lub 0 do tego atrybutu, np. wymuś zasilanie:

# echo 1 > /sys/bus/wmi/devices/86CCFD48-205E-4A77-9C48-2021CBEDE341/force_power
Note: Nie jest możliwe sprawdzenie aktualnego stanu force_power.

Rozwiązywanie problemów

Magistrale PCI nie są zarejestrowane

Czasami podczas podłączania urządzenia Thunderbolt magistrale PCI mogą nie zostać zarejestrowane. Objawia się to działającymi ekranami, podczas gdy urządzenia USB nie rejestrują się na komputerze. Można to rozwiązać poprzez ponowne skanowanie PCI:

# echo 1 > /sys/bus/pci/rescan

Zwiększenie rozmiaru magistrali hot-plug i pamięci

Niektóre BIOS-y mogą zgłaszać zbyt mały rozmiar magistrali i pamięci do jądra, co powoduje, że sterowniki nie ładują się. Dodaj poniższe polecenie do wiersza poleceń jądra, aby ręcznie ustawić rozmiar.

pci=hpbussize=0x33,hpmemsize=256M

See also