Entry created
2024-01-07

Translation(s): none

DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware.

Models covered
ThinkPad X1 Carbon Gen 11

Sub-models (21HMCTO1WWDE2) options :
- Graphic Card: Integrated Intel® Iris® Xe Graphic card)
- Display: 14" WUXGA (2880 x 1800), IPS, Anti-Glare, Non-Touch, 100%sRGB, 400 nits, 60Hz, Low Power, Low Blue Light
- WLAN: Intel® Wi-Fi 6E AX211 2x2 AX vPro® & Bluetooth® 5.1 or above
- Storage: 512 GB SSD M.2 2280 PCIe Gen4 Performance TLC ?OpalDisk and Ram size
- Memory : 16 GB LPDDR5-6400MHz (Soldered)
- Camera : 1080P FHD RGB with Privacy Shutter

Overall Status

Core Components

[ATTACH]

Boot Standard Kernel:

{OK}

LAN network card:

[-]

Detect CD/DVD:

[-]

Detect hard drives:

{OK}

Secure boot:

{OK}

Extra Features

CPU Frequency Scaling

{OK}

Hibernation

{OK}

Sleep / Suspend

{OK}

Xorg/Wayland

X-(

- OpenGL

[?]

- Resize-and-Rotate(randr)

[?]

Switch to External Screen

{OK}

Mouse

- Built-in (Trackpoint)

{OK}

- Built-in (Touchpad)

{OK}

WWAN

[-]

Bluetooth

X-(

Wireless/Wifi

X-(

Camera

/!\

Keyboard's Hotkeys

{OK}

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware

Important Note

To get laptop boot detect and boot the net-installer you will need to modify the Secure Boot settings. By default there are no Microsoft 3rd party UEFI CAs allowed, you need to explicitly enable the usage of such CAs. The used Debian key/certificate falls into that category. Have a look at: Enable_Secure_Boot_for_Linux_Secured-core_PCs.pdf provided by Lenovo.

In case you want to use later any external USB-C dock (e.g. to use external screens) you should also disable the setting of Thunderbolt 4 PCIe Tunneling. See this Lenovo Discussion thread for a more in deep explanation.

As the available package firmware-iwlwifi in unstable/testing is too old while writing (2024-01), you need to manually provide the firmware files for the WiFi hardware. Also the firmware for the i915 based graphic unit is needed to get provided manually, otherwise the generated initramfs image is getting build without the firmware files and the booting of the new installed system is getting to stock after the successful run of the net-installer.

Beside the needed firmware the installer is currently suffering from a small issue in case the iwlwifi module is needing to get reloading due detected missing firmware files. The following steps will help you to work around the current issues.

You will nee an additional USB drive, ideally formatted with a vfat filesystem. Ensure you use the correct device path to prevent loss of data! Replace /dev/sd[x] with the correct device on your side.

$ sudo mkfs.vfat /dev/sd[x]

Mount the created device, e.g. to /tmp/installer-addon. Open that folder within a CLI window. Run the following commands to get the required files.

# Get the fixed shell script for checking on missing firmware.
$ wget https://salsa.debian.org/tijuca/hw-detect/-/raw/master/check-missing-firmware.sh?ref_type=heads -O check-missing-firmware
# Now prepare the firmware stuff.
$ mkdir firmware && cd firmware
# Load the firmware files for the WLAN modul.
$ wget -r -nd -e robots=no -A 'iwlwifi-so-a0-gf-a0*.*' --accept-regex '/plain/' https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/
# Load the firmware files for the i915 modul.
$ mkdir i915 && cd i915
§ wget -r -nd -e robots=no --accept-regex '/plain/' https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915

Once done unmount the device, plug it into the X1 together with the net-installer medium and boot the laptop. Start the Installer in expert installer mode and open a console after the third point ("Detect and mount installation media") and run the following steps. Again, substitute /dev/sd[x] with the name of the device on your side.

# mkdir /tmp/stick
# mount /dev/sd[x] /tmp/stick -t vfat
# cp /tmp/stick/check-missing-firmware /bin
# # Check that the copied file is executable! Should be automatically the case if you use vfat as filesystem.
# cp -a /tmp/stick/firmware/* /lib/firmware

Switch back to the first console window and go through the rest of the installer. The copy of the firmware files into the target system is done automatically by the installer while the installation process.

Configuration

Display

Audio

Mouse

Power Management

WiFi

Modem


System Summary

lspci

$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation Raptor Lake-P/U 2p+8e cores Host Bridge/DRAM Controller [8086:a708] (rev 01)
00:02.0 VGA compatible controller [0300]: Intel Corporation Raptor Lake-P [Iris Xe Graphics] [8086:a7a1] (rev 04)
00:04.0 Signal processing controller [1180]: Intel Corporation Raptor Lake Dynamic Platform and Thermal Framework Processor Participant [8086:a71d] (rev 01)
00:05.0 Multimedia controller [0480]: Intel Corporation Device [8086:a75d] (rev 01)
00:06.0 PCI bridge [0604]: Intel Corporation Raptor Lake PCIe 4.0 Graphics Port [8086:a74d] (rev 01)
00:07.0 PCI bridge [0604]: Intel Corporation Raptor Lake-P Thunderbolt 4 PCI Express Root Port #0 [8086:a76e] (rev 01)
00:07.2 PCI bridge [0604]: Intel Corporation Raptor Lake-P Thunderbolt 4 PCI Express Root Port #2 [8086:a72f] (rev 01)
00:08.0 System peripheral [0880]: Intel Corporation GNA Scoring Accelerator module [8086:a74f] (rev 01)
00:0a.0 Signal processing controller [1180]: Intel Corporation Raptor Lake Crashlog and Telemetry [8086:a77d] (rev 01)
00:0d.0 USB controller [0c03]: Intel Corporation Raptor Lake-P Thunderbolt 4 USB Controller [8086:a71e] (rev 01)
00:0d.2 USB controller [0c03]: Intel Corporation Raptor Lake-P Thunderbolt 4 NHI #0 [8086:a73e] (rev 01)
00:0d.3 USB controller [0c03]: Intel Corporation Raptor Lake-P Thunderbolt 4 NHI #1 [8086:a76d] (rev 01)
00:12.0 Serial controller [0700]: Intel Corporation Alder Lake-P Integrated Sensor Hub [8086:51fc] (rev 01)
00:14.0 USB controller [0c03]: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller [8086:51ed] (rev 01)
00:14.2 RAM memory [0500]: Intel Corporation Alder Lake PCH Shared SRAM [8086:51ef] (rev 01)
00:14.3 Network controller [0280]: Intel Corporation Raptor Lake PCH CNVi WiFi [8086:51f1] (rev 01)
00:15.0 Serial bus controller [0c80]: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 [8086:51e8] (rev 01)
00:16.0 Communication controller [0780]: Intel Corporation Alder Lake PCH HECI Controller [8086:51e0] (rev 01)
00:1f.0 ISA bridge [0601]: Intel Corporation Raptor Lake LPC/eSPI Controller [8086:519d] (rev 01)
00:1f.3 Audio device [0403]: Intel Corporation Raptor Lake-P/U/H cAVS [8086:51ca] (rev 01)
00:1f.4 SMBus [0c05]: Intel Corporation Alder Lake PCH-P SMBus Host Controller [8086:51a3] (rev 01)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Alder Lake-P PCH SPI Controller [8086:51a4] (rev 01)
04:00.0 Non-Volatile memory controller [0108]: KIOXIA Corporation NVMe SSD Controller XG8 [1e0f:0010] (rev 01)

lsusb

$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 8086:0b63 Intel Corp. USB Bridge
Bus 001 Device 003: ID 06cb:00fc Synaptics, Inc. 
Bus 001 Device 006: ID 8087:0033 Intel Corp. AX211 Bluetooth
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

$ sudo lsusb -v 2>/dev/null | grep -E '\<(^Bus|iProduct|bDeviceClass|bDeviceProtocol)'
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         3 
  iProduct                2 xHCI Host Controller
Bus 001 Device 004: ID 8086:0b63 Intel Corp. USB Bridge
  bDeviceClass            0 
  bDeviceProtocol         0 
  iProduct                2 USB Bridge
Bus 001 Device 003: ID 06cb:00fc Synaptics, Inc. 
  bDeviceClass          255 Vendor Specific Class
  bDeviceProtocol       255 
  iProduct                0 
Bus 001 Device 006: ID 8087:0033 Intel Corp. AX211 Bluetooth
  bDeviceClass          224 Wireless
  bDeviceProtocol         1 Bluetooth
  iProduct                0 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         1 Single TT
  iProduct                2 xHCI Host Controller
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         3 
  iProduct                2 xHCI Host Controller
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         1 Single TT
  iProduct                2 xHCI Host Controller

Resources

Attachments

Some configuration files and sample outputs.

Other reports

Credits