Kernel panic on X1 Carbon 6th gen

Been struggling to diagnose and fix kernel panic on an X1 Carbon 6th gen for over 6 months. Difficult to reproduce consistently, however symptoms tend to involve the system going to sleep or the power being unplugged. On several occasions I have unplugged the machine from power (whilst fully charged) and it has instantly gone into panic (flashing capslock light). On other occasions I’ve left the machine on without closing the lid for long periods (overnight) and have been unable to get back in (completely frozen and stuck on login screen). REISUB only seems to work if I catch it whilst the panic is happening - whenever I’ve come back to a frozen machine (e.g. closed the lid with power plugged) there is no response to REISUB.
I’ll add that the machine is capable to run for several hours without being plugged in so I don’t suspect the battery of being completely shot.

I did follow through this semi-recent post from another user with the same 6th gen carbon model: X1 Carbon 6th Gen - Kernel Panics and Lock-ups. Some of the issues described there are similar to mine, but not exactly. This thread also seems to have had no conclusion.
There is also mention of β€œsystem freeze on suspend” in the announcements: [Stable Update] 2024-10-10 - Kernels, Pacman 7.0, KDE Frameworks 6.6, Virtualbox 7.1.2, Mesa - #2 by philm. But the symptom of β€œSystem freezes for 60 seconds and then wakes back up or hangs after waking up” is really not related.

Output of inxi -xG:

Graphics:
  Device-1: Intel UHD Graphics 620 vendor: Lenovo driver: i915 v: kernel
    arch: Gen-9.5 bus-ID: 00:02.0
  Device-2: Bison Integrated Camera driver: uvcvideo type: USB bus-ID: 1-8:3
  Display: x11 server: X.Org v: 21.1.14 driver: X: loaded: modesetting
    dri: iris gpu: i915 resolution: 2560x1440~60Hz
  API: EGL v: 1.5 drivers: iris,swrast platforms:
    active: gbm,x11,surfaceless,device inactive: wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 24.2.4-arch1.0.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel UHD Graphics 620 (KBL
    GT2)

Output of journalctl -b0 -p4 --no-pager immediately after hard rebooting from a freeze/panic:

 kernel: MDS CPU bug present and SMT on, data leak possible. See https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/mds.html for more details.
 kernel: MMIO Stale Data CPU bug present and SMT on, data leak possible. See https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/processor_mmio_stale_data.html for more details.
 kernel: ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
 kernel: hpet_acpi_add: no address or irqs in _CRS
 kernel: systemd[1]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set
 kernel: kauditd_printk_skb: 34 callbacks suppressed
 systemd-journald[301]: File /var/log/journal/50e1c05924bc4a11a1c7a0373b036708/system.journal corrupted or uncleanly shut down, renaming and replacing.
 kernel: resource: resource sanity check: requesting [mem 0x00000000fed10000-0x00000000fed15fff], which spans more than pnp 00:07 [mem 0xfed10000-0xfed13fff]
 kernel: caller snb_uncore_imc_init_box+0x87/0xe0 [intel_uncore] mapping multiple BARs
 systemd-vconsole-setup[600]: /usr/bin/loadkeys failed with exit status 1.
 systemd[1]: systemd-vconsole-setup.service: Failed with result 'exit-code'.
 systemd[1]: Failed to start Virtual Console Setup.
 kernel: thermal thermal_zone5: failed to read out thermal zone (-61)
 avahi-daemon[724]: Failed to parse address '', ignoring.
 (uetoothd)[1083]: bluetooth.service: ConfigurationDirectory 'bluetooth' already exists but the mode is different. (File system: 755 ConfigurationDirectoryMode: 555)
 bluetoothd[1083]: src/plugin.c:init_plugin() System does not support bap plugin
 bluetoothd[1083]: src/plugin.c:init_plugin() System does not support bass plugin
 bluetoothd[1083]: src/plugin.c:init_plugin() System does not support mcp plugin
 bluetoothd[1083]: src/plugin.c:init_plugin() System does not support vcp plugin
 bluetoothd[1083]: profiles/audio/micp.c:micp_init() D-Bus experimental not enabled
 bluetoothd[1083]: src/plugin.c:init_plugin() System does not support micp plugin
 bluetoothd[1083]: src/plugin.c:init_plugin() System does not support ccp plugin
 bluetoothd[1083]: src/plugin.c:init_plugin() System does not support csip plugin
 bluetoothd[1083]: src/plugin.c:init_plugin() System does not support asha plugin
 kernel: Bluetooth: hci0: Malformed MSFT vendor event: 0x02
 kernel: Bluetooth: hci0: Reading supported features failed (-16)
 kernel: Bluetooth: hci0: HCI LE Coded PHY feature bit is set, but its usage is not supported.
 dbus-broker-launch[681]: Activation request for 'org.freedesktop.home1' failed: The systemd unit 'dbus-org.freedesktop.home1.service' could not be found.
 dbus-broker-launch[1449]: Service file '/usr/share//dbus-1/services/org.knopwob.dunst.service' is not named after the D-Bus name 'org.freedesktop.Notifications'.
 dbus-broker-launch[1449]: Service file '/usr/share//dbus-1/services/org.xfce.xfce4-notifyd.Notifications.service' is not named after the D-Bus name 'org.freedesktop.Notifications'.
 dbus-broker-launch[1449]: Ignoring duplicate name 'org.freedesktop.Notifications' in service file '/usr/share//dbus-1/services/org.xfce.xfce4-notifyd.Notifications.service'
 dbus-broker-launch[1449]: Service file '/usr/share//dbus-1/services/org.xfce.xfce4-notifyd.Notifyd.service' is not named after the D-Bus name 'org.xfce.Notifyd'.
 dbus-broker-launch[681]: Activation request for 'org.freedesktop.resolve1' failed: The systemd unit 'dbus-org.freedesktop.resolve1.service' could not be found.
 lightdm[1503]: gkr-pam: unable to locate daemon control file
 dbus-broker-launch[1561]: Service file '/usr/share//dbus-1/services/org.knopwob.dunst.service' is not named after the D-Bus name 'org.freedesktop.Notifications'.
 dbus-broker-launch[1561]: Service file '/usr/share//dbus-1/services/org.xfce.xfce4-notifyd.Notifications.service' is not named after the D-Bus name 'org.freedesktop.Notifications'.
 dbus-broker-launch[1561]: Ignoring duplicate name 'org.freedesktop.Notifications' in service file '/usr/share//dbus-1/services/org.xfce.xfce4-notifyd.Notifications.service'
 dbus-broker-launch[1561]: Service file '/usr/share//dbus-1/services/org.xfce.xfce4-notifyd.Notifyd.service' is not named after the D-Bus name 'org.xfce.Notifyd'.

