Lenovo ThinkPad X1 Carbon (Gen 6)

来自 ArchWiki

此文章或章节不符合 笔记本电脑页面指南

原因: 硬件表格需要 ID,章节需要一些清理 (在 Talk:Lenovo ThinkPad X1 Carbon (Gen 6) 中讨论)
硬件 PCI/USB ID 工作?
GPU 8086:5917
无线 8086:24fd
以太网 8086:15d7
移动宽带
音频 8086:9d71
触摸板
TrackPoint
网络摄像头 13d3:56b2
指纹识别器 06cb:009a
蓝牙 8087:0a2b
NFC
microSD 卡读卡器 0bda:0328
Thunderbolt

联想 ThinkPad X1 Carbon 第六代是一款于 2018 年初推出的超极本。它有多种型号 (20KH*20KG*),配备 14 英寸屏幕、第八代 Intel Core 处理器和集成的 Intel UHD 620 显卡

为了确保您拥有此版本,安装 dmidecode 包并运行

# dmidecode -s system-version
ThinkPad X1 Carbon 6th

固件

安装 Arch Linux 最方便的方法是禁用“安全启动” Security -> Secure Boot - Set to "Disabled"。但是,也可以对内核进行自签名并在启用安全启动的情况下启动。有关更多信息,请查看 安全启动 文章。

如果您的 efivars 未正确设置,则很可能是因为您没有启动进入 UEFI。如果问题仍然存在,请务必查阅 UEFI#UEFI 变量 章节。

更新

注意: 在 BIOS 设置菜单中的 Security -> UEFI BIOS Update Option 下,Flash BIOS Updating by End-UsersWindows UEFI Firmware Update 必须在更新时启用

自动 (Linux 厂商固件服务)

2018 年 8 月,联想加入了 Linux 厂商固件服务 (LVFS) 项目,该项目支持从操作系统内部进行固件更新。可以通过 fwupd 查询和安装 BIOS 更新(以及其他固件,如 Thunderbolt 控制器)。

手动 (fwupdmgr)

联想提供了一个 cabinet 文件,可以直接使用 fwupdmgr 安装。从 联想 ThinkPad X1 Carbon (Gen 6) 驱动程序网站 下载最新的 .cab 文件。

  1. 确保交流电源适配器牢固连接到目标计算机。
  2. 启动终端。
  3. 移动到 cabinet 文件所在的目录。
  4. 运行 fwupdmgr install xxxxxxxx.cab 以计划固件更新。
  5. 重启系统。
  6. 计算机将重启,UEFI BIOS 将被更新。

手动 (El Torito)

下载 最新的 BIOS 更新 ISO。获取 geteltoritoAUR 并运行 geteltorito.pl -o bios-update.img n23ur12w.iso 在下载的 ISO 文件上创建有效的 El Torito 映像文件,然后像刷写 Arch 安装介质 一样,通过 dd 将此文件刷写到 USB 驱动器上。有关更多信息,请参阅 从 Linux 刷写 BIOS

ThinkPad X1 Carbon 支持在最早的启动阶段设置自定义启动画面图像(而不是红色“Lenovo”标志),更多信息可以在更新映像的 FLASH 文件夹中的 README.TXT 中找到。这只需要做一次,因为后续的 UEFI 升级会询问您是否希望保留您的自定义徽标。

USB 驱动器刷写完成后,徽标文件可以放置到闪存驱动器的根目录中。

指纹识别器

通过 AUR 提供的 python-validity 驱动程序允许像往常一样使用 fprintd 使用指纹识别器。

蓝牙

请参阅 此博客文章,了解如何提高可靠性。

红外摄像头

请参阅 Howdy,了解如何使用红外摄像头登录。frame_widthframe_height 必须设置为 400 才能打开红外发射器。

NFC

通过 I2C 连接,支持在 libnfc 项目 中讨论。

电池状态和充电限制

安装 tlp 包并从命令行显示电池状态

# tlp-stat -b
注意: 对于全新的电池,cycle_count 将显示 unsupported,直到它至少完成 1 次完整的放电/充电循环。

