Talk:Lenovo ThinkPad X1 Carbon (Gen 7)

From ArchWiki
Jump to navigation Jump to search

Touchpad with 5.4.x

With linux 5.4 touchpad stopped working on about 50% of bootups. With touchpad not working I'm getting following messages in dmesg.

[    4.499490] i2c_designware i2c_designware.1: i2c_dw_handle_tx_abort: lost arbitration
[    5.518759] i2c_designware i2c_designware.1: controller timed out
[    5.519959] i2c_hid i2c-SYNA8005:00: failed to retrieve report from device.
[    5.521187] input: SYNA8005:00 06CB:CD8C Mouse as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-9/i2c-SYNA8005:00/0018:06CB:CD8C.0001/input/input9
[    5.521337] input: SYNA8005:00 06CB:CD8C Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-9/i2c-SYNA8005:00/0018:06CB:CD8C.0001/input/input10
[    5.521442] hid-generic 0018:06CB:CD8C.0001: input,hidraw0: I2C HID v1.00 Mouse [SYNA8005:00 06CB:CD8C] on i2c-SYNA8005:00
[    6.585507] i2c_designware i2c_designware.1: controller timed out
[    6.585590] i2c_hid i2c-SYNA8005:00: failed to retrieve report from device.
[    6.585678] hid-multitouch 0018:06CB:CD8C.0001: failed to fetch feature 8
[    7.599201] i2c_designware i2c_designware.1: controller timed out
[    7.599319] i2c_hid i2c-SYNA8005:00: failed to retrieve report from device.
[    7.599385] hid-multitouch 0018:06CB:CD8C.0001: failed to fetch feature 8
[    8.612535] i2c_designware i2c_designware.1: controller timed out
[    8.612636] i2c_hid i2c-SYNA8005:00: failed to retrieve report from device.
[    8.612711] hid-multitouch 0018:06CB:CD8C.0001: failed to fetch feature 7
[    9.625537] i2c_designware i2c_designware.1: controller timed out
[    9.625642] i2c_hid i2c-SYNA8005:00: failed to retrieve report from device.
[    9.625873] input: SYNA8005:00 06CB:CD8C Mouse as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-9/i2c-SYNA8005:00/0018:06CB:CD8C.0001/input/input19
[    9.626417] input: SYNA8005:00 06CB:CD8C Touchpad as /devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-9/i2c-SYNA8005:00/0018:06CB:CD8C.0001/input/input20
[    9.627084] hid-multitouch 0018:06CB:CD8C.0001: input,hidraw0: I2C HID v1.00 Mouse [SYNA8005:00 06CB:CD8C] on i2c-SYNA8005:00
[   10.132275] kauditd_printk_skb: 15 callbacks suppressed'
[   10.639147] i2c_designware i2c_designware.1: controller timed out
[   10.639250] i2c_hid i2c-SYNA8005:00: failed to set a report to device.
[   11.652134] i2c_designware i2c_designware.1: controller timed out
[   11.652167] i2c_hid i2c-SYNA8005:00: failed to set a report to device.
[   12.668764] i2c_designware i2c_designware.1: controller timed out
[   12.668795] i2c_hid i2c-SYNA8005:00: failed to set a report to device.
[   13.678765] i2c_designware i2c_designware.1: controller timed out
[   14.692095] i2c_designware i2c_designware.1: controller timed out
[ every second ...]
[   26.852160] i2c_designware i2c_designware.1: controller timed out

Kubuxu (talk) 13:47, 16 December 2019 (UTC)