Currently using linux66 kernel. Have tried 515 and others without any change.

This is insufficient.
Please provide

inxi -Farz

Have you checked the sleep mode set in BIOS?

We cant see it currently (better inxi would show) but your BIOS should be up to date, and if it is, there should be a β€˜Linux’ sleep state option available in BIOS. This should be selected over other options like β€˜Windows 10’.

For more information, including how to upgrade your BIOS and other troubleshooting, see the dedicated Archwiki page:
https://wiki.archlinux.org/title/Lenovo_ThinkPad_X1_Carbon_(Gen_6)

Right… That’d probably do the trick. Unfortunately, after installing and running fwupdmgr update (fwupd - ArchWiki) I land here: System and ME firmware fail to update on Lenovo t480s Β· Issue #201 Β· fwupd/firmware-lenovo Β· GitHub. That issue is seemingly solved by a manual install of a .cab file that was privately shared?? As per the manual update instructions (Lenovo ThinkPad X1 Carbon (Gen 6) - ArchWiki) the Lenovo website (laptops and netbooks :: thinkpad x series laptops :: thinkpad x1 carbon 6th gen type 20kh 20kgcontentdetail - Lenovo Support FR) offers various drivers - what am I aiming for here? BIOS/UEFI?

Thanks!

inxi -Farz:

System: 
  Kernel: 6.6.54-2-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 14.2.1 
    clocksource: tsc avail: acpi_pm 
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.6-x86_64 
    root=UUID=d7a34cd6-b506-4046-8f87-2f88ba3da3f7 rw quiet apparmor=1 
    security=apparmor udev.log_priority=3 
  Desktop: i3 v: 4.23 with: i3bar tools: xautolock avail: i3lock vt: 7 
    dm: LightDM v: 1.32.0 Distro: Manjaro base: Arch Linux 