为了延长电池寿命,您可以将电池充电限制为最大 80%,并且仅当 SoC(充电状态)低于 79% 时才开始充电

# tpacpi-bat -s ST 1 79 # Start charging if battery below 79%
# tpacpi-bat -s SP 1 80 # Stop charging if battery above 80%
# tpacpi-bat -s IC 1 0 # Disable charging entirely

为了使更改永久生效,您可以编辑 /etc/tlp.conf。请参阅 TLP 文章以获取更多信息和 GUI 工具。

休眠

自 BIOS 版本 1.30 起,X1 Carbon 在 BIOS 菜单中启用 S3 模式时(选择“Linux”睡眠模式而不是默认的“Windows 10”)。请参阅 #自动 (Linux 厂商固件服务) 以获取更新和验证您的 BIOS 版本的说明。

启用 S3

要启用 S3 支持,请确保您至少安装了 BIOS 版本 1.30。然后,进入 BIOS 配置,Config > Power > Sleep State 并将其设置为 Linux。这应该使 S3 可用。

重启并验证深度睡眠是否可用,如 电源管理/休眠和挂起#更改挂起方法 中所述。

S3 休眠与蓝牙设备 Bug

偶尔,在添加某些 蓝牙 设备后,您的 Thinkpad 会在挂起后立即或几秒钟后唤醒。为防止这种情况,请移除设备或在挂起前禁用 蓝牙

禁用内存卡读卡器

您可能还需要通过 BIOS 或通过以下方式禁用 Realtek 内存卡读卡器(似乎持续使用 2-3 瓦)

# printf 2-3 > /sys/bus/usb/drivers/usb/unbind

BIOS 配置

Config > Thunderbolt BIOS Assist Mode 中设置为 Enabled。禁用后,在 Linux 上,由于 s2idle 期间大量的 CPU 唤醒,功耗似乎明显更高。

休眠失败

如果机器开始进入休眠状态,但当通过 USB-C 插入任何东西时立即恢复在线,并显示以下错误

# journalctl -p err -u systemd-suspend
Failed to suspend system. System resumed again: Device or resource busy
# dmesg -Tl err
[Mon Nov 11 20:18:03 2019] PM: pci_pm_suspend(): hcd_pci_suspend+0x0/0x30 returns -16
[Mon Nov 11 20:18:03 2019] PM: dpm_run_callback(): pci_pm_suspend+0x0/0x130 returns -16
[Mon Nov 11 20:18:03 2019] PM: Device 0000:00:14.0 failed to suspend async: error -16
[Mon Nov 11 20:18:04 2019] PM: Some devices failed to suspend, or early wake event detected 

阻止 USB 设备唤醒计算机。

检查 grep XHC /proc/acpi/wakeup 是否显示 enabled。如果显示是,则使用以下命令禁用 XHC 唤醒

# echo XHC > /proc/acpi/wakeup

一旦您验证这解决了问题,创建 以下 systemd 单元文件并 启用 该服务。

[Unit]
Description=Fixes failing suspend by disabling wakeup through USB

[Service]
ExecStart=/bin/bash -c 'grep --silent '^XHC.*disabled' /proc/acpi/wakeup || echo XHC > /proc/acpi/wakeup'
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

电源管理/节流

由于配置错误的电源管理寄存器,CPU 的功耗可能远低于 Windows,并且热节流发生在 80°C(使用 Windows 时为 97°C,请参阅 T480s 节流 bug)。

在官方联想论坛中有一个 帖子,告知联想此问题。

使用 thermald

这个长期运行的讨论 称,在 thermald 2.4.3 中已应用修复程序。上述线程还包含指向联想开发的补丁的链接。

截至 thermald 2.4.3 和 Linux 5.12,似乎 只需使用 thermald,无需进一步的解决方法。

使用 throttled

或者,已经编写了一个软件包来解决该问题,直到联想完成 X1C6 的 操作系统无关的修复

安装 throttled,然后 启动/启用 throttled.service

该脚本还支持更高级的热/性能功能,包括 CPU 降压。有关详细信息,请参阅 repository README.md

