Lenovo ThinkPad ドックのLinux サポート
Lenovo ThinkPad ドックのLinux サポート
Lenovo ThinkPad ドックのLinux サポート
内容
さまざまなLinuxプラットフォームでテストされた各種Lenovo ThinkPad ドックについて、以下の情報を案内します。
- 既知の問題
- 対応する回避策
- 解決策
対象機種
- ThinkPad Thunderbolt 4 ワークステーション・ドック (40B0)
- ThinkPad ユニバーサル Thunderbolt 4 ドック (40B0)
- ThinkPad Universal Thunderbolt 4 Smart Dock (40B1)(英語)
- ThinkPad ハイブリッド USB Type-C/Type-A ドック (40AF)
メモ:
- テストは5.14 OEM カーネル以降を搭載したUbuntu 20.04を使用して実行されました。
- Ubuntu 22.04 および 6.1 以降のカーネルを推奨します。
- AMDプラットフォームでは、2023 年にカーネルにThunderbolt ドックのサポートが追加されており、動作する予定です。Lenovoではテストされていません。
- ThinkPad ハイブリッド USB Type-C/Type-A ドック (40AF) は、2022年と2023年にIntelと AMDの両方のプラットフォームでテストされました。
既知の問題
サスペンド後にディスプレイが動作しない
Ubuntu 20.04および5.14カーネルでは、サスペンド/復帰または休止状態で外部ディスプレイが動作しない一時的な問題が見られました。 Ubuntu 22.04および6.1カーネルに更新すると、この問題は解決します。
ドックへの接続時、ディスプレイが動作するまで15秒以上かかる
システムをドックに接続し外部ディスプレイが動作し始めるまで、15~30秒かかることがあります。これはi915グラフィックスドライバーの設計上の制限です。ドライバーのfastbootオプションを有効します。これを行うには: options i915 fastboot=1
を /etc/modprobe.d/i915.conf
に追加します。
デイジーチェーンモードの3台のモニターが表示されない
デイジーチェーンモードで3台のモニターを接続した場合、ディスプレイが動作しない場合があります。
ドックステーションは、すべてのドックポート情報を単一チャネルで共有するMSTプロトコルを使用し、FBC (フレームバッファ圧縮) やPSR (パネルセルフリフレッシュ) などの省エネ機能の使用は、プロセッサリソースにアクセスするための通信を妨げます。これによりドックに接続されている画面の画像が失われます。この問題を解決するには: options i915 enable_fbc=0 enable_psr=0
を /etc/modproc.d/i915.conf
に追加します。
電源ボタンが電源オフに設定されている場合、ドックの電源ボタンを押してもシステムはシャットダウンしない
電源ボタンが押され、電源オフに設定されていると、すぐに電源をオフにするのではなく、ユーザーの操作による電源オフの確認を待つダイアログボックスが表示されます。
これは予期されたデフォルトの動作です。
確認のダイアログボックスを表示させないようにするには: gsettings set org.gnome.SessionManager logout-prompt false
を実行します。
MACアドレスパススルーが動作しない
BIOSでMACパススルーモードが有効になっている場合、オペレーティングシステムで正しいMACが使用される必要があります。
r8152ドライバーを使用する非Intel vProプラットフォームの場合
これは古いカーネルでは既知の問題であり、カーネル5.19以降を使用する必要があります。
その他のネットワークドライバーの場合
Linuxカーネルの管理者は、MACパススルーはユーザー空間に実装されるべきであるという主張により、これ以上の修正を拒否しています。将来的には、新しいプラットフォームでは新しい実装を使用する必要があります。
カーネル6.7から、sysfs
インターフェースが利用可能です: /sys/devices/platform/thinkpad_acpi/auxmac
ユーザースペースは、BIOSで有効になっている場合、これを使用して目的のMACアドレスを取得できます。udev
ルールを実装してパススルー MACを設定できます。
以下で /etc/udev/rules.d/99-mapt.rules
を作成します:
SUBSYSTEMS=="pci", DRIVERS=="igc", ATTRS{vendor}=="0x8086", RUN+="/etc/udev/rules.d/mapt_script.sh %k"
以下で /etc/udev/rules.d/mapt_script.sh
を作成します:
#!/bin/bash
#Extract the mac address of mapt
#cat /sys/firmware/acpi/tables/DSDT > /tmp/dsdt.dat && iasl -va -d /tmp/dsdt.dat macaddr=$(cat /sys/devices/platform/thinkpad_acpi/auxmac | sed 's/\(..\)/\1:/g; s/:$//' | tr '[:upper:]' '[:lower:]') #Verify if exist a tbt4 dock plugged istbt4=$(lspci -mm | grep -E "Intel Corporation.*0b26" | wc -l)
#Get the name of the interface interface=$1
#If it have a tbt4 dock and if macaddr is not empty (cause empty means mapt is not enable in bios), change the dock mac addr if [ "$istbt4" -gt 0 ] && [ -n "$macaddr" ]; then ip link set dev $interface address $macaddr fi
ドックへの接続/切断時にシステムが起動する
サスペンド中にドックをホストに接続または切断すると、システムは自動的に起動します。
これはモダンスタンバイ (S0ix) のスリープが原因です。接続または切断が発生すると、OSが起動します。違いは、Windowsがこのイベントを処理し、画面をオンにすることなくすぐにスリープ状態に戻ることです。
この機能は Linux では使用できませんが、以下のソリューションを使用してシミュレーションできます。
pm-utils
パッケージをインストールし、このスクリプトを /lib/systemd /system-sleep
に追加して、実行可能であることを確認します。
ThinkPad L15 Gen 3のIntelでDisplayPortまたはThunderboltのリフレッシュレートを60Hzに設定できない
これはBIOSをバージョン1.26以降にアップデートすることで修正されます。
DisplayLinkの外部ディスプレイが動作しない
DisplayLink搭載モニターが動作しない場合、Out-Of-TreeのDisplayLink ドライバーが必要になる場合があります。 参照先: Synaptics - Ubuntu Driver Download(英語)
Synapticsから synaptics-repository-keyring.deb
をダウンロードして実行します:
sudo apt install synaptics-repository-keyring.deb
sudo apt update
sudo apt install displaylink-driver
システムを再起動します。
Realtek NICでNICパラメータを構成できない
デフォルトのアップストリームドライバーは、速度、オートネグ、フロー制御、およびその他のパラメータの変更をサポートしていません。 変更が必要な場合は、Out-Of-Treeのドライバーが必要です:
git clone https://github.com/wget/realtek-r8152-linux
cd realtek-r8152-linux
sudo make all
initramfsの更新が必要な場合があります。Ubuntuの場合:
sudo depmod -a
sudo update-initramfs -u
Thunderbolt 4ドックでWake-on-LAN機能が動作しない
サスペンドまたは電源オフの場合、WOLマジックパケットが期待どおりにホストを再開しません。
サスペンド時、Intel vPROシステムのみが影響を受けます。これは、ドックでIntelネットワークインターフェイスを使用しているためです。
回避策の1つは、BIOSでAMTを無効にすることで、これによりシステムは正常に動作するRealtek NICインターフェイスを使用するようになります。
ドックのファームウェアを1.0.16にアップデートすると、この問題も解決しますが、MACパススルーは無効にする必要があります。
システムの電源がオフ (S5) になっている場合、Intel vProベースのプラットフォームにはドックファームウェア1.0.16が必要です。非Intel vProの場合は、ツリー外のRealtekドライバーが必要です。これは次から取得できます: [github] realtek-r8152-linux(英語) バージョン2.17.1以降が必要です。
ドライバーのビルド方法については、上記「Realtek NICでNICパラメータを構成できない」の情報を参照してください。 ただし、make all コマンドを実行する前に、Makefileを編集し、EXTRA_CFLAGS += -DRTL8152_S5_WOL
のコメントを解除してください。
シングルモードは、2台以上の外部モニターでは動作しません。
これはUbuntuの制限です。シングルモードでは、接続できる外部モニターは1台だけです。