Thunderbolt

提供: ArchWiki
2023年8月25日 (金) 13:20時点におけるAshMyzk (トーク | 投稿記録)による版 (同期)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

関連記事

最近のバージョンの Linux カーネルでは特に設定をしなくても Thunderbolt 3 が動作します [1]。バージョン 4.13 から Linux カーネルは Thunderbolt Security もサポートしています。

ファームウェアのアップデートの取得

Thunderbolt 端子とデバイスを正しく動作させるためのファームウェアアップデートがメーカーによって頻繁にリリースされています。特定のベンダーのアップデートを得るための方法については https://thunderbolttechnology.net/updates を見てください。

ノート: メーカーによっては fwupd を使って Linux でファームウェアアップデートを配布しています。

ユーザーデバイス認証

最近の Thunderbolt デバイスはセキュリティモードを実装しており、デバイスの接続時にユーザー認証を必要とします。悪意のあるデバイスが DMA 攻撃を実行したりハードウェアに干渉するのを防ぐための機能です (Thunderstrike 2 を参照)。

Linux では現在以下のモードがサポートされています:

  • none - セキュリティなし。デフォルトで全てのデバイスが接続・初期化されます。BIOS の設定では大抵 Legacy mode と表記されます。
  • user - デバイスが接続されるたびにユーザー認証が必要です。BIOS の設定では大抵 Unique ID と表記されます。
  • secure - ユーザー認証が必要ですが、一度認証されるとそのデバイスが記憶され、その後は再認証が不要となります。BIOS の設定では大抵 One time saved key と表記されます。
  • dponly - DisplayPort 機能のみが許可され、他のデバイスは許可されません。BIOS の設定では大抵 Display Port Only と表記されます。

セキュリティレベルは基本的にファームウェアで設定します。secure 以上に設定することが推奨されています。

ヒント: ユーザースペースツールの bolttbtAUR を使ってデバイスを認証できます。

グラフィカルフロントエンド

  • GNOME ではバージョン 3.30 から UI でデバイスを認証するためのネイティブなサポートが追加されました。
  • Plasma 統合はこの git リポジトリplasma-thunderbolt パッケージで入手できます。

自動的に全てのデバイスを接続

手動で設定せずに全てのデバイスに接続したい場合、以下のような 99-removable.rules udev ルールを作成してください:

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

電源を強制する

多くの OEM 製品には、Thunderbolt コントローラの電源を強制的にオン状態にすることのできる方法があります。マシンによってサポートされているならば、WMI バスによって force_power という名前の sysfs 属性でこの機能が公開されます [2]

電源の強制は、接続済みのデバイスの接続が失われる場合や、コントローラが自身をオフにしてしまう場合に特に便利です。

電源を強制的にオン/オフにするには、1 か 0 を属性に書き込んでください。例えば、強制的にオンにするには:

# echo 1 > /sys/bus/wmi/devices/86CCFD48-205E-4A77-9C48-2021CBEDE341/force_power
ノート: 現在の force_power の状態をクエリすることは不可能です。

トラブルシューティング

PCI のバスが登録されない

Thunderbolt デバイスに接続する際に、PCI バスが登録されないことがあります。これは、スクリーンは機能しているのに、USB デバイスがコンピュータに登録できないといった症状で発見できます。この問題は PCI の再スキャンを発行することで解決できます:

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

ホットプラグなバスのサイズとメモリを増やす

一部の BIOS はバスのサイズとメモリを過剰に小さくカーネルに報告する可能性があり、これによってドライバのロードに失敗してしまいます。サイズを手動で設定するには、以下をカーネルコマンドラインに追加してください:

pci=hpbussize=0x33,hpmemsize=256M

参照

翻訳ステータス: このページは en:Thunderbolt の翻訳バージョンです。最後の翻訳日は 2023-08-25 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。