Machine: 
  Type: Laptop System: LENOVO product: 20KHA01CAU v: ThinkPad X1 Carbon 6th 
    serial: <superuser required> Chassis: type: 10 serial: <superuser required> 
  Mobo: LENOVO model: 20KHA01CAU v: SDK0J40697 WIN 
    serial: <superuser required> part-nu: LENOVO_MT_20KH_BU_Think_FM_ThinkPad 
    X1 Carbon 6th uuid: <superuser required> UEFI: LENOVO v: N23ET50W (1.25 ) 
    date: 06/25/2018 
Battery: 
  ID-1: BAT0 charge: 20.1 Wh (96.6%) condition: 20.8/57.0 Wh (36.4%) 
    volts: 12.4 min: 11.6 model: LGC 01AV494 type: Li-poly serial: <filter> 
    status: not charging cycles: 584 
CPU: 
  Info: model: Intel Core i5-8250U bits: 64 type: MT MCP arch: Coffee Lake 
    gen: core 8 level: v3 note: check built: 2017 process: Intel 14nm family: 6 
    model-id: 0x8E (142) stepping: 0xA (10) microcode: 0xF6 
  Topology: cpus: 1x dies: 1 clusters: 4 cores: 4 threads: 8 tpc: 2 
    smt: enabled cache: L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB 
    desc: 4x256 KiB L3: 6 MiB desc: 1x6 MiB 
  Speed (MHz): avg: 800 min/max: 400/3400 scaling: driver: intel_pstate 
    governor: powersave cores: 1: 800 2: 800 3: 800 4: 800 5: 800 6: 800 7: 800 
    8: 800 bogomips: 28808 
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  Vulnerabilities: 
  Type: gather_data_sampling mitigation: Microcode 
  Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT 
    vulnerable 
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
  Type: meltdown mitigation: PTI 
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable 
  Type: reg_file_data_sampling status: Not affected 
  Type: retbleed mitigation: IBRS 
  Type: spec_rstack_overflow status: Not affected 
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via 
    prctl 
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer 
    sanitization 
  Type: spectre_v2 mitigation: IBRS; IBPB: conditional; STIBP: conditional; 
    RSB filling; PBRSB-eIBRS: Not affected; BHI: Not affected 
  Type: srbds mitigation: Microcode 
  Type: tsx_async_abort status: Not affected 
Graphics: 
  Device-1: Intel UHD Graphics 620 vendor: Lenovo driver: i915 v: kernel 
    arch: Gen-9.5 process: Intel 14nm built: 2016-20 ports: active: eDP-1 
    empty: DP-1, DP-2, HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:5917 
    class-ID: 0300 
  Device-2: Bison Integrated Camera driver: uvcvideo type: USB rev: 2.0 
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-8:3 chip-ID: 5986:2115 
    class-ID: 0e02 
  Display: x11 server: X.Org v: 21.1.14 driver: X: loaded: modesetting 
    alternate: fbdev,vesa dri: iris gpu: i915 display-ID: :0 screens: 1 
  Screen-1: 0 s-res: 2560x1440 s-dpi: 96 s-size: 677x381mm (26.65x15.00") 
    s-diag: 777mm (30.58") 
  Monitor-1: eDP-1 model: LG Display 0x058b built: 2016 res: 2560x1440 
    hz: 60 dpi: 210 gamma: 1.2 size: 309x174mm (12.17x6.85") diag: 355mm (14") 
    ratio: 16:9 modes: 2560x1440 
  API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris 
    device: 1 drv: swrast gbm: drv: iris surfaceless: drv: iris x11: drv: iris 
    inactive: wayland 
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 24.2.4-arch1.0.1 
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel UHD Graphics 620 (KBL 
    GT2) device-ID: 8086:5917 memory: 3.67 GiB unified: yes 
Audio: 
  Device-1: Intel Sunrise Point-LP HD Audio vendor: Lenovo 
    driver: snd_hda_intel v: kernel alternate: snd_soc_skl,snd_soc_avs 
    bus-ID: 00:1f.3 chip-ID: 8086:9d71 class-ID: 0403 
  API: ALSA v: k6.6.54-2-MANJARO status: kernel-api with: aoss 
    type: oss-emulator tools: alsactl,alsamixer,amixer 
  Server-1: JACK v: 1.9.22 status: off tools: N/A 
  Server-2: PipeWire v: 1.2.5 status: off tools: pw-cli 
  Server-3: PulseAudio v: 17.0 status: active with: 1: pulseaudio-alsa 
    type: plugin 2: pulseaudio-jack type: module tools: pacat,pactl,pavucontrol 
Network: 
  Device-1: Intel Ethernet I219-V vendor: Lenovo driver: e1000e v: kernel 
    port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15d8 class-ID: 0200 
  IF: enp0s31f6 state: down mac: <filter> 
  Device-2: Intel Wireless 8265 / 8275 driver: iwlwifi v: kernel pcie: 
    gen: 1 speed: 2.5 GT/s lanes: 1 bus-ID: 02:00.0 chip-ID: 8086:24fd 
    class-ID: 0280 
  IF: wlp2s0 state: up mac: <filter> 
  IF-ID-1: wwan0 state: down mac: N/A 
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant 
Bluetooth: 
  Device-1: Intel Bluetooth wireless interface driver: btusb v: 0.8 type: USB 
    rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-7:2 chip-ID: 8087:0a2b 
    class-ID: e001 
  Report: btmgmt ID: hci0 rfk-id: 3 state: up address: <filter> bt-v: 4.2 
    lmp-v: 8 status: discoverable: no pairing: no class-ID: 6c010c 
Drives: 
  Local Storage: total: 238.47 GiB used: 109.43 GiB (45.9%) 
  SMART Message: Required tool smartctl not installed. Check --recommends 
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Samsung 
    model: MZVLB256HAHQ-000L7 size: 238.47 GiB block-size: physical: 512 B 
    logical: 512 B speed: 31.6 Gb/s lanes: 4 tech: SSD serial: <filter> 
    fw-rev: 1L2QEXD7 temp: 36.9 C scheme: GPT 
Partition: 
  ID-1: / raw-size: 238.17 GiB size: 233.38 GiB (97.99%) 
    used: 109.42 GiB (46.9%) fs: ext4 dev: /dev/nvme0n1p2 maj-min: 259:2 
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) 
    used: 11.5 MiB (3.8%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1 
Swap: 
  Alert: No swap data was found. 
Sensors: 
  System Temperatures: cpu: 46.0 C pch: 47.0 C mobo: N/A 
  Fan Speeds (rpm): fan-1: 0 
Repos: 
  Packages: pm: pacman pkgs: 1728 libs: 459 tools: pamac,yay 
  Active pacman repo servers in: /etc/pacman.d/mirrorlist 
    1: https://gsl-syd.mm.fcix.net/manjaro/stable/$repo/$arch 
    2: https://mirror.freedif.org/Manjaro/stable/$repo/$arch 
    3: https://mirror.phoepsilonix.love/manjaro/stable/$repo/$arch 
    4: https://mirror.bouwhuis.network/manjaro/stable/$repo/$arch 
    5: https://mirrors.sonic.net/manjaro/stable/$repo/$arch 
    6: https://ftp.nluug.nl/pub/os/Linux/distr/manjaro/stable/$repo/$arch 
    7: https://mirror.zetup.net/manjaro/stable/$repo/$arch 
    8: https://manjaro.repo.cure.edu.uy/stable/$repo/$arch 
Info: 
  Memory: total: 8 GiB note: est. available: 7.52 GiB used: 5.1 GiB (67.8%) 
  Processes: 228 Power: uptime: 30m states: freeze,mem,disk suspend: s2idle 
    wakeups: 0 hibernate: platform avail: shutdown, reboot, suspend, test_resume 
    image: 3 GiB services: upowerd,xfce4-power-manager Init: systemd v: 256 
    default: graphical tool: systemctl 
  Compilers: clang: 18.1.8 gcc: 14.2.1 Shell: Bash v: 5.2.37 running-in: st 
    inxi: 3.3.36

Can you please reference this related issue/post;

(It appears you may need to selectively update the β€˜System Firmware’ before the rest.)

This is very out of date - I believe this also matches the other reports of the system firmware being β€˜too old’ for the update to easily be applied.

It would appear that a bootable ISO is available.
This is good, and can be used instead of or before fwupd.
The iso file is this one at the link;
https://download.lenovo.com/pccbbs/mobiles/n23ur42w.iso

2 Likes

Thank you. So I managed to follow steps suggested in the first link to upgrade from 1.25->1.30

inxi -Farz | grep UEFI

uuid: <superuser required> UEFI: LENOVO v: N23ET55W (1.30 )

Specifically,

fwupdmgr get-devices | grep -A 17 'System Firmware'
fwupdmgr update d169f51617850d36bdc7c22c7fd512bc9680c95a

this rebooted my machine into what I think was the Lenovo firmware updater (BIOS looking fonts etc) - took a few minutes with lots of beeping. Update was successful.

Then fumbled around trying to boot with the .iso file - followed the usual steps using dd etc. but was unable to boot.

I then did the exact same as the above again:

fwupdmgr update d169f51617850d36bdc7c22c7fd512bc9680c95a

This time there was no BIOS-looking update displayed on reboot, just the text

fwupd-efi version 1.6
Reset system

followed by a generic β€œLenovo” screen that persisted for a few minutes. Scary! System rebooted normally and I then did a fwupdmgr update which resulted in the same as the above + several loops through the BIOS splash screen and now I have uuid: <superuser required> UEFI: LENOVO v: N23ET89W (1.64 ) and additionally

>> fwupdmgr get-updates
Devices with no available firmware updates: 
 β€’ UEFI Device Firmware 
Devices with the latest available firmware version: 
 β€’ Embedded Controller 
 β€’ Intel Management Engine 
 β€’ MZVLB256HAHQ-000L7 
 β€’ System Firmware 
 β€’ Thunderbolt host controller 
No updates available

Unfortunately after the above I unplugged the power and instantly went into another kernel panic. How do I determine if firmware is at the latest version? I’m guessing β€œno available firmware updates” doesn’t imply β€œup to date”…

This would indicate to me that you have the latest BIOS.
(As 1.64 is the latest version provided by the lenovo website.)
Now, rebooting into the BIOS settings can you find a setting for sleep ?

Recall that we want to change the sleep state option to β€œLinux” mode.

The following should reboot you into BIOS directly;

systemctl reboot --firmware-setup

Recall that we want to change the sleep state option to β€œLinux” mode.

Quite right! Forgot to look for it… Set the sleep state to Linux - will play around with things over the next few days before marking as solved.

1 Like

Hey @_dunce,

It’s always nice to see a post you created get bumped up. Like a proud father I got the notification, and came to check out what’s going on. Apologies for the delay.

Kernel Panics:
So, I did resolve this issue and I still have my X1C6 running Manjaro without any issues today. What I did to finally resolve the issue was to adjust some intel graphics kernel parameters.

Check out the wiki page here:
https://wiki.archlinux.org/title/Intel_graphics

Specifically, look at: β€œ6.15 Crash/freeze on low power Intel CPUs” section. If I recall correctly, someone pointed me to this step due to some odd behavior with the integrated Intel GPU and the Kaby Lake CPUs that come with the X1C6 Thinkpads. I’d start with adding all 3 Kernel parameters to see if it fixes your panic issues first. If it does, then follow the Wiki and see which ones you can remove to keep the laptop working properly.

BIOS and Firmware Updates:
Also, I read you did a lot of extra work to get the BIOS and other system updates and firmware done. Word of advice (at least what I do), is always dual-boot and keep a small Windows partition around for system updates. The β€œLenovo Vantage” software that is used for updating all the major components (Thunderbolt Controller, BIOS, Firmware updates, etc.) is solid and super easy to update BIOS and other components. Basically, this is the only reason I dual-boot and still use Windows occasionally.

Good luck with the troubleshooting. Hopefully, this gets things working properly for you!

Thanks,
Asif

1 Like

So unfortunately the firmware update / setting linux sleep state did not resolve the issue (but this needed to be done anyway).

So, I did resolve this issue and I still have my X1C6 running Manjaro without any issues today. What I did to finally resolve the issue was to adjust some intel graphics kernel parameters.

Interesting. Thanks for this. I’ve stuck all three in the GRUB_CMDLINE_LINUX_DEFAULT= line and updated grub. Will see how it goes.

I am curious why this issue has only popped up in the last year or so.

https://wiki.archlinux.org/title/Intel_graphics#Crash/freeze_on_low_power_Intel_CPUs

Some emphasis added by me. ^

I would shoot for ahci.mobile_lpm_policy=1 alone first, as it is the least disruptive.

1 Like

Thanks. I did note the note about using all three but there is also apparently β€˜contention’ about the disruptiveness of enable_dc=0… I’ve followed your suggestion for now - reverting to just the third flag.

Any update?

Hi,

I had about 1-2 days of moderate/heavy use without any panics with just the ahci.mobile_lpm_policy=1 flag. Unfortunately it didn’t last - after opening laptop from sleep and logging in (~2 days ago), I started an application and then panic. I’ve now got the enable_dc=0 flag by itself. Will give it a couple more days. About ready to launch the machine out the window and buy a new one :slight_smile: .

1 Like