コンテンツにスキップ

「Lenovo ThinkPad X1 Carbon (Gen 6)」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
ページの作成:「Category:Lenovo en:Lenovo ThinkPad X1 Carbon (Gen 6) {{Related articles start}} {{Related|Lenovo ThinkPad X1 Carbon}} {{Related|Lenovo ThinkPad X1 Carbon (Gen 2)}...」
 
同期
13行目: 13行目:
== モデルの説明 ==
== モデルの説明 ==


2018年前期に発売された ultrabook である第6世代の Lenovo ThinkPad X1 Carbon です。複数のモデル ({{ic|20KH*}} と {{ic|20KG*}}) が存在し、14インチディスプレイ・第8世代 Intel Core プロセッサ・内蔵 [[Intel Graphics|Intel UHD 620 グラフィック]]を搭載しています。
第6世代の Lenovo ThinkPad X1 Carbon です。


{{Pkg|dmidecode}} パッケージをインストールして実行することであなたの使っているノートパソコンのバージョンを確認できます:
{{Pkg|dmidecode}} パッケージをインストールして実行することであなたの使っているノートパソコンのバージョンを確認できます:
21行目: 21行目:
Version: ThinkPad X1 Carbon 6th
Version: ThinkPad X1 Carbon 6th
}}
}}

=== サポート ===

