- Lenovo ThinkPad X1 Carbon (Gen 7)
- Updates
- Automatic (Linux Vendor Firmware Service)
- Manual (fwupdmgr)
- Sleep/Suspend
- S3 Suspend Bug with Bluetooth Devices
- BIOS configurations
- Firmware issues
- Touchpad issues
- Freeze when suspending
- Power management/Throttling issues
- Audio
- Clicking/cracking noise when using headphones
- Clicking/cracking noise when using speakers
- Microphone
- Camera
- Secondary IR
- Function Keys
- Fingerprint sensor
- Mobile broadband
- Disabling red LED in ThinkPad logo
- See also
- Lenovo ThinkPad X1 Carbon
- Booting
- Legacy-BIOS
- Hanging on «HWP enabled» message
- Hardware
- Audio
- Xbindkeys
- Network
- Touchscreen
- Video
- Brightness control
- Wrong EDID for external display
- KMS
- Webcam
- Fingerprint Reader
- WWAN (Mobile broadband)
- GPS
- Keyboard backlight
- Bluetooth
- Mouse/Touchpad
- Docking
- See also
Lenovo ThinkPad X1 Carbon (Gen 7)
Warning: There are reports that enrolling custom Secure Boot keys may brick this machine because of firmware bugs.
The most convenient way to install Arch Linux is by disabling «Secure Boot» Security -> Secure Boot — Set to «Disabled» . However it is possible to self-sign your kernel and boot with it enabled. For further information have a look at the Secure Boot article.
In case your efivars are not properly set it is most likely due to you not being booted into UEFI. Should the problem persist be sure to consult the UEFI#UEFI variables section.
Updates
Automatic (Linux Vendor Firmware Service)
In August of 2018 Lenovo has joined the Linux Vendor Firmware Service (LVFS) project, which enables firmware updates from within the OS. BIOS updates (and possibly other firmware such as the Thunderbolt controller) can be queried for and installed through fwupd.
If your thunderbolt port is unstable after upgrading with fwupd, you can visit the Lenovo ThinkPad X1 Carbon (Gen 7) driver website and upgrade the thunderbolt firmware manually.
Manual (fwupdmgr)
Lenovo may in the future provide cabinet files that can be directly installed with fwupdmgr. Check for Linux .cab files from the Lenovo ThinkPad X1 Carbon (Gen 7) driver website.
- Make sure the AC adapter is firmly connected to the target computer.
- Launch Terminal.
- Move to the directory where the cabinet file was placed.
- Run fwupdmgr install xxxxxxxx.cab to schedule firmware update.
- Restart the system.
- The computer will be restarted and the UEFI BIOS will be updated.
Sleep/Suspend
The BIOS has two «Sleep State» options, Windows and Linux, which you can find in Config -> Power -> Sleep State . The Linux option is the traditional S3 power state where all hardware components are turned off except for the RAM, and it should work normally. The Windows option is a newer software-based «modern standby» which works on Linux (despite the name). One possible benefit to the Windows sleep state is faster wake up time, and one possible drawback is increased power usage.
Mark Pearson, a Lenovo employee, recommends using the «Windows» sleep state option as it is better supported on modern Intel processors. The same is true for other modern Thinkpads except for AMD models (as of November 2020).
S3 Suspend Bug with Bluetooth Devices
Occasionally your Thinkpad will wake up immediately after suspending with certain bluetooth devices added. To prevent this, remove the devices or disable bluetooth before suspending.
BIOS configurations
In Config > Thunderbolt BIOS Assist Mode set to Enabled. When disabled, power usage appears to be significantly higher because of a substantial number of CPU wakeups in s2idle.
Tip: You may need to disable Kernel DMA protection in Security > Virtualization > Kernel DMA Protection set to Disabled
Firmware issues
The following issues can all be resolved by upgrading the firmware with fwupdmgr (see #BIOS Updates), but there may be alternative manual/temporary fixes.
Touchpad issues
Due to a bug in a touchpad firmware, the touchpad might not work with following logs in dmesg:
[ 4.499490] i2c_designware i2c_designware.1: i2c_dw_handle_tx_abort: lost arbitration [. ] [ 12.668795] i2c_hid i2c-SYNA8005:00: failed to set a report to device. [ 13.678765] i2c_designware i2c_designware.1: controller timed out
Freeze when suspending
There are reports of the system freezing after initiating a suspend or hibernate. A temporary fix is to add snd_hda_intel.dmic_detect=0 to your kernel parameters. see [1]. This temporary fix is somehow disable the microphone, use this at your own risk
Power management/Throttling issues
A bug causes the CPU to consume less power than under Windows and throttle at 80°C instead of 97°.
The alternative fix is to install throttled , then start/enable throttled.service .
Audio
This laptop requires ALSA firmware to work.
If you are still having issues, add the following:
/etc/modprobe.d/blacklist.conf
blacklist snd_hda_intel blacklist snd_soc_skl
load-module module-alsa-sink device=hw:0,0 channels=4 load-module module-alsa-source device=hw:0,7 channels=4
Clicking/cracking noise when using headphones
If you are hearing clicking/cracking noises when using headphones, this command helped me. I have to run it after each restart.
# hda-verb /dev/snd/hwC0D0 0x1d SET_PIN_WIDGET_CONTROL 0x0
Clicking/cracking noise when using speakers
The newest alsa-ucm-conf is missing the speakers configuration. Downgrade it to 1.2.3-2.
Microphone
On version 5.3 and newer the SOF firmware can be enabled, see Talk#Microphone.
If you are having issues getting the microphone to be detected, see the troubleshooting section in #Audio.
Camera
Secondary IR
Some models of this laptop include a second infrared (IR) webcam (originally to be used with Windows Hello) which is uncovered by the privacy slider. v4l2-ctl —list-devices will show all available video devices. The IR emitter can be manipulated using chicony-ir-toggle.
Facial authentication can be archived using Howdy.
Function Keys
In the firmware configuration it is possible to swap the Ctrl and Fn keys.
Fingerprint sensor
An official Lenovo firmware with Linux support is available from fwupd. After installing fwupd, you can update the Synaptics Prometheus driver for the fingerprint sensor:
# fwupdmgr refresh # fwupdmgr get-updates Prometheus Fingerprint Reader Device Update: New version: 10.01.3158804 New features and enhancements: Support Linux system # fwupdmgr update
To use the fingerprint sensor, follow the instructions from Fprint.
If you had previously installed the testing version of this driver from lvfs-testing, there should be no issues updating to this driver version from the main repository.
Mobile broadband
The Fibocom LTE module has Linux support once switched to USB mode; see [2] and [3]
Disabling red LED in ThinkPad logo
You can temporarily disable the red LED in the ThinkPad logo on the cover:
- Enable writing to the embedded controller registers by adding the kernel parameter ec_sys.write_support=1 .
- Disable the LED with this command:
# echo -n -e "\x0a" | dd of="/sys/kernel/debug/ec/ec0/io" bs=1 seek=12 count=1 conv=notrunc 2> /dev/null
This would need to be run after each suspend/reboot to be permanent.
See also
- https://www.thinkwiki.org/wiki/ThinkWiki
- Dell XPS 13 9370 quirks: Some pointers on getting Watt usage down to ~2W, Intel video powersaving features might be interesting, see also the Intel graphics page for interesting power-saving options.
- Intel Blog: Best practice to debug Linux* suspend/hibernate issues, including the pm-graph tool to analyze power usage during suspend
- How to fix volume control (ALSA problem) This is where the volume fix came from originally.
- Windows System Power States
- System Sleep States at kernel.org
Lenovo ThinkPad X1 Carbon
Lenovo ThinkPad X1 Carbon (X1C). There is also a touch version. Comes without optical drive. Has UEFI BIOS with BIOS-legacy fallback mode.
Note: This article is about the 1st generation model introduced in 2012. For more recent generations, see Category:Lenovo.
Booting
Legacy-BIOS
Boot into your BIOS and change the boot mode to Legacy. Then simply follow the normal installation guide.
Hanging on «HWP enabled» message
This is due to a bug introduced in Linux 4.4. To work around it, add intel_pstate=no_hwp to your kernel parameters.
Hardware
Almost everything works out of the box.
Audio
Sound works out of the box.
Xbindkeys
For alternative window managers (Fluxbox, etc..), try installing xbindkeys and adding the following to ~/.xbindkeysrc :
"amixer -c 0 set Master 1dB-" XF86AudioLowerVolume "amixer -c 0 set Master 1dB+" XF86AudioRaiseVolume
Network
Wired networking works out of the box with the Ethernet to USB adapter. Wireless works out of the box using the iwlwifi module.
Network controller: Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 96)
Touchscreen
Works out of the box. To enable multi-touch, install Touchegg.
Video
The video card installed is Intel HD Graphics 4000. See intel for more info.
Brightness control
Default brightness adjustment keys work but need to be pressed multiple times to increase/decrease the screen brightness. Use either the #Xbindkeys_2 or #ACPI methods to fix this.
Some desktop environments may lack granularity while changing brightness. This is due to the DE (e.g. gnome-settings-daemon) along with the internal graphics module changing the brightness when brightness adjustment keys are pressed causing multiple steps per press. To work around this add the kernel parameter video.brightness_switch_enabled=0 .
Xbindkeys
Install xbindkeys and append the following to ~/.xbindkeysrc :
"xbacklight -dec 5" XF86MonBrightnessDown "xbacklight -inc 5" XF86MonBrightnessUp
ACPI
Writing custom ACPI handlers for the brightness adjustment keys seems to have no effect. In order to use them properly you need to add the kernel parameter acpi_osi=»!Windows 2012″ . See also Backlight#ACPI. Note that the ACPI backlight is disabled by default on Windows 8 hardware with a native backlight. Consider using the #Xbindkeys approach instead.
Wrong EDID for external display
With certain connectors (e.g. MiniDP to VGA), there is a bug getting EDID for the external screen while booting:
[ 93.736330] [drm:intel_dp_i2c_aux_ch] *ERROR* too many retries, giving up
This does not occur if the external screen is connected after booting.
xrandr --newmode 1920x1200_60 154 1920 1968 2000 2080 1200 1203 1209 1235 -hsync +vsync xrandr --addmode DP1 1920x1200_60 xrandr --output DP1 --mode 1920x1200_60
KMS
Enable KMS using the i915 module and by enabling VT in BIOS.
Webcam
Works out of the box. Tested with guvcview
Fingerprint Reader
Works out of the box with Fprint.
For a GUI, fingerprint-gui AUR is already patched to work with the X1’s newer fingerprint reader. To get the gui’s dropdown to recognize your device, you will have to add your user to the plugdev group:
See fingerprint-gui for more information about config
147e:2020 Upek TouchChip Fingerprint Coprocessor (WBF advanced mode)
WWAN (Mobile broadband)
This model includes a Ericsson H5321gw adapter that can be used as a mobile broadband adapter and GPS.
The SIM-card must be inserted in the back of the laptop.
Add text to the following file and reboot
/etc/modprobe.d/avoid-mbib.conf
options cdc_ncm prefer_mbim=N
Tested OK with NetworkManager with modemmanager installed
0bdb:1926 Ericsson Business Mobile Networks BV
GPS
Install gpsd and mbm-gpsd-git AUR . Add this to the following file
ATTRS=="0bdb", ATTRS=="1926", ENV=="09", ENV="gps_nmea" ATTRS=="0bdb", ATTRS=="1926", ENV=="03", ENV="gps_ctrl"
Reboot to reload udev rules.
See if there is GPS-output
0bdb:1926 Ericsson Business Mobile Networks BV
Keyboard backlight
Works out of the box. Use FN+Space
Bluetooth
First try to set up Bluetooth normally. If you get kernel error messages:
kernel: bluetooth hci0: Direct firmware load for brcm/BCM20702A1-0a5c-21e6.hcd failed with error -2 kernel: Bluetooth: hci0: BCM: Patch brcm/BCM20702A1-0a5c-21e6.hcd not found
You need to manually install the proprietary firmware. The slackware wiki describes one way to do this: https://www.slackwiki.com/Btfirmware-nonfree.
Mouse/Touchpad
Works out of the box. See TrackPoint for additional details.
Docking
This model has no docking port.
Video for USB 3 Docking Stations currently is not supported, so you must use a USB Port Replicator with Digital Video (USB 2.0)
- USB-devices connected to dock
- Audio
- Microphone
- Ethernet
- Video (see DisplayLink)