注意: 如果您安装了 thermald,它可能会与此软件包中的节流修复程序冲突。考虑禁用它。

音频

麦克风因自动调整而失真

如果您的麦克风音量自动升高并导致声音失真,您可以禁用麦克风增强来解决此问题。请参阅 PulseAudio 了解详细信息。

内置扬声器音量过低

如果您的 ThinkPad X1 Carbon (Gen 6) 内置扬声器的最大音量限制在约 20% 左右,即使音量设置为 100%,请尝试将以下参数添加到 snd_hda_intel 模块,可以通过 /etc/modprobe.d/ 中的文件进行设置,例如

/etc/modprobe.d/alsa-base.conf
options snd-hda-intel model=nofixup
注意: 这会停止静音和麦克风静音按钮上的 LED 工作。

移动宽带

ThinkPad X1 Carbon (Gen 6) 专门配备了 Fibocom L850-GL LTE WWAN 调制解调器,目前 Linux 系统开箱即不支持该调制解调器。

通常不可能将 LTE 调制解调器更换为受支持的调制解调器,因为所有现代联想笔记本电脑都实施了 BIOS 级别的限制(允许的 M.2 扩展卡的“白名单”)。但是,已经找到一种方法来配置任何 Sierra Wireless EM73xx/EM74xx 调制解调器以“规避”白名单检查,因此这些调制解调器可以正常使用。

请查看 ThinkPad 移动互联网:规避 BIOS 级别的白名单限制 以获取说明。

另请参阅 github:Fibocom L850-GL / Intel XMM7360 LTE 调制解调器的工具github:Fibocom L850-GL / Intel XMM7360 LTE 调制解调器的内核模块联想论坛:WWAN Fibocom L850-GL 和 Linux 支持 中完成的工作。

另请参阅 MBIM-Switchkernel-module

WWAN / LTE GUI

安装 NetworkManagernetwork-manager-applet,以便更轻松地找到 SIM 卡的正确 APN。

功能键

  • Fn+4 发送 XF86Sleep (默认情况下使计算机进入睡眠状态)
  • Fn+S 发送 Alt_L+Sys_Req
  • Fn+P 发送 Pause
  • Fn+B 发送 Control_L+Break
  • Fn+K 发送 Scroll_Lock
  • Fn+Space 切换键盘背光
  • 单独的功能键发送 XF86WakeUp (默认情况下从睡眠状态唤醒计算机)

特殊按钮

请参阅 Laptop/Lenovo#特殊按钮

要禁用封面上的 ThinkPad 标志中的红色 LED

  1. 通过添加 内核参数 ec_sys.write_support=1 启用写入嵌入式控制器寄存器。
  2. 然后,您可以使用此命令直接禁用 LED
# printf '\x0a' | dd of=/sys/kernel/debug/ec/ec0/io bs=1 seek=12 count=1 conv=notrunc 2> /dev/null

要在启动时禁用 LED,您可以创建一个 systemd 服务

/etc/systemd/system/led.service
Description=Disabling ThinkPad LED

[Service]
ExecStart=sh -c "printf '\x0a' | dd of=/sys/kernel/debug/ec/ec0/io bs=1 seek=12 count=1 conv=notrunc 2> /dev/null"

[Install]
WantedBy=multi-user.target

启用/启动 led.service

显卡

Intel GPU 固件

在 Wayland 上,启用 GuC/HuC 固件加载 可能会导致 GPU 挂起的问题。这些问题可能反映为图形进程的各种崩溃或冻结。

dmesg 中,可以观察到以下情况

kernel: [drm] GPU HANG: ecode 9:0:0x85dffffd, in chrome [18418], reason: hang on rcs0, action: reset
kernel: [drm] GPU hangs can indicate a bug anywhere in the entire gfx stack, including userspace.
kernel: [drm] Please file a _new_ bug report on bugs.freedesktop.org against DRI -> DRM/Intel
kernel: [drm] drm/i915 developers can then reassign to the right component if it's not a kernel issue.
kernel: [drm] The gpu crash dump is required to analyze gpu hangs, so please always attach it.
kernel: [drm] GPU crash dump saved to /sys/class/drm/card0/error
kernel: i915 0000:00:02.0: Resetting rcs0 for hang on rcs0