This might be totally unrelated, but I had both sleep and touchpad break the other day and temporarily fixed it with the snd_hda_intel.dmic_detect=0 kernel option (see this wrycode (talk) 06:28, 17 December 2019 (UTC)
I have snd_hda_intel blacklisted to make sure that SOF is used. So far I had one SOF related DSP crash but apart from that SOF seems fine. There is also touchpad firmware update I've applied, I will let you all now about the results. Kubuxu (talk) 12:11, 17 December 2019 (UTC)
After updating Touchpad firware (using fwupdmgr) to 1.3.3013412 problem seems to be resolved. Kubuxu (talk) 12:43, 27 December 2019 (UTC)
Confirmed here as well wrycode (talk) 02:42, 28 December 2019 (UTC)
Did anyone experience issues with updating this firmware with fwupdmgr? I continuously get No upgrades for Touchpad: current version is 1.3.3013337: 1.3.3013337=same. I even tried to download the .cab file and use fwupdmgr install and get No supported devices found In0ni (talk) 00:20, 7 January 2020 (UTC)
Seems like you have the latest update already. wrycode (talk) 18:18, 7 January 2020 (UTC)
Latest firmware should be 1.3.3013412 -- not 1.3.3013337. I'm having the issue this discussion is talking about which the latest version fixes. What version of the firmware did you update to? In0ni (talk) 04:19, 9 January 2020 (UTC)
Sorry, I assumed 1.3.3013412 and 1.3.3013337 were the same version or something (the version is listed as "PR3013337/PR3013412" in the Readme on Lenovo's site. I updated to 1.3.3013337 from 1.1.2949533 and my touchpad issues went away. But if you're still having issues with the touchpad then maybe it wasn't actually the firmware update that fixed it for me? I'm on kernel 5.4.8 and everything works except for the microphone. wrycode (talk) 04:38, 10 January 2020 (UTC)
Updated Wiki page with the info Kubuxu (talk) 17:38, 29 December 2019 (UTC)
Where are you getting the firmware? The only version I can find is an exe Mondoman712 (talk) 14:07, 23 January 2020 (UTC)
I'm using fwupdmgr Kubuxu (talk) 17:14, 23 January 2020 (UTC)
The touchpad wasn't showing up for me there, but it wasn't working when I tried so I rebooted and then it appeared. Mondoman712 (talk) 18:19, 23 January 2020 (UTC)

Microphone

Did you get your microphone to work neither alsamixer or pavucontrol seem to detect a microphone. ? Nitrobay (talk) 11:38, 17 August 2019 (UTC)

I can confirm using this test, only externally connected microphones work. — goetzc (wanna talk?) 14:24, 17 August 2019 (UTC)
Looks like Linux kernel 5.3 will include the SOF firmware update with the fix for the microphone. — goetzc (wanna talk?) 14:25, 6 September 2019 (UTC)
After updating to Linux kernel 5.3.1 the microphone still does not work Moreka (talk) 17:30, 23 September 2019 (UTC) User:Moreka 17:30, 23 September 2019 (UTC)
I found a configuration that makes the microphones to work ;) but couldn't paste the instructions or a link to them. I created a forum post under Laptop Issues and titled [SOLVED] Fix for microphone on Lenovo X1 Gen 7 Alphazo (talk) 10:15, 13 October 2019 (UTC)
Like others, I wasn't able to get microphone working by following that guide. My results are identical to that of "Mocco" from that forum. Unless I'm misunderstanding the sidebar, I think we should flag microphone to "not working" for this page. Parth (talk) 23:54, 20 October 2019 (UTC)
I wasn't able to get microphone working by following that guide as well. I also think we should flag microphone to "not working" for this page. Moreka 06:04, 22 October 2019 (UTC)
Managed to get it working following Alphazo's guide. There are a few typos however, I indicated the required fix in post #9. Hope it helps. Tbw (talk) 21:23, 22 October 2019 (UTC)
I'll give it another shot and report back Parth (talk) 17:17, 30 October 2019 (UTC)
I was able to make the microphone + sound playback work with following the Lenovo docx file and using the sof-hda-generic.tplg and sof-cnl.ri provided in the latest linux firmware package shipped with ubuntu (just download the package and copy the two files in the correct directories). Also the changes in /etc/pulse/default.pa are not necessary. moreka 17:08, 31 October 2019 (UTC)
With recent kernel the SOF was disabled [1]. Solution for me was to install linux-pf and disable CONFIG_SND_SOC_INTEL_SST, enable SOT. Kubuxu (talk) 14:12, 19 November 2019 (UTC)
Please test with linux 5.4.1-arch1 (in testing) and sof-firmware (new). SOF is re-enabled except on Broadwell/Baytrail platforms. Dpward (talk) 17:42, 1 December 2019 (UTC)
I tested with the new kernel and sof-firmware package (from the Arch repositories). Doing the configs as in the docx file, the sound works well, but the microphone records sounds in a wrong way; it sounds as if it is slow-motion. User:moreka 15:16, 3 December 2019 (UTC)
I experienced the same issue like moreka after installing the current kernel (5.4.2.arch1-1) and sof-firmware (1.3.1-1) from the core repo. Also since sof is in use the speakers only provide stereo audio and not using the 4.0 channel profile. Bin101 (talk) 19:09, 6 December 2019 (UTC)
When using sof-firmware version 1.4.1 (and latest kernel 5.4.2) the sound card doesn't get recognized at all. Reverting back to sof-firmware 1.3.1 makes the card work again, in the same way explained by users Moreka and Bin101. — Götz (wanna talk?) 13:33, 9 December 2019 (UTC)
Yeah a whole host of things broke for me in 5.4.2: hibernate, touchpad & sound all broke for me in 5.4.2. Parth (talk) 04:43, 10 December 2019 (UTC)
With 5.4.3 the Mic works with custom topology file sof-hda-generic-4ch.tplg. The touchpad is broken on about 50% of bootups. I will start a new thread about it. Kubuxu (talk) 13:37, 16 December 2019 (UTC)
I was (finally!) able to get the mic to work on a HP EliteBook x360 1030 G4, using kernel 5.4.1 and sof-firmware 1.3.1. Spoke too soon. Not working after all. Details here. Darose 21:18, 18 December 2019 (UTC)
Still problematic with kernel 5.5-rc6 (compiled myself). Just the two top speakers are firing (not the rear ones). Super annoying. The microphone works, though... Using sof-firmware 1.3 (from Arch repo) User:Moreka 14:18, 17 January 2020

Disabling red LED in Thinkpad logo stops

This service doesn't work after a suspend. wrycode (talk) 15:36, 9 August 2019 (UTC) I removed the script and systemd service. They were copied verbatim from the Gen 6 page and don't work as described.wrycode (talk) 05:10, 10 January 2020 (UTC)

Volume Controls

The section Volume Controls fixes the quite/loud volume control, but seems to disable (they are already disabled) the two top-firing speakers, only the two bottom-firing sub-woofers are enabled. --Goetzc (talk) 17:12, 9 August 2019 (UTC)

So this seems to fix the volume control indeed, but the top-firing speakers were already and are still muted, might be a driver bug, but a workaround from another Dolby Atmos laptop might work here. --Goetzc (talk) 17:32, 9 August 2019 (UTC)
Did you remember to run alsamixer from alsa-utils after installation and turn on/equalize all of the speakers? Mine (top and bottom) are working fine. wrycode (talk) 03:54, 13 August 2019 (UTC)
You are correct Wrycode, thanks! The "Master" volume was low, rising it to 100% makes the top speakers work as expected :) Will add this to the section.
Do you happen to know how to make this change (setting the "Element Master") so that it's not done on the system analog-output.conf.common file, and thus the change survives when PulseAudio package is updated? — goetzc (wanna talk?)
I did some digging around and I can't find a way to do this. Pulseaudio might not have a user config option for the alsa paths in /usr/. Added the NoUpgrade workaround on the main page. wrycode (talk) 02:05, 20 August 2019 (UTC)
There is this interesting method, which uses 'hdajackretask' from the alsa-tools package to remap some pins. The comment is for a different laptop (Asus UX550 using Realtek ALC295), but it exhibits the same issue. We would need to determine the correct pins for this hardware (Realtek ALC285), don't know how, though. — goetzc (wanna talk?) 19:08, 25 August 2019 (UTC)

