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 -s system-version
ThinkPad X1 Carbon 6th
固件
安装 Arch Linux 最方便的方法是禁用“安全启动” Security -> Secure Boot - Set to "Disabled"
。但是,也可以对内核进行自签名并在启用安全启动的情况下启动。有关更多信息,请查看 安全启动 文章。
如果您的 efivars
未正确设置,则很可能是因为您没有启动进入 UEFI。如果问题仍然存在,请务必查阅 UEFI#UEFI 变量 章节。
更新
Security -> UEFI BIOS Update Option
下,Flash BIOS Updating by End-Users
和 Windows UEFI Firmware Update
必须在更新时启用。自动 (Linux 厂商固件服务)
2018 年 8 月,联想加入了 Linux 厂商固件服务 (LVFS) 项目,该项目支持从操作系统内部进行固件更新。可以通过 fwupd 查询和安装 BIOS 更新(以及其他固件,如 Thunderbolt 控制器)。
手动 (fwupdmgr)
联想提供了一个 cabinet 文件,可以直接使用 fwupdmgr 安装。从 联想 ThinkPad X1 Carbon (Gen 6) 驱动程序网站 下载最新的 .cab
文件。
- 确保交流电源适配器牢固连接到目标计算机。
- 启动终端。
- 移动到 cabinet 文件所在的目录。
- 运行
fwupdmgr install xxxxxxxx.cab
以计划固件更新。 - 重启系统。
- 计算机将重启,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_width
和 frame_height
必须设置为 400
才能打开红外发射器。
NFC
通过 I2C 连接,支持在 libnfc 项目 中讨论。
电池状态和充电限制
# 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
。
音频
麦克风因自动调整而失真
如果您的麦克风音量自动升高并导致声音失真,您可以禁用麦克风增强来解决此问题。请参阅 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
移动宽带
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-Switch 和 kernel-module。
WWAN / LTE GUI
安装 NetworkManager 和 network-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
要禁用封面上的 ThinkPad 标志中的红色 LED
- 通过添加 内核参数
ec_sys.write_support=1
启用写入嵌入式控制器寄存器。 - 然后,您可以使用此命令直接禁用 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]
为了避免随机断开连接,请按照以下步骤编辑 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 磁盘存在 问题,导致设备故障。请务必更新固件或联系联想支持进行更换。
参见
- T480s 节流 bug,也影响 X1C6
- 联想论坛:T480s 低 cTDP 和 Linux 中的跳闸温度
- 线程:TrackPoint/触摸板问题,20KG 型号
- StackExchange:成功启用触摸板和 TrackPoint 的 RMI4 配置标志
- 内核补丁 - Input: elantech - 添加对 SMBus 设备的支持
- 内核补丁 - Input: synaptics - 将联想 80 系列 ID 添加到 SMBus
- https://www.thinkwiki.org/wiki/ThinkWiki
- ThinkWiki X1 Carbon 第六代页面
- 外围设备内核维护者 Benjamin Tissoires 在他的演讲 调试损坏的输入设备的工具 (幻灯片) 中解释了输入 bug 是如何修复的,特别是幻灯片 16 及以后。
- Dell XPS 13 9370 quirks:关于将功耗降至约 2W 的一些提示,Intel 视频节能功能可能很有趣,另请参阅 Intel 显卡 页面以获取有趣的节能选项。
- Dell XPS 13 (9360):与 X1C6 共享一些硬件
- Intel 博客:调试 Linux* 挂起/休眠问题的最佳实践[死链接 2023-09-16 ⓘ],包括用于分析挂起期间功耗的 pm-graph 工具
- X1C6 的综合 Arch 安装示例