不要启用 GuC / HuC 固件加载,至少在 Wayland 上。请参阅 https://bugs.freedesktop.org/show_bug.cgi?id=108717

屏幕撕裂

请参阅 Intel graphics#撕裂

HDR 显示器色彩校准

对于配备 1440p HDR 显示器的型号,可以使用 notebookcheck.net 的评测 提供的 ICC 校准文件在 Gnome 下更正默认颜色配置文件。

$ wget https://www.notebookcheck.net/uploads/tx_nbc2/B140QAN02_0.icm
$ colormgr import-profile B140QAN02_0.icm

这将导入 ICC 配置文件,接下来您需要为您的显示器激活它。找到您显示器的对象路径

$ colormgr get-devices | sed -rn 's/Object Path:\s*(.*eDP1.*)/\1/p'

以及您的新颜色配置文件的对象路径

$ colormgr get-profiles | grep -4 -i B140QAN02

最后激活配置文件并将其设置为此显示器的默认配置文件

$ colormgr device-add-profile <device object id> <profile object id>
$ colormgr device-make-profile-default <device object id> <profile object id>

您可以通过运行 colormgr get-devices 来验证配置文件是否已激活。

TrackPoint 和触摸板问题

某些型号的第六代 X1 Carbon 似乎存在 TrackPoint 和触摸板同时工作的问题。

要使 TrackPoint 和触摸板同时工作,请将 synaptics_intertouch=1 添加到 psmouse 内核模块 选项

/etc/modprobe.d/psmouse.conf
options psmouse synaptics_intertouch=1

当使用 TLP 默认的节能设置时,可能会出现偶尔的故障,例如触摸板的点击功能丢失,以及 TrackPoint 在挂起后无法生存并且需要重新初始化。

可以通过以下命令重新连接死掉的触控板

# printf none > /sys/bus/serio/devices/serio1/drvctl
# printf reconnect > /sys/bus/serio/devices/serio1/drvctl

Thunderbolt 扩展坞

Plugable USB-C 迷你扩展坞带 85W 供电 UD-CAM

如果您正在使用连接到笔记本电脑的 USB-C thunderbolt 端口的外部 plugable UD-CAM thunderbolt 扩展坞,您可能会遇到随机断开连接的情况(外部显示器、蓝牙和以太网),并且在 dmesg 中出现此类错误 

pcieport 0000:05:00.0: BAR 13: no space for [io  size 0x3000]

应该注意的是,bolt 不适用于此 UD-CAM 扩展坞。

为了避免随机断开连接,请按照以下步骤编辑 bios 和 TLP

Bios 设置

然后您应该查看您的 bios 设置 

  • Wake by thunderbolt :启用
  • Security level :无安全
  • Pre-boot ACL option :启用

TLP 黑名单设备,防止 USB 自动挂起

如果您正在使用 TLP,您必须编辑 /etc/tlp.conf 并确保将所有扩展坞设备从 USB 自动挂起中排除,如下所示

USB_DENYLIST=="0000:1111 2222:3333 4444:5555"

然后重启,您的扩展坞应该可以正常工作。

联想扩展坞

一些问题可能是由过时的扩展坞固件引起的。更新不是由 LVFS 提供的,请使用扩展坞支持页面中的“Windows 固件”。

DisplayLink

如果您想继续使用 Intel 显卡 用于您的主显示器和 HDMI 显示器,请更改其配置文件数字前缀,使其位于 DisplayLink 配置之前。例如,与其将其命名为 /etc/X11/xorg.conf.d/20-intel.conf,不如将其命名为 /usr/share/X11/xorg.conf.d/19-intel.conf

全盘加密

OPAL:基于硬件的全盘加密

请参阅 自加密驱动器 (已确认工作)

NVMe 磁盘故障

ThinkPad X1 Carbon (Gen 6) 中安装的 NVMe 磁盘存在 问题,导致设备故障。请务必更新固件或联系联想支持进行更换。

参见