「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)}...」)
 
 
(4人の利用者による、間の9版が非表示)
10行目: 10行目:
   
 
{{tip|ThinkPad の資料は https://www.thinkwiki.org/wiki/ThinkWiki にまとまっています。}}
 
{{tip|ThinkPad の資料は https://www.thinkwiki.org/wiki/ThinkWiki にまとまっています。}}
  +
  +
{| class="wikitable" style="float: right; clear: right; margin: 0 0 0.5em 0.5em; max-width: 420px; width: 100%;"
  +
| '''デバイス''' || '''動作''' || '''モジュール'''
  +
|-
  +
| [[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}} || ?
  +
|-
  +
| [[ThinkPad モバイルインターネット|モバイルブロードバンド]] Fibocom L850-GL || {{Yes}}¹ || xmm7360-pci
  +
|-
  +
| [[ThinkPad モバイルインターネット|モバイルブロードバンド]] Sierra EM7455 || {{Yes}} || cdc_mbim, cdc_wcm, cdc_ncm
  +
|-
  +
| [[サウンドシステム|オーディオ]] || {{Yes}} || snd_hda_intel
  +
|-
  +
| [[タッチパッド]] || {{Yes}} || psmouse, rmi_smbus, i2c_i801
  +
|-
  +
| [[トラックポイント]] || {{Yes}} || psmouse, rmi_smbus, i2c_i801
  +
|-
  +
| [[ウェブカメラ設定|カメラ]] || {{Yes}} || uvcvideo
  +
|-
  +
| 指紋リーダー || {{No}}² || ?
  +
|-
  +
| [[電源管理]] || {{Yes}}³ || ?
  +
|-
  +
| [[Bluetooth]] || {{Yes}}⁴ || btusb
  +
|-
  +
| NFC || {{No}}⁶ || ?
  +
|-
  +
| microSD カードリーダー || {{Yes}} || scsi_mod
  +
|-
  +
| キーボードバックライト || {{Yes}} || thinkpad_acpi
  +
|-
  +
| ファンクション/マルチメディアキー || {{Yes}} || ?
  +
|-
  +
| Thunderbolt 3 eGPU || {{Yes}}⁵ || nvidia
  +
|-
  +
| colspan=3 style="font-size: 70%; border: none;" | <ol><li>開発途上の [https://github.com/xmm7360/xmm7360-pci xmm7360-pci] カーネルモジュールを用います。[https://forums.lenovo.com/t5/Other-Linux-Discussions/WWAN-Fibocom-L850-GL-and-Linux-support/td-p/4318903 このスレッド]を参照してください。</li>
  +
<li>[https://github.com/nmikhailov/Validity90 The Validity90 project]によりリバースエンジニアリングが行なわれていますが、スキャンが動作しません。(06cb:009a)</li>
  +
<li>S3 モードでのサスペンドには BIOS の設定変更が必要です。<!-- see section on [[#Suspend_issues|suspend issues]]. --> </li>
  +
<li>信頼性向上について[https://200ok.ch/posts/2018-12-17_making_bluetooth_work_on_lenovo_x1_carbon_6th_gen_with_linux.html このブログ記事]を参照。</li>
  +
<li>内蔵ディスプレイのアクセラレーションには対応されていないようです。</li>
  +
<li>I2C バスを通じ接続されており、[https://github.com/nfc-tools/libnfc/issues/455 libnfc project] で議論が行なわれています。</li>
  +
|}
   
 
== モデルの説明 ==
 
== モデルの説明 ==
   
  +
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行目: 66行目:
 
Version: ThinkPad X1 Carbon 6th
 
Version: ThinkPad X1 Carbon 6th
 
}}
 
}}
  +
  +
== モバイルブロードバンド ==
  +
  +
この機種には Fibocom L850-GL LTE モデムが搭載されていますが、Linux 環境ではサポートされず公式サポート提供予定はないようです。
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==
  +
  +
=== 内蔵スピーカーの音量が小さい ===
  +
  +
内蔵スピーカーの音量が、100パーセントに設定しても20パーセント程度しか出ない場合、{{ic|/etc/modprobe.d/alsa-base.conf}} を編集し、次のパラメータを {{ic|snd_hda_intel}} モジュールに加えてみてください:
  +
  +
options snd-hda-intel model=nofixup
  +
  +
{{Note|この設定を行うとマイクミュートボタンとミュート状態の LED が機能しません。}}
   
 
===サスペンド (S3) がデフォルトで使用できない===
 
===サスペンド (S3) がデフォルトで使用できない===
28行目: 85行目:
   
 
関連する問題について詳しくは 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 によって問題が解決されるまで、手動で制限をセットする必要があります。
  +
  +
==== 自動設定 ====
  +
  +
サーマルスロットリングの設定を修正するため [https://github.com/erpalma/throttled throttled] が開発されています。それを使いこの問題を修正する自動化パッケージが作成されています。
  +
  +
{{Note|{{Pkg|throttled}} がインストールされている場合、次のパッケージとは衝突します。}}
  +
{{AUR|lenovo-throttling-fix-git}}{{Broken package link|パッケージが存在しません}} を[[インストール]]して、{{ic|lenovo_fix.service}} を[[起動]]・[[有効化]]してください。
  +
  +
==== 手動設定 ====
  +
  +
まず {{Pkg|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 製) を両方一緒に動作させることができません。タッチパッドを使うには 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] ツールなど。

2020年10月17日 (土) 15:04時点における最新版

関連記事

ヒント: ThinkPad の資料は https://www.thinkwiki.org/wiki/ThinkWiki にまとまっています。
デバイス 動作 モジュール
Intel Graphics Yes i915, (intel_agp)
ワイヤレスネットワーク Yes iwlmvm
付属ドングルによる有線接続 Yes ?
モバイルブロードバンド Fibocom L850-GL Yes¹ xmm7360-pci
モバイルブロードバンド Sierra EM7455 Yes cdc_mbim, cdc_wcm, cdc_ncm
オーディオ Yes snd_hda_intel
タッチパッド Yes psmouse, rmi_smbus, i2c_i801
トラックポイント Yes psmouse, rmi_smbus, i2c_i801
カメラ Yes uvcvideo
指紋リーダー No² ?
電源管理 Yes³ ?
Bluetooth Yes⁴ btusb
NFC No⁶ ?
microSD カードリーダー Yes scsi_mod
キーボードバックライト Yes thinkpad_acpi
ファンクション/マルチメディアキー Yes ?
Thunderbolt 3 eGPU Yes⁵ nvidia
  1. 開発途上の xmm7360-pci カーネルモジュールを用います。このスレッドを参照してください。
  2. The Validity90 projectによりリバースエンジニアリングが行なわれていますが、スキャンが動作しません。(06cb:009a)
  3. S3 モードでのサスペンドには BIOS の設定変更が必要です。
  4. 信頼性向上についてこのブログ記事を参照。
  5. 内蔵ディスプレイのアクセラレーションには対応されていないようです。
  6. I2C バスを通じ接続されており、libnfc project で議論が行なわれています。

モデルの説明

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

モバイルブロードバンド

この機種には Fibocom L850-GL LTE モデムが搭載されていますが、Linux 環境ではサポートされず公式サポート提供予定はないようです。

トラブルシューティング

内蔵スピーカーの音量が小さい

内蔵スピーカーの音量が、100パーセントに設定しても20パーセント程度しか出ない場合、/etc/modprobe.d/alsa-base.conf を編集し、次のパラメータを snd_hda_intel モジュールに加えてみてください:

options snd-hda-intel model=nofixup
ノート: この設定を行うとマイクミュートボタンとミュート状態の LED が機能しません。

サスペンド (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 によって問題が解決されるまで、手動で制限をセットする必要があります。

自動設定

サーマルスロットリングの設定を修正するため throttled が開発されています。それを使いこの問題を修正する自動化パッケージが作成されています。

ノート: throttled がインストールされている場合、次のパッケージとは衝突します。

lenovo-throttling-fix-gitAUR[リンク切れ: パッケージが存在しません]インストールして、lenovo_fix.service起動有効化してください。

手動設定

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

以下の内容で /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 製) を両方一緒に動作させることができません。タッチパッドを使うには 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

参照