{| class="wikitable"
| '''デバイス''' || '''動作''' || '''モジュール'''
|-
| [[Intel Graphics]] || {{Yes}} || i915, (intel_agp)
|-
| [[ワイヤレス設定#iwlwifi|無線ネットワーク]] || {{Yes}} || iwlmvm
|-
| [https://www3.lenovo.com/us/en/accessories-and-monitors/cables-and-adapters/adapters/CABLE-BO-TP-OneLink%2B-to-RJ45-Adapter/p/4X90K06975 付属ドングル] による有線接続 || {{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}} || ?
|}
<nowiki>*</nowiki> [[#トラックポイントとタッチパッドの問題|設定]]が必要です。

<nowiki>**</nowiki> [https://github.com/nmikhailov/Validity90 開発中のドライバー] が存在します。

<nowiki>***</nowiki> Fibocom L850-GL では linux pcie ドライバーが動作しません [https://forums.lenovo.com/t5/Linux-Discussion/X1C-gen-6-Fibocom-L850-GL-Ubuntu-18-04/m-p/4078413]。


== トラブルシューティング ==
== トラブルシューティング ==
28行目: 67行目:


関連する問題について詳しくは https://bbs.archlinux.org/viewtopic.php?id=234913 を参照してください。
関連する問題について詳しくは https://bbs.archlinux.org/viewtopic.php?id=234913 を参照してください。

=== S0i3 スリープのサポート ===
s0i3 スリープのサポートを有効にするには以下の[[カーネルパラメータ]]を追加してください ([https://forums.lenovo.com/t5/Linux-Discussion/X1-Carbon-Gen-6-cannot-enter-deep-sleep-S3-state-aka-Suspend-to/m-p/4016317/highlight/true#M10682 Lenovo フォーラム] を参照):
acpi.ec_no_wakeup=1
{{Note|上記の設定を行うとノートパソコンのフタを開けたときにスリープから復帰しなくなります。}}

また、BIOS から設定するか以下のコマンドを実行して Realtek のメモリーカードリーダー (常に 2-3 W を消費) を無効にする必要があります:
# echo "2-3" | tee /sys/bus/usb/drivers/usb/unbind

=== BIOS の設定 ===
{{ic|Config -> Thunderbolt BIOS Assist Mode - Set to "Enabled"}} と設定してください。無効にした場合、Linux では s2idle で CPU が立ち上がってしまい電力消費量が跳ね上がります。

=== 電源管理・スロットリングの問題 ===
電源管理のレジスタの設定が間違っているために Windows 環境よりも消費電力が大きくなることがあり、温度上昇によるスロットリングが 80°C が発生します (Windows の場合は 97°C になります、[https://www.reddit.com/r/thinkpad/comments/870u0a/t480s_linux_throttling_bug/ T480s throttling bug] を参照)。

[https://forums.lenovo.com/t5/Linux-Discussion/T480s-low-cTDP-and-trip-temperature-in-Linux/td-p/4028489 公式の Lenovo フォーラム] にこのバグについての情報が投稿されています。

Lenovo によって問題が解決されるまで、手動で制限をセットする必要があります。

まず {{aur|msr-tools}} をインストールしてください。

以下の内容で {{ic|/usr/local/bin/cpu-throttling.sh}} ファイルを作成してください (実行可能属性を付与してください):
{{bc|#!/bin/bash

/bin/modprobe msr
wrmsr -a 0x1a2 0x3000000 # which sets the offset to 3 C, so the new trip point is 97 C
}}

それから以下の内容で {{ic|/etc/systemd/system/cpu-throttling.service}} ファイルを作成:
{{bc|[Unit]
Description&#61;set cpu heating limit to 97°c

[Service]
ExecStart&#61;/usr/local/bin/cpu-throttling.sh
RemainAfterExit&#61;no

[Install]
WantedBy&#61;timers.target
}}

また、{{ic|/etc/systemd/system/cpu-throttling.timer}} というタイマーも作成:
{{bc|[Unit]
Description&#61;set cpu heating limit to 97°c every minute

[Timer]
OnActiveSec&#61;60
OnUnitActiveSec&#61;60
Unit&#61;cpu-throttling.service

[Install]
WantedBy&#61;timers.target
}}

作成したらタイマーを有効化してください:
# systemctl enable cpu-throttling.timer

再起動して以下のコマンドで反映されているかチェック:
{{hc|# rdmsr -f 29:24 -d 0x1a2|3}}

=== トラックポイントとタッチパッドの問題 ===
20KG モデルの場合、タッチパッド (Synaptics 製) とトラックポイント (Elantech 製) を両方一緒に動作させるkとができません。タッチパッドを使うには BIOS でトラックポイントを無効化する必要があります。この問題の原因は古い PS/2 ドライバーによるトラックポイントのロードがタッチパッドのロードと干渉することにあります。Synaptics は RMI(4) という新しいロード手法を導入しており、問題が一部解決されています。詳しくは [https://bbs.archlinux.org/viewtopic.php?id=236367 こちらのスレッド] を参照。

対応策としては {{ic|psmouse}} [[カーネルモジュール]]のオプションに {{ic|1=synaptics_intertouch=1}} を追加してください。例えば[[ブートローダー]]のコマンドラインで以下のように設定します:
[...] root=/dev/sda1 rw psmouse.synaptics_intertouch=1 [...]
あるいは {{ic|/etc/modprobe.d/psmouse.conf}} を編集:
options psmouse synaptics_intertouch=1

{{Note|[[TLP]] のデフォルトの省電力設定を使用する場合、タッチパッドのタップクリック機能がときどき動作しなくなったり、サスペンドするとトラックポイントが動かなくなり再初期化が必要になることがあります。}}

動作しないタッチパッドを再接続:
# echo -n "none" | tee /sys/bus/serio/devices/serio1/drvctl
# echo -n "reconnect" | tee /sys/bus/serio/devices/serio1/drvctl

== 参照 ==
* [https://delta-xi.net/#056 A good night's sleep for the Lenovo X1 Carbon Gen6] - ACPI DSDT テーブルにパッチを適用して S3 サポートを追加。
* [https://forums.lenovo.com/t5/Linux-Discussion/X1-Carbon-Gen-6-cannot-enter-deep-sleep-S3-state-aka-Suspend-to/td-p/3998182/highlight/true Lenovo forums: Cannot enter deep sleep S3]
* [https://bbs.archlinux.org/viewtopic.php?id=234913 Thread: No deep sleep] - DSDT のパッチを適用する方法など。
* [https://www.reddit.com/r/thinkpad/comments/870u0a/t480s_linux_throttling_bug/ T480s throttling bug] は X1C6 にも影響します。
* [https://forums.lenovo.com/t5/Linux-Discussion/T480s-low-cTDP-and-trip-temperature-in-Linux/td-p/4028489 Lenovo forums: T480s low cTDP and trip temperature in Linux]
* [https://bbs.archlinux.org/viewtopic.php?id=236367 Thread: TrackPoint/Touchpad issues, 20KG model]
* [https://unix.stackexchange.com/a/431820 StackExchange: Success with enabling RMI4 config flags for Touchpad and TrackPoint]
* [https://patchwork.kernel.org/patch/10324633/ Kernel patch - Input: elantech - add support for SMBus devices]
* [https://patchwork.kernel.org/patch/10330857/ Kernel patch - Input: synaptics - add Lenovo 80 series ids to SMBus]
* [https://www.thinkwiki.org/wiki/Category:X1_Carbon_(6th_Gen) ThinkWiki X1 Carbon 6th Gen ページ]
* 周辺機器のカーネルメンテナである Benjamin Tissoires は [https://www.youtube.com/watch?v=Bl_0xYxcYd8 Tools to debug a broken input device] ([https://www.x.org/wiki/Events/XDC2015/Program/tissoires_input_debug_tools.html スライド]) で入力のバグをどのように修正しているか解説しています。特に16枚目以降のスライドを参照。
* [https://gist.github.com/greigdp/bb70fbc331a0aaf447c2d38eacb85b8f Dell XPS 13 9370 quirks] - 電力使用量を 2W 以下にまで下げる方法が書かれています。Intel グラフィックの省電力設定については [[Intel Graphics#モジュールによる省電力設定|Intel Graphics の省電力設定]]も参照。
* [[Dell XPS 13 (9360)]] - hardware with the X1C6 とハードウェアを一部共有しています。
* [https://01.org/blogs/rzhang/2015/best-practice-debug-linux-suspend/hibernate-issues Intel Blog: Best practice to debug Linux* suspend/hibernate issues] - サスペンド時の電力消費を解析する [https://github.com/01org/pm-graph pm-graph] ツールなど。

2018年6月3日 (日) 20:07時点における版

ヒント ThinkPad の資料は https://www.thinkwiki.org/wiki/ThinkWiki にまとまっています。

モデルの説明

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
ノート TLP のデフォルトの省電力設定を使用する場合、タッチパッドのタップクリック機能がときどき動作しなくなったり、サスペンドするとトラックポイントが動かなくなり再初期化が必要になることがあります。

動作しないタッチパッドを再接続:

# echo -n "none" | tee /sys/bus/serio/devices/serio1/drvctl
# echo -n "reconnect" | tee /sys/bus/serio/devices/serio1/drvctl

参照