Lenovo ThinkPad X1 Carbon (Gen 6)
関連記事
目次
モデルの説明
2018年前期に発売された ultrabook である第6世代の Lenovo ThinkPad X1 Carbon です。複数のモデル (20KH*
と 20KG*
) が存在し、14インチディスプレイ・第8世代 Intel Core プロセッサ・内蔵 Intel UHD 620 グラフィックを搭載しています。
dmidecode パッケージをインストールして実行することであなたの使っているノートパソコンのバージョンを確認できます:
# dmidecode -t system | grep Version Version: ThinkPad X1 Carbon 6th
サポート
デバイス | 動作 | モジュール |
Intel Graphics | Yes | i915, (intel_agp) |
無線ネットワーク | Yes | iwlmvm |
付属ドングル による有線接続 | Yes | ? |
モバイルブロードバンド | No*** | ? |
Audio | Yes | snd_hda_intel |
タッチパッド | Yes* | psmouse, rmi_smbus, i2c_i801 |
トラックポイント | Yes | psmouse, rmi_smbus, i2c_i801 |
カメラ | Yes | uvcvideo |
指紋リーダー | No** | ? |
電源管理 | Yes | ? |
Bluetooth | Yes | btusb |
microSD カードリーダー | Yes | scsi_mod |
キーボードバックライト | Yes | ? |
ファンクション/マルチメディアキー | Yes | ? |
* 設定が必要です。
** 開発中のドライバー が存在します。
*** Fibocom L850-GL では linux pcie ドライバーが動作しません [1]。
トラブルシューティング
サスペンド (S3) がデフォルトで使用できない
第6世代の X1 Carbon は S0i3 (別名 Windows モダンスタンバイ) をサポートしていますが、S3 スリープステートはサポートしていません。S3 のサポートを追加するために ACPI DSDT テーブルにパッチを適用する方法は https://delta-xi.net/#056 を見てください。
関連する問題について詳しくは https://bbs.archlinux.org/viewtopic.php?id=234913 を参照してください。
S0i3 スリープのサポート
s0i3 スリープのサポートを有効にするには以下のカーネルパラメータを追加してください (Lenovo フォーラム を参照):
acpi.ec_no_wakeup=1
また、BIOS から設定するか以下のコマンドを実行して Realtek のメモリーカードリーダー (常に 2-3 W を消費) を無効にする必要があります:
# echo "2-3" | tee /sys/bus/usb/drivers/usb/unbind
BIOS の設定
Config -> Thunderbolt BIOS Assist Mode - Set to "Enabled"
と設定してください。無効にした場合、Linux では s2idle で CPU が立ち上がってしまい電力消費量が跳ね上がります。
電源管理・スロットリングの問題
電源管理のレジスタの設定が間違っているために Windows 環境よりも消費電力が大きくなることがあり、温度上昇によるスロットリングが 80°C が発生します (Windows の場合は 97°C になります、T480s throttling bug を参照)。
公式の Lenovo フォーラム にこのバグについての情報が投稿されています。
Lenovo によって問題が解決されるまで、手動で制限をセットする必要があります。
まず msr-toolsAUR をインストールしてください。
以下の内容で /usr/local/bin/cpu-throttling.sh
ファイルを作成してください (実行可能属性を付与してください):
#!/bin/bash /bin/modprobe msr wrmsr -a 0x1a2 0x3000000 # which sets the offset to 3 C, so the new trip point is 97 C
それから以下の内容で /etc/systemd/system/cpu-throttling.service
ファイルを作成:
[Unit] Description=set cpu heating limit to 97°c [Service] ExecStart=/usr/local/bin/cpu-throttling.sh RemainAfterExit=no [Install] WantedBy=timers.target
また、/etc/systemd/system/cpu-throttling.timer
というタイマーも作成:
[Unit] Description=set cpu heating limit to 97°c every minute [Timer] OnActiveSec=60 OnUnitActiveSec=60 Unit=cpu-throttling.service [Install] WantedBy=timers.target
作成したらタイマーを有効化してください:
# systemctl enable cpu-throttling.timer
再起動して以下のコマンドで反映されているかチェック:
# rdmsr -f 29:24 -d 0x1a2
3
トラックポイントとタッチパッドの問題
20KG モデルの場合、タッチパッド (Synaptics 製) とトラックポイント (Elantech 製) を両方一緒に動作させるkとができません。タッチパッドを使うには BIOS でトラックポイントを無効化する必要があります。この問題の原因は古い PS/2 ドライバーによるトラックポイントのロードがタッチパッドのロードと干渉することにあります。Synaptics は RMI(4) という新しいロード手法を導入しており、問題が一部解決されています。詳しくは こちらのスレッド を参照。
対応策としては psmouse
カーネルモジュールのオプションに synaptics_intertouch=1
を追加してください。例えばブートローダーのコマンドラインで以下のように設定します:
[...] root=/dev/sda1 rw psmouse.synaptics_intertouch=1 [...]
あるいは /etc/modprobe.d/psmouse.conf
を編集:
options psmouse synaptics_intertouch=1
動作しないタッチパッドを再接続:
# echo -n "none" | tee /sys/bus/serio/devices/serio1/drvctl # echo -n "reconnect" | tee /sys/bus/serio/devices/serio1/drvctl
参照
- A good night's sleep for the Lenovo X1 Carbon Gen6 - ACPI DSDT テーブルにパッチを適用して S3 サポートを追加。
- Lenovo forums: Cannot enter deep sleep S3
- Thread: No deep sleep - DSDT のパッチを適用する方法など。
- T480s throttling bug は X1C6 にも影響します。
- Lenovo forums: T480s low cTDP and trip temperature in Linux
- Thread: TrackPoint/Touchpad issues, 20KG model
- StackExchange: Success with enabling RMI4 config flags for Touchpad and TrackPoint
- Kernel patch - Input: elantech - add support for SMBus devices
- Kernel patch - Input: synaptics - add Lenovo 80 series ids to SMBus
- ThinkWiki X1 Carbon 6th Gen ページ
- 周辺機器のカーネルメンテナである Benjamin Tissoires は Tools to debug a broken input device (スライド) で入力のバグをどのように修正しているか解説しています。特に16枚目以降のスライドを参照。
- Dell XPS 13 9370 quirks - 電力使用量を 2W 以下にまで下げる方法が書かれています。Intel グラフィックの省電力設定については Intel Graphics の省電力設定も参照。
- Dell XPS 13 (9360) - hardware with the X1C6 とハードウェアを一部共有しています。
- Intel Blog: Best practice to debug Linux* suspend/hibernate issues - サスペンド時の電力消費を解析する pm-graph ツールなど。