Screen Brightness Function Keys

Is anyone having issues getting the screen brightness function keys working? I had to install acpid and setup ACPI events and actions to handle it, along with installing the acpilight package.

My events:

/etc/acpi/events/FnF5-brightnessdown

# video/brightnessdown BRTDN 00000087 00000000
event=video/brightnessdown
action=xbacklight -dec 3

/etc/acpi/events/FnF6-brightnessup

# video/brightnessup BRTUP 00000086 00000000
event=video/brightnessup
action=xbacklight -inc 3

xev doesn't recognise the brightness function keys, so I can't handle the key presses with my window manager. At least that is what I believe, please correct me if I have this all wrong. Raybangs (talk) 10:16, 23 August 2019‎ (UTC)

I didn't have to go through that to get screen brightness going. Can you tell me more about your setup? I'm using Plasma and my brightness controls worked out of the box. Johncrist1988 (talk) 14:16, 23 August 2019 (UTC)
It works for me also, using brightnessctl (as root) or light on Sway or Plasma. — goetzc (wanna talk?) 18:50, 25 August 2019 (UTC)
Interesting. I'm using a pretty simple base Arch install with AwesomeWM. I will try brightnessctl and see how that goes. —This unsigned comment is by Raybangs (talk) 21:25, 3 September 2019 (UTC). Please sign your posts with ~~~~!

UEFI BIOS Update

Currently UEFI BIOS seems to be at version 1.16. I am unable to find the .cab file in the link provided, on the LVFS Device List, nor have had luck with web searches.

I also followed instructions for | UEFI BIOS upgrade from fwupd on the wiki. Has anyone succeeded in upgrading the firmware to the latest version on Linux? Would using the bootable iso on a USB from the first link work? According the the README it should work (but hesitant to put the iso on USB). In0ni (talk) 22:34, 1 September 2019 (UTC)

Using the bootable iso on a USB should work fine (vs. a CD/DVD). However, I'm hesitant to upgrade because the 1.05 update is supposedly required before updating to the lates version:
UEFI: ---- / ECP: 1.05
 - (Fix) Fixed an issue where system may hang in UEFI BIOS updating process.
       (Note) This package must be applied prior to n2hur04w or later package version.`
The cab files are not available yet. The only way to apply the updates (except for one that's available via fwupdmgr) is through the bootable ISO. I don't see any reason to update personally but if someone else does, please let us know how it goes. wrycode (talk) 20:09, 10 September 2019 (UTC)
Just BTW for anyone else reading this, I updated via the bootable ISO and it didn't brick my device. Also, the .cab files for Linux are hidden in that link (if you click on the sorting menu, it appears to show only Windows updates but if you click on the categories the Linux files are hidden in there somewhere). wrycode (talk) 22:48, 17 December 2019 (UTC)
I did upgrade it using fwupdmgr install <file_name.cab>, after some specific version and restarts, the automatic updates did work using fwupdmgr update. — Götz (wanna talk?) 21:52, 19 December 2019 (UTC)

Why enable S3 sleep?

Could someone add a small bit about why S3 sleep should be enabled? I have been using the default S0 sleep for a few weeks and don't see any issues with it. ~ Akvadrako (talk) 09:55, 10 September 2019 (UTC)

I was under the impression that S3 sleep is 'normal' sleep (everything powered off except for a trickle to the ram), but I'm not sure what modern Windows does instead. The S0 sleep state means "on", that is, the computer is not asleep, according to https://superuser.com/questions/71835/what-is-the-difference-between-these-four-sleep-states wrycode (talk) 04:43, 24 September 2019 (UTC)
Windows only supports S0 sleep and it’s the default, so I think it’s debatable what’s normal. But does that really matter? I’m interested in the practical difference. Maybe I’ll benchmark S3 sometime but for now I can say S0 uses about 0.5W and wakes up in about 1s. ~ Akvadrako (talk) 07:51, 24 September 2019 (UTC)
S0 sleep isn't the traditional Suspend-to-RAM "sleep" that Linux users are expecting, that's what I meant by "normal". You are right that S0 is the default for Windows now. https://www.kernel.org/doc/Documentation/power/states.txt] has some details about the sleep states in Linux, and https://docs.microsoft.com/en-us/windows/win32/power/system-power-states has the same for Windows. It's a software-only idle, so it must use slightly more power than S3, where all components are shut down except for the ram. The Windows page claims that S0 wakes up faster than s3 (which would make sense). Another implication: Windows can do stuff after you close the laptop lid like download updates. Windows separately performs a suspend-to-disk whenever you close the lid, so if you remove the battery or the battery runs out your work will still be saved. It's possible Linux can do this too with S0. I just switched to the "Windows" sleep state from the BIOS to try it out and the wake time isn't noticeably different, but my laptop doesn't wake when I open the lid or press the power button. The only way to wake it up is to press the "Fn" key, very odd (especially because I remapped "Fn" to "Ctrl" from the BIOS, so I'm really pressing "Ctrl"). You're not seeing anything like this? wrycode (talk) 01:04, 16 October 2019 (UTC)
Normally I do press the Fn button to wake, unless I'm using my external keyboard with AC, though it doesn't bother me. So it seems that and possibly some power savings are the advantages of S3. ~ Akvadrako (talk) 10:26, 16 October 2019 (UTC)

Different lspci output

Can anyone check what's their lspci output? I have realised I am running with a completely different setup of the components myself:

lspci
00:00.0 Host bridge: Intel Corporation Coffee Lake HOST and DRAM Controller (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:1c.0 PCI bridge: Intel Corporation Cannon Point-LP PCI Express Root Port #1 (rev f1)
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)
02:00.0 Wireless controller [0d40]: Intel Corporation XMM7360 LTE Advanced Modem (rev 01)
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)

Just in case, on e of the most relevant differences is that I'm not using Fibocom modem but rather the Intel XMM7360 LTE

Is the Intel XMM7360 LTE a stock configuration option? Have you gotten it to work with Linux? wrycode (talk) 05:48, 14 October 2019 (UTC)

I don't have the same lspci output either. I'm in favor of removing that section. It takes up too much space and it's irrelevant/misleading. If we must, the other 6 X1C pages have something like this:

# dmidecode -t system | grep Version
	Version: ThinkPad X1 Carbon 7th

wrycode (talk) 04:59, 10 January 2020 (UTC)

Fibocom LTE now available!

I just saw this Lenovo forum thread which links to this tool to flip the Fibocom into USB mode (which has a Linux driver). wrycode (talk) 02:49, 13 December 2019 (UTC)

I did some initial testing but I need to wait for a new sim card to look deeper into this.

  • just install acpi_call from the official repositories
  • the https://github.com/abrasive/xmm7360 script works exactly as described. NOTE: the modem command interface accessible at /dev/ttyACM0 will be all kinds of broken if you have ModemManager running, so make sure to wait until you've enabled full functionality and unlocked the modem before starting ModemManager.service.
  • AT+GTUSBMODE=7 and AT+CFUN=15 work fine to get the modem working but first you have to issue the FCC Lock commands.
  • Now you should be able to run modem-manager-gui and send and receive SMS messages
  • to get 4G data, separately configure a new "mobile broadband" GSM connection in Network Manager (you can just use nm-connection editor). I accepted all of the default settings, (including the "number"), except for putting my network's APN in.
  • Now the connection should be available to you in one of Network Manager's user interfaces. If you get an error when you select the connection like "device not available", see if /var/lib/NetworkManager/NetworkManager.state has WWANEnabled set to false; to change it you might have to mess around with /etc/NetworkManager/NetworkManager.conf or the nm-applet GUI
  • despite what the README says, the modem stayed accessible for me between suspends (but you have to re-run the script after a reboot)

There's this alternative repository which provides a kernel module for the modem that supposedly stays persistent between reboots. I think the author uses Debian so the makefile would have to be modified for building kernel modules on Arch. wrycode (talk) 21:43, 13 December 2019 (UTC)

Missing RTC device

hwlock --verbose returns:

hwclock from util-linux 2.34
System Time: 1577636985.183322
Trying to open: /dev/rtc0
Trying to open: /dev/rtc
Trying to open: /dev/misc/rtc
No usable clock interface found.
hwclock: Cannot access the Hardware Clock via any known method.

Related messages from dmesg:

[    0.764314] PM: RTC time: 15:54:28, date: 2019-12-29
[    1.438054] hctosys: unable to open rtc device (rtc0)

Kernel 5.4.6.arch3-1 Kubuxu (talk) 16:33, 29 December 2019 (UTC)

Probably a newer kernel bug because hwclock used to work but now I don't have an rtc device available in /dev/ wrycode (talk) 03:15, 16 January 2020 (UTC)

Incorrect ethernet dongle information?

I believe the information in the sidebar about the native ethernet dongle has been incorrectly copied and pasted from a previous model, like it was for the X1Y4. Can an X1C7 owner confirm this? Andersk (talk) 06:26, 4 January 2020 (UTC)

I can confirm that it works out of the box with no problems GH0S1 (talk) 19:11, 5 January 2020 (UTC)

But do you have the dongle that’s linked, as opposed to say this one? All the pictures I can find suggest that the former is copied-and-pasted from previous models and won’t fit in the X1C7. Andersk (talk) 00:41, 6 January 2020 (UTC)

You are right. I have the newer dongle. It doesn't look like the older and wider dongle would fit. GH0S1 (talk)

Cool. Edited the link; feel free to make further edits. Andersk (talk) 01:06, 7 January 2020 (UTC)