Lenovo ThinkPad X1 Carbon (Gen 7)

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

ヒント: ThinkPad の資料として https://www.thinkwiki.org/wiki/ThinkWiki が役に立ちます。

第7世代の Lenovo ThinkPad X1 Carbon は2019年前期に発売されたウルトラブックです。14インチのディスプレイに第8世代または第10世代の Intel Core プロセッサと内蔵の Intel UHD 620 グラフィックを搭載しています。

あなたが使っているノートパソコンがこのバージョンかどうか確認するには、dmidecode パッケージをインストールして以下のコマンドを実行してください:

# sudo dmidecode -s system-version
ThinkPad X1 Carbon 7th
デバイス 動作 モジュール
Intel Graphics Yes i915, (intel_agp)
ワイヤレスネットワーク Yes iwlmvm
付属ドングル によるネイティブイーサネット Yes ?
モバイルブロードバンド Fibocom Yes¹ ?
オーディオ Yes snd_hda_intel
マイク No⁴ snd_sof, snd_sof_intel_hda
タッチパッド Yes psmouse, rmi_smbus, i2c_i801
トラックポイント Yes psmouse, rmi_smbus, i2c_i801
カメラ Yes uvcvideo
指紋リーダー Yes² ?
電源管理 Yes³ ?
Bluetooth Yes btusb
キーボードバックライト Yes thinkpad_acpi
ファンクション/マルチメディアキー Yes ?
  1. Fibocom LTE モジュールは USB モードに切り替えたときに Linux でサポートされています。[1][2] を参照。
  2. 公式ドライバーとリバースエンジニアリングによるドライバーが存在します [3] (06cb:00bd)。
  3. S3 サスペンドを使うには BIOS の設定が必要です。#スリープ/サスペンドを参照してください。
  4. 内部マイクはバージョン 5.3 以前の linux カーネルで動作しません。バージョン 5.3 以上では SOF ファームウェアを使えます。Talk#Microphone を参照。

ハードウェア

linux カーネル 5.2.7 を使用したとき lsusblspci で確認できるハードウェア情報:

lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 06cb:00bd Synaptics, Inc. 
Bus 001 Device 002: ID 04f2:b67c Chicony Electronics Co., Ltd 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lspci
00:00.0 Host bridge: Intel Corporation Device 3e34 (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (Whiskey Lake) (rev 02)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 0c)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Cannon Point-LP Thermal Controller (rev 11)
00:14.0 USB controller: Intel Corporation Cannon Point-LP USB 3.1 xHCI Controller (rev 11)
00:14.2 RAM memory: Intel Corporation Cannon Point-LP Shared SRAM (rev 11)
00:14.3 Network controller: Intel Corporation Cannon Point-LP CNVi [Wireless-AC] (rev 11)
00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP Serial IO I2C Controller #0 (rev 11)
00:15.1 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP Serial IO I2C Controller #1 (rev 11)
00:16.0 Communication controller: Intel Corporation Cannon Point-LP MEI Controller #1 (rev 11)
00:1d.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #9 (rev f1)
00:1d.4 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #13 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Cannon Point-LP LPC Controller (rev 11)
00:1f.3 Audio device: Intel Corporation Cannon Point-LP High Definition Audio Controller (rev 11)
00:1f.4 SMBus: Intel Corporation Cannon Point-LP SMBus Controller (rev 11)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Point-LP SPI Controller (rev 11)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (6) I219-V (rev 11)
03:00.0 Non-Volatile memory controller: Sandisk Corp WD Black 2018/PC SN720 NVMe SSD
05:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
06:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
06:01.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
06:02.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
06:04.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
07:00.0 System peripheral: Intel Corporation JHL6540 Thunderbolt 3 NHI (C step) [Alpine Ridge 4C 2016] (rev 02)
2d:00.0 USB controller: Intel Corporation JHL6540 Thunderbolt 3 USB Controller (C step) [Alpine Ridge 4C 2016] (rev 02)

BIOS

Arch Linux をインストールするときは "Secure Boot" Security -> Secure Boot - Set to "Disabled" を無効化するのが最も簡単です。ただしカーネルに自己署名してセキュアブートを有効化したまま起動することもできます。詳しくはセキュアブートの記事を見てください。

efivars が正しく設定されていない場合、UEFI で起動していない可能性が高いです。問題が続く場合は UEFI#UEFI 変数を参照。

アップデート

自動 (Linux Vendor Firmware Service)

2018年8月 [4]、Lenovo は Linux Vendor Firmware Service (LVFS) プロジェクトに参加したため、OS の中からファームウェアのアップデートができるようになっています。BIOS アップデート (や Thunderbolt コントローラなどのファームウェア) は fwupd でインストールできます。

手動 (fwupdmgr)

Lenovo はキャビネットファイルとして提供されており fwupdmgr で直接インストールできます。Lenovo ThinkPad X1 Carbon (Gen 7) ドライバーのウェブサイト の Linux .cab ファイルをチェックしてください。

  1. 対象コンピュータに AC アダプタがしっかりと接続されていることを確認してください。
  2. ターミナルを起動してください。
  3. キャビネットファイルを配置したディレクトリに移動してください。
  4. fwupdmgr install xxxxxxxx.cab を実行してファームウェアアップデートを予約してください。
  5. システムを再起動してください。
  6. コンピュータが再起動され UEFI BIOS がアップデートされます。

スリープ/サスペンド

BIOS には2つの "Sleep State" オプション (Windows と Linux) があります。Config -> Power -> Sleep State で確認できます。Linux オプションは伝統的な S3 電源ステートで、メモリ以外の全てのハードウェアコンポーネントがオフになります。通常通り動作します。Windows オプションは新しいソフトウェアによる「モダンスタンバイ」のことで、その名前にも関わらず Linux でも動作します。Windows スリープステートのメリットとして起動時間が短くなりますが、電力消費量が増えるという欠点があります。

S3 サスペンドバグと Bluetooth デバイス

特定の Bluetooth デバイスを接続している状態でサスペンドすると即座に ThinkPad のサスペンドが解除されることがあります。これを防ぐためには、デバイスを取り除くかサスペンドする前に bluetooth を無効化してください。

BIOS 設定

  • Config -> Thunderbolt BIOS Assist Mode - Set to "Enabled"。無効化した場合、s2idle 時に CPU のウェイクアップによって消費電力が劇的に増加します。

電源管理/スロットリングの問題

電源管理の設定が間違っているために CPU の消費電力が Windows よりも低くくなりサーマルスロットリングが 80°C で発生することがあります (Windows を使用している場合は 97°C で、T480s throttling bug を見てください)。

Lenovo は上記の問題について確認しており、原因について説明 しており、組み込みコントローラと BIOS のアップデート を LVFS に公開しています (#アップデートを参照)。

throttled

ノート: BIOS/EC バージョン 1.23 (N2HET40W/N2HHT27W) 現在、解決されていません。

throttledlenovo-throttling-fix-gitAUR[リンク切れ: パッケージが存在しません] を置き換えます。throttled をインストールして、以下のコマンドを実行してください:

# systemctl enable --now lenovo_fix.service

タッチパッド TLP 修正

タッチパッドは特に設定をしなくても動作しますが、TLP が Synaptics タッチパッドを入力デバイスとして認識しないため、USB_AUTOSUSPEND 機能の除外対象となりません。サスペンドから復帰した後にタッチパッドが機能しないという問題になります。

タッチパッドを TLP の USB_BLACKLIST に追加することで解決できます:

USB_BLACKLIST="06cb:00bd" <=========== use lsusb to get the correct UUID

オーディオ

4つのラウドスピーカーが搭載されており、4.0 音声出力に設定してください。PulseAudio を使用する場合、様々な設定ユーティリティが存在します。

ボリュームコントロール

/usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common を編集して [Element PCM] の上に以下を追加することでボリュームコントロールが問題なく機能するようになります:

[Element Master]
switch = mute
volume = ignore

上記の変更を適用するには PulseAudio の再起動が必要です。"Master" チャンネルのボリュームを 100% まで増やしてスピーカーが機能することを確認してください (alsa-utils の amixer または alsamixer を使ってください)。

永続的な修正

pulseaudio をアップグレードあるいは再インストールすると上記のファイルは上書きされてしまい、PulseAudio にはこの設定を変更する別の方法がありません。pacman がファイルを上書きしないようにするために、以下の行を /etc/pacman.conf[options] に追加してください:

NoUpgrade = usr/share/pulseaudio/alsa-mixer/paths/analog-output.conf.common

マイク

カーネル 5.2 以下では、内部マイクは認識されますが録音がされません。残念ながら 5.3 カーネルでもマイクは動作しません。

Lenovo フォーラムの docx ファイル にかかれている支持に従うことでマイクを動作できます。Arch フォーラムの この投稿 も見てください。

ThinkPad ロゴの赤い LED の無効化

ThinkPad ロゴの赤 LED を無効化するには:

1. カーネルパラメータ ec_sys.write_support=1 を追加することで組み込みコントローラのレジスタへの書き込みを有効化してください。

2. 以下のコマンドで直接 LED を無効化できます:

# echo -n -e "\x0a" | sudo dd of="/sys/kernel/debug/ec/ec0/io" bs=1 seek=12 count=1 conv=notrunc 2> /dev/null

LED を起動時に無効化したい場合、systemd サービスを作成してください。

1. sh スクリプト (例: /root/disable_led.sh) を以下の内容で作成:

#!/bin/bash
echo -n -e "\x0a" | dd of="/sys/kernel/debug/ec/ec0/io" bs=1 seek=12 count=1 conv=notrunc 2> /dev/null

2. /etc/systemd/system に "led.service" という名前で以下の内容のサービスユニットファイルを作成してください:

Description=Disable ThinkPad logo LED

[Service]
ExecStart=/root/disable_led.sh

[Install]
WantedBy=multi-user.target

3. サービスを起動・有効化:

# systemctl start led.service
# systemctl enable led.service

参照