You are not logged in.

#1 2022-07-30 17:22:35

muhoss
Member
Registered: 2020-08-26
Posts: 8

Webcam doesn't work in X1 carbon Gen 10

Hi,

I recently got my new X1C10 (21CC), and installed vanilla arch with latest kernel 5.19.5 with KDE plasma5, but the webcam doesn't seem to be detected at all.
No program could identify it.
According to this: https://wiki.archlinux.org/title/Lenovo … n_(Gen_10) , they mentioned that it was tested and works.

I tested it on Windows it was working fine.
I tried to see if video* exists in /dev/, nothing there.

It's ACPI device with ID "OV2740" camera sensor and was registered as "INT3474" driver.

How can I solve the issue?


Thanks in advance
Best wishes
Mu

Last edited by muhoss (2022-08-30 18:46:54)

Offline

#2 2022-07-30 19:15:39

d_fajardo
Member
Registered: 2017-07-28
Posts: 1,563

Re: Webcam doesn't work in X1 carbon Gen 10

Have you tried installing cheese and see if it works?

Offline

#3 2022-07-30 19:57:49

muhoss
Member
Registered: 2020-08-26
Posts: 8

Re: Webcam doesn't work in X1 carbon Gen 10

Yes, I did, it says "No device found"

Offline

#4 2022-07-31 05:43:23

d_fajardo
Member
Registered: 2017-07-28
Posts: 1,563

Re: Webcam doesn't work in X1 carbon Gen 10

Explore udev to see if the device can be found.

Offline

#5 2022-07-31 11:09:41

muhoss
Member
Registered: 2020-08-26
Posts: 8

Re: Webcam doesn't work in X1 carbon Gen 10

Excuse me, How can I do that?

Offline

#6 2022-07-31 11:42:05

d_fajardo
Member
Registered: 2017-07-28
Posts: 1,563

Re: Webcam doesn't work in X1 carbon Gen 10

Have a read of the udev link I posted earlier.
You probably have to look at /sys/class and see if it registers there.

EDIT: Do you get anything just running simply dmesg | grep 'video'?

Last edited by d_fajardo (2022-07-31 11:46:53)

Offline

#7 2022-07-31 12:59:58

muhoss
Member
Registered: 2020-08-26
Posts: 8

Re: Webcam doesn't work in X1 carbon Gen 10

Many thanks,

Here is the output of dmesg:

$ sudo dmesg | grep 'video'
[    3.368757] videodev: Linux video capture interface: v2.00
[    3.697613] thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver
[    5.478768] ACPI: video: Video Device [GFX0] (multi-head: yes  rom: no  post: no)

and here is /sys/class


$ tree /sys/class
/sys/class
├── ata_device
├── ata_link
├── ata_port
├── backlight
│   └── intel_backlight -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight
├── bdi
│   ├── 254:0 -> ../../devices/virtual/bdi/254:0
│   ├── 259:0 -> ../../devices/virtual/bdi/259:0
│   └── mtd-0 -> ../../devices/virtual/bdi/mtd-0
├── block
│   ├── nvme0n1 -> ../../devices/pci0000:00/0000:00:06.0/0000:04:00.0/nvme/nvme0/nvme0n1
│   ├── nvme0n1p1 -> ../../devices/pci0000:00/0000:00:06.0/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p1
│   ├── nvme0n1p2 -> ../../devices/pci0000:00/0000:00:06.0/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p2
│   ├── nvme0n1p3 -> ../../devices/pci0000:00/0000:00:06.0/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p3
│   ├── nvme0n1p4 -> ../../devices/pci0000:00/0000:00:06.0/0000:04:00.0/nvme/nvme0/nvme0n1/nvme0n1p4
│   └── zram0 -> ../../devices/virtual/block/zram0
├── bluetooth
│   └── hci0 -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.0/bluetooth/hci0
├── bsg
├── cpuid
│   ├── cpu0 -> ../../devices/virtual/cpuid/cpu0
│   ├── cpu1 -> ../../devices/virtual/cpuid/cpu1
│   ├── cpu10 -> ../../devices/virtual/cpuid/cpu10
│   ├── cpu11 -> ../../devices/virtual/cpuid/cpu11
│   ├── cpu12 -> ../../devices/virtual/cpuid/cpu12
│   ├── cpu13 -> ../../devices/virtual/cpuid/cpu13
│   ├── cpu14 -> ../../devices/virtual/cpuid/cpu14
│   ├── cpu15 -> ../../devices/virtual/cpuid/cpu15
│   ├── cpu2 -> ../../devices/virtual/cpuid/cpu2
│   ├── cpu3 -> ../../devices/virtual/cpuid/cpu3
│   ├── cpu4 -> ../../devices/virtual/cpuid/cpu4
│   ├── cpu5 -> ../../devices/virtual/cpuid/cpu5
│   ├── cpu6 -> ../../devices/virtual/cpuid/cpu6
│   ├── cpu7 -> ../../devices/virtual/cpuid/cpu7
│   ├── cpu8 -> ../../devices/virtual/cpuid/cpu8
│   └── cpu9 -> ../../devices/virtual/cpuid/cpu9
├── devcoredump
│   └── disabled
├── devfreq
├── devfreq-event
├── devlink
│   ├── pci:0000:00:02.0--pci:0000:00:1f.3 -> ../../devices/virtual/devlink/pci:0000:00:02.0--pci:0000:00:1f.3
│   ├── pci:0000:00:0d.2--pci:0000:00:07.0 -> ../../devices/virtual/devlink/pci:0000:00:0d.2--pci:0000:00:07.0
│   ├── pci:0000:00:0d.2--pci:0000:00:0d.0 -> ../../devices/virtual/devlink/pci:0000:00:0d.2--pci:0000:00:0d.0
│   ├── pci:0000:00:0d.3--pci:0000:00:07.2 -> ../../devices/virtual/devlink/pci:0000:00:0d.3--pci:0000:00:07.2
│   └── pci:0000:00:0d.3--pci:0000:00:0d.0 -> ../../devices/virtual/devlink/pci:0000:00:0d.3--pci:0000:00:0d.0
├── dma
│   ├── dma0chan0 -> ../../devices/pci0000:00/0000:00:15.0/dma/dma0chan0
│   ├── dma0chan1 -> ../../devices/pci0000:00/0000:00:15.0/dma/dma0chan1
│   ├── dma1chan0 -> ../../devices/pci0000:00/0000:00:19.0/dma/dma1chan0
│   └── dma1chan1 -> ../../devices/pci0000:00/0000:00:19.0/dma/dma1chan1
├── dma_heap
│   └── system -> ../../devices/virtual/dma_heap/system
├── dmi
│   └── id -> ../../devices/virtual/dmi/id
├── drm
│   ├── card0 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0
│   ├── card0-DP-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1
│   ├── card0-DP-2 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2
│   ├── card0-DP-3 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-3
│   ├── card0-DP-4 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-4
│   ├── card0-eDP-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1
│   ├── card0-HDMI-A-1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1
│   ├── renderD128 -> ../../devices/pci0000:00/0000:00:02.0/drm/renderD128
│   └── version
├── drm_dp_aux_dev
│   ├── drm_dp_aux0 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/drm_dp_aux0
│   ├── drm_dp_aux1 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/drm_dp_aux1
│   ├── drm_dp_aux2 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2/drm_dp_aux2
│   ├── drm_dp_aux3 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-3/drm_dp_aux3
│   └── drm_dp_aux4 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-4/drm_dp_aux4
├── extcon
├── firmware-attributes
│   └── thinklmi -> ../../devices/virtual/firmware-attributes/thinklmi
├── graphics
│   ├── fb0 -> ../../devices/pci0000:00/0000:00:02.0/graphics/fb0
│   └── fbcon -> ../../devices/virtual/graphics/fbcon
├── hidraw
│   └── hidraw0 -> ../../devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-9/i2c-ELAN067C:00/0018:04F3:31F9.0001/hidraw/hidraw0
├── hwmon
│   ├── hwmon0 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1d/PNP0C09:00/ACPI0003:00/power_supply/AC/hwmon0
│   ├── hwmon1 -> ../../devices/virtual/thermal/thermal_zone0/hwmon1
│   ├── hwmon2 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1d/PNP0C09:00/PNP0C0A:00/power_supply/BAT0/hwmon2
│   ├── hwmon3 -> ../../devices/pci0000:00/0000:00:06.0/0000:04:00.0/nvme/nvme0/hwmon3
│   ├── hwmon4 -> ../../devices/platform/thinkpad_hwmon/hwmon/hwmon4
│   ├── hwmon5 -> ../../devices/platform/USBC000:00/power_supply/ucsi-source-psy-USBC000:001/hwmon5
│   ├── hwmon6 -> ../../devices/virtual/thermal/thermal_zone8/hwmon6
│   ├── hwmon7 -> ../../devices/platform/USBC000:00/power_supply/ucsi-source-psy-USBC000:002/hwmon7
│   └── hwmon8 -> ../../devices/platform/coretemp.0/hwmon/hwmon8
├── i2c-adapter
│   ├── i2c-0 -> ../../devices/pci0000:00/0000:00:02.0/i2c-0
│   ├── i2c-1 -> ../../devices/pci0000:00/0000:00:02.0/i2c-1
│   ├── i2c-10 -> ../../devices/pci0000:00/0000:00:19.0/i2c_designware.1/i2c-10
│   ├── i2c-11 -> ../../devices/pci0000:00/0000:00:1f.4/i2c-11
│   ├── i2c-12 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/i2c-12
│   ├── i2c-13 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1/i2c-13
│   ├── i2c-14 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2/i2c-14
│   ├── i2c-15 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-3/i2c-15
│   ├── i2c-16 -> ../../devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-4/i2c-16
│   ├── i2c-2 -> ../../devices/pci0000:00/0000:00:02.0/i2c-2
│   ├── i2c-3 -> ../../devices/pci0000:00/0000:00:02.0/i2c-3
│   ├── i2c-4 -> ../../devices/pci0000:00/0000:00:02.0/i2c-4
│   ├── i2c-5 -> ../../devices/pci0000:00/0000:00:02.0/i2c-5
│   ├── i2c-6 -> ../../devices/pci0000:00/0000:00:02.0/i2c-6
│   ├── i2c-7 -> ../../devices/pci0000:00/0000:00:02.0/i2c-7
│   ├── i2c-8 -> ../../devices/pci0000:00/0000:00:02.0/i2c-8
│   └── i2c-9 -> ../../devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-9
├── ieee80211
│   └── phy0 -> ../../devices/pci0000:00/0000:00:14.3/ieee80211/phy0
├── input
│   ├── event0 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input0/event0
│   ├── event1 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input1/event1
│   ├── event10 -> ../../devices/platform/i8042/serio1/input/input16/event10
│   ├── event11 -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input21/event11
│   ├── event12 -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input22/event12
│   ├── event13 -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input23/event13
│   ├── event14 -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input24/event14
│   ├── event15 -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input25/event15
│   ├── event2 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input2/event2
│   ├── event3 -> ../../devices/platform/i8042/serio0/input/input3/event3
│   ├── event4 -> ../../devices/platform/INTC1070:00/input/input6/event4
│   ├── event5 -> ../../devices/platform/thinkpad_acpi/input/input8/event5
│   ├── event6 -> ../../devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-9/i2c-ELAN067C:00/0018:04F3:31F9.0001/input/input18/event6
│   ├── event7 -> ../../devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-9/i2c-ELAN067C:00/0018:04F3:31F9.0001/input/input20/event7
│   ├── event8 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input14/event8
│   ├── event9 -> ../../devices/platform/pcspkr/input/input17/event9
│   ├── input0 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input0
│   ├── input1 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input1
│   ├── input14 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input14
│   ├── input16 -> ../../devices/platform/i8042/serio1/input/input16
│   ├── input17 -> ../../devices/platform/pcspkr/input/input17
│   ├── input18 -> ../../devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-9/i2c-ELAN067C:00/0018:04F3:31F9.0001/input/input18
│   ├── input2 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input2
│   ├── input20 -> ../../devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-9/i2c-ELAN067C:00/0018:04F3:31F9.0001/input/input20
│   ├── input21 -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input21
│   ├── input22 -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input22
│   ├── input23 -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input23
│   ├── input24 -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input24
│   ├── input25 -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/input25
│   ├── input3 -> ../../devices/platform/i8042/serio0/input/input3
│   ├── input6 -> ../../devices/platform/INTC1070:00/input/input6
│   ├── input8 -> ../../devices/platform/thinkpad_acpi/input/input8
│   ├── mice -> ../../devices/virtual/input/mice
│   ├── mouse0 -> ../../devices/platform/i8042/serio1/input/input16/mouse0
│   ├── mouse1 -> ../../devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-9/i2c-ELAN067C:00/0018:04F3:31F9.0001/input/input18/mouse1
│   └── mouse2 -> ../../devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-9/i2c-ELAN067C:00/0018:04F3:31F9.0001/input/input20/mouse2
├── intel_pmt
│   ├── telem0 -> ../../devices/pci0000:00/0000:00:0a.0/intel_vsec.telemetry.0/intel_pmt/telem0
│   └── telem1 -> ../../devices/pci0000:00/0000:00:0a.0/intel_vsec.telemetry.0/intel_pmt/telem1
├── intel_scu_ipc
├── iommu
│   ├── dmar0 -> ../../devices/virtual/iommu/dmar0
│   ├── dmar1 -> ../../devices/virtual/iommu/dmar1
│   └── dmar2 -> ../../devices/virtual/iommu/dmar2
├── leds
│   ├── input3::capslock -> ../../devices/platform/i8042/serio0/input/input3/input3::capslock
│   ├── input3::numlock -> ../../devices/platform/i8042/serio0/input/input3/input3::numlock
│   ├── input3::scrolllock -> ../../devices/platform/i8042/serio0/input/input3/input3::scrolllock
│   ├── phy0-led -> ../../devices/pci0000:00/0000:00:14.3/leds/phy0-led
│   ├── platform::micmute -> ../../devices/platform/thinkpad_acpi/leds/platform::micmute
│   ├── platform::mute -> ../../devices/platform/thinkpad_acpi/leds/platform::mute
│   ├── tpacpi::kbd_backlight -> ../../devices/platform/thinkpad_acpi/leds/tpacpi::kbd_backlight
│   ├── tpacpi::lid_logo_dot -> ../../devices/platform/thinkpad_acpi/leds/tpacpi::lid_logo_dot
│   ├── tpacpi::power -> ../../devices/platform/thinkpad_acpi/leds/tpacpi::power
│   ├── tpacpi::standby -> ../../devices/platform/thinkpad_acpi/leds/tpacpi::standby
│   ├── tpacpi::thinklight -> ../../devices/platform/thinkpad_acpi/leds/tpacpi::thinklight
│   └── tpacpi::thinkvantage -> ../../devices/platform/thinkpad_acpi/leds/tpacpi::thinkvantage
├── lirc
├── mei
│   └── mei0 -> ../../devices/pci0000:00/0000:00:16.0/mei/mei0
├── mem
│   ├── full -> ../../devices/virtual/mem/full
│   ├── kmsg -> ../../devices/virtual/mem/kmsg
│   ├── mem -> ../../devices/virtual/mem/mem
│   ├── null -> ../../devices/virtual/mem/null
│   ├── port -> ../../devices/virtual/mem/port
│   ├── random -> ../../devices/virtual/mem/random
│   ├── urandom -> ../../devices/virtual/mem/urandom
│   └── zero -> ../../devices/virtual/mem/zero
├── misc
│   ├── acpi_thermal_rel -> ../../devices/virtual/misc/acpi_thermal_rel
│   ├── autofs -> ../../devices/virtual/misc/autofs
│   ├── cpu_dma_latency -> ../../devices/virtual/misc/cpu_dma_latency
│   ├── fuse -> ../../devices/virtual/misc/fuse
│   ├── HID-SENSOR-2000e1.10.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.10.auto
│   ├── HID-SENSOR-2000e1.11.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.11.auto
│   ├── HID-SENSOR-2000e1.13.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.13.auto
│   ├── HID-SENSOR-2000e1.14.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.14.auto
│   ├── HID-SENSOR-2000e1.15.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.15.auto
│   ├── HID-SENSOR-2000e1.16.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.16.auto
│   ├── HID-SENSOR-2000e1.17.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.17.auto
│   ├── HID-SENSOR-2000e1.19.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.19.auto
│   ├── HID-SENSOR-2000e1.20.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.20.auto
│   ├── HID-SENSOR-2000e1.21.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.21.auto
│   ├── HID-SENSOR-2000e1.22.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.22.auto
│   ├── HID-SENSOR-2000e1.2.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.2.auto
│   ├── HID-SENSOR-2000e1.3.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.3.auto
│   ├── HID-SENSOR-2000e1.4.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.4.auto
│   ├── HID-SENSOR-2000e1.5.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.5.auto
│   ├── HID-SENSOR-2000e1.6.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.6.auto
│   ├── HID-SENSOR-2000e1.8.auto -> ../../devices/virtual/misc/HID-SENSOR-2000e1.8.auto
│   ├── hpet -> ../../devices/virtual/misc/hpet
│   ├── hw_random -> ../../devices/virtual/misc/hw_random
│   ├── kvm -> ../../devices/virtual/misc/kvm
│   ├── nvram -> ../../devices/virtual/misc/nvram
│   ├── psaux -> ../../devices/virtual/misc/psaux
│   ├── rfkill -> ../../devices/virtual/misc/rfkill
│   ├── snapshot -> ../../devices/virtual/misc/snapshot
│   ├── udmabuf -> ../../devices/virtual/misc/udmabuf
│   ├── vga_arbiter -> ../../devices/virtual/misc/vga_arbiter
│   └── watchdog -> ../../devices/pci0000:00/0000:00:1f.4/iTCO_wdt/misc/watchdog
├── msr
│   ├── msr0 -> ../../devices/virtual/msr/msr0
│   ├── msr1 -> ../../devices/virtual/msr/msr1
│   ├── msr10 -> ../../devices/virtual/msr/msr10
│   ├── msr11 -> ../../devices/virtual/msr/msr11
│   ├── msr12 -> ../../devices/virtual/msr/msr12
│   ├── msr13 -> ../../devices/virtual/msr/msr13
│   ├── msr14 -> ../../devices/virtual/msr/msr14
│   ├── msr15 -> ../../devices/virtual/msr/msr15
│   ├── msr2 -> ../../devices/virtual/msr/msr2
│   ├── msr3 -> ../../devices/virtual/msr/msr3
│   ├── msr4 -> ../../devices/virtual/msr/msr4
│   ├── msr5 -> ../../devices/virtual/msr/msr5
│   ├── msr6 -> ../../devices/virtual/msr/msr6
│   ├── msr7 -> ../../devices/virtual/msr/msr7
│   ├── msr8 -> ../../devices/virtual/msr/msr8
│   └── msr9 -> ../../devices/virtual/msr/msr9
├── mtd
├── nd
├── net
│   ├── lo -> ../../devices/virtual/net/lo
│   └── wlan0 -> ../../devices/pci0000:00/0000:00:14.3/net/wlan0
├── nfc
│   └── nfc0 -> ../../devices/pci0000:00/0000:00:19.0/i2c_designware.1/i2c-10/i2c-NXP1001:00/nfc/nfc0
├── nvme
│   └── nvme0 -> ../../devices/pci0000:00/0000:00:06.0/0000:04:00.0/nvme/nvme0
├── nvme-generic
│   └── ng0n1 -> ../../devices/pci0000:00/0000:00:06.0/0000:04:00.0/nvme/nvme0/ng0n1
├── nvme-subsystem
│   └── nvme-subsys0 -> ../../devices/virtual/nvme-subsystem/nvme-subsys0
├── pci_bus
│   ├── 0000:00 -> ../../devices/pci0000:00/pci_bus/0000:00
│   ├── 0000:04 -> ../../devices/pci0000:00/0000:00:06.0/pci_bus/0000:04
│   ├── 0000:20 -> ../../devices/pci0000:00/0000:00:07.0/pci_bus/0000:20
│   └── 0000:50 -> ../../devices/pci0000:00/0000:00:07.2/pci_bus/0000:50
├── phy
├── powercap
│   ├── intel-rapl -> ../../devices/virtual/powercap/intel-rapl
│   ├── intel-rapl:0 -> ../../devices/virtual/powercap/intel-rapl/intel-rapl:0
│   ├── intel-rapl:0:0 -> ../../devices/virtual/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:0
│   ├── intel-rapl:0:1 -> ../../devices/virtual/powercap/intel-rapl/intel-rapl:0/intel-rapl:0:1
│   ├── intel-rapl:1 -> ../../devices/virtual/powercap/intel-rapl/intel-rapl:1
│   ├── intel-rapl-mmio -> ../../devices/virtual/powercap/intel-rapl-mmio
│   └── intel-rapl-mmio:0 -> ../../devices/virtual/powercap/intel-rapl-mmio/intel-rapl-mmio:0
├── power_supply
│   ├── AC -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1d/PNP0C09:00/ACPI0003:00/power_supply/AC
│   ├── BAT0 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1d/PNP0C09:00/PNP0C0A:00/power_supply/BAT0
│   ├── ucsi-source-psy-USBC000:001 -> ../../devices/platform/USBC000:00/power_supply/ucsi-source-psy-USBC000:001
│   └── ucsi-source-psy-USBC000:002 -> ../../devices/platform/USBC000:00/power_supply/ucsi-source-psy-USBC000:002
├── pps
├── ptp
├── pwm
├── rc
├── regulator
│   └── regulator.0 -> ../../devices/platform/reg-dummy/regulator/regulator.0
├── remoteproc
├── rfkill
│   ├── rfkill0 -> ../../devices/platform/thinkpad_acpi/rfkill/rfkill0
│   ├── rfkill1 -> ../../devices/pci0000:00/0000:00:19.0/i2c_designware.1/i2c-10/i2c-NXP1001:00/nfc/nfc0/rfkill1
│   ├── rfkill2 -> ../../devices/pci0000:00/0000:00:14.3/ieee80211/phy0/rfkill2
│   └── rfkill3 -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.0/bluetooth/hci0/rfkill3
├── rtc
│   └── rtc0 -> ../../devices/platform/rtc_cmos/rtc/rtc0
├── scsi_device
├── scsi_disk
├── scsi_host
├── sound
│   ├── card0 -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0
│   ├── controlC0 -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/controlC0
│   ├── ctl-led -> ../../devices/virtual/sound/ctl-led
│   ├── hwC0D0 -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/hwC0D0
│   ├── hwC0D2 -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/hwC0D2
│   ├── pcmC0D0c -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/pcmC0D0c
│   ├── pcmC0D0p -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/pcmC0D0p
│   ├── pcmC0D3p -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/pcmC0D3p
│   ├── pcmC0D4p -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/pcmC0D4p
│   ├── pcmC0D5p -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/pcmC0D5p
│   ├── pcmC0D6c -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/pcmC0D6c
│   ├── pcmC0D7c -> ../../devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0/pcmC0D7c
│   ├── seq -> ../../devices/virtual/sound/seq
│   └── timer -> ../../devices/virtual/sound/timer
├── spi_master
│   └── spi0 -> ../../devices/pci0000:00/0000:00:1f.5/spi_master/spi0
├── spi_slave
├── thermal
│   ├── cooling_device0 -> ../../devices/virtual/thermal/cooling_device0
│   ├── cooling_device1 -> ../../devices/virtual/thermal/cooling_device1
│   ├── cooling_device10 -> ../../devices/virtual/thermal/cooling_device10
│   ├── cooling_device11 -> ../../devices/virtual/thermal/cooling_device11
│   ├── cooling_device12 -> ../../devices/virtual/thermal/cooling_device12
│   ├── cooling_device13 -> ../../devices/virtual/thermal/cooling_device13
│   ├── cooling_device14 -> ../../devices/virtual/thermal/cooling_device14
│   ├── cooling_device15 -> ../../devices/virtual/thermal/cooling_device15
│   ├── cooling_device16 -> ../../devices/virtual/thermal/cooling_device16
│   ├── cooling_device17 -> ../../devices/virtual/thermal/cooling_device17
│   ├── cooling_device18 -> ../../devices/virtual/thermal/cooling_device18
│   ├── cooling_device2 -> ../../devices/virtual/thermal/cooling_device2
│   ├── cooling_device3 -> ../../devices/virtual/thermal/cooling_device3
│   ├── cooling_device4 -> ../../devices/virtual/thermal/cooling_device4
│   ├── cooling_device5 -> ../../devices/virtual/thermal/cooling_device5
│   ├── cooling_device6 -> ../../devices/virtual/thermal/cooling_device6
│   ├── cooling_device7 -> ../../devices/virtual/thermal/cooling_device7
│   ├── cooling_device8 -> ../../devices/virtual/thermal/cooling_device8
│   ├── cooling_device9 -> ../../devices/virtual/thermal/cooling_device9
│   ├── thermal_zone0 -> ../../devices/virtual/thermal/thermal_zone0
│   ├── thermal_zone1 -> ../../devices/virtual/thermal/thermal_zone1
│   ├── thermal_zone2 -> ../../devices/virtual/thermal/thermal_zone2
│   ├── thermal_zone3 -> ../../devices/virtual/thermal/thermal_zone3
│   ├── thermal_zone4 -> ../../devices/virtual/thermal/thermal_zone4
│   ├── thermal_zone5 -> ../../devices/virtual/thermal/thermal_zone5
│   ├── thermal_zone6 -> ../../devices/virtual/thermal/thermal_zone6
│   ├── thermal_zone7 -> ../../devices/virtual/thermal/thermal_zone7
│   ├── thermal_zone8 -> ../../devices/virtual/thermal/thermal_zone8
│   └── thermal_zone9 -> ../../devices/virtual/thermal/thermal_zone9
├── tpm
│   └── tpm0 -> ../../devices/platform/STM0151:00/tpm/tpm0
├── tpmrm
│   └── tpmrm0 -> ../../devices/platform/STM0151:00/tpmrm/tpmrm0
├── tty
│   ├── console -> ../../devices/virtual/tty/console
│   ├── ptmx -> ../../devices/virtual/tty/ptmx
│   ├── tty -> ../../devices/virtual/tty/tty
│   ├── tty0 -> ../../devices/virtual/tty/tty0
│   ├── tty1 -> ../../devices/virtual/tty/tty1
│   ├── tty10 -> ../../devices/virtual/tty/tty10
│   ├── tty11 -> ../../devices/virtual/tty/tty11
│   ├── tty12 -> ../../devices/virtual/tty/tty12
│   ├── tty13 -> ../../devices/virtual/tty/tty13
│   ├── tty14 -> ../../devices/virtual/tty/tty14
│   ├── tty15 -> ../../devices/virtual/tty/tty15
│   ├── tty16 -> ../../devices/virtual/tty/tty16
│   ├── tty17 -> ../../devices/virtual/tty/tty17
│   ├── tty18 -> ../../devices/virtual/tty/tty18
│   ├── tty19 -> ../../devices/virtual/tty/tty19
│   ├── tty2 -> ../../devices/virtual/tty/tty2
│   ├── tty20 -> ../../devices/virtual/tty/tty20
│   ├── tty21 -> ../../devices/virtual/tty/tty21
│   ├── tty22 -> ../../devices/virtual/tty/tty22
│   ├── tty23 -> ../../devices/virtual/tty/tty23
│   ├── tty24 -> ../../devices/virtual/tty/tty24
│   ├── tty25 -> ../../devices/virtual/tty/tty25
│   ├── tty26 -> ../../devices/virtual/tty/tty26
│   ├── tty27 -> ../../devices/virtual/tty/tty27
│   ├── tty28 -> ../../devices/virtual/tty/tty28
│   ├── tty29 -> ../../devices/virtual/tty/tty29
│   ├── tty3 -> ../../devices/virtual/tty/tty3
│   ├── tty30 -> ../../devices/virtual/tty/tty30
│   ├── tty31 -> ../../devices/virtual/tty/tty31
│   ├── tty32 -> ../../devices/virtual/tty/tty32
│   ├── tty33 -> ../../devices/virtual/tty/tty33
│   ├── tty34 -> ../../devices/virtual/tty/tty34
│   ├── tty35 -> ../../devices/virtual/tty/tty35
│   ├── tty36 -> ../../devices/virtual/tty/tty36
│   ├── tty37 -> ../../devices/virtual/tty/tty37
│   ├── tty38 -> ../../devices/virtual/tty/tty38
│   ├── tty39 -> ../../devices/virtual/tty/tty39
│   ├── tty4 -> ../../devices/virtual/tty/tty4
│   ├── tty40 -> ../../devices/virtual/tty/tty40
│   ├── tty41 -> ../../devices/virtual/tty/tty41
│   ├── tty42 -> ../../devices/virtual/tty/tty42
│   ├── tty43 -> ../../devices/virtual/tty/tty43
│   ├── tty44 -> ../../devices/virtual/tty/tty44
│   ├── tty45 -> ../../devices/virtual/tty/tty45
│   ├── tty46 -> ../../devices/virtual/tty/tty46
│   ├── tty47 -> ../../devices/virtual/tty/tty47
│   ├── tty48 -> ../../devices/virtual/tty/tty48
│   ├── tty49 -> ../../devices/virtual/tty/tty49
│   ├── tty5 -> ../../devices/virtual/tty/tty5
│   ├── tty50 -> ../../devices/virtual/tty/tty50
│   ├── tty51 -> ../../devices/virtual/tty/tty51
│   ├── tty52 -> ../../devices/virtual/tty/tty52
│   ├── tty53 -> ../../devices/virtual/tty/tty53
│   ├── tty54 -> ../../devices/virtual/tty/tty54
│   ├── tty55 -> ../../devices/virtual/tty/tty55
│   ├── tty56 -> ../../devices/virtual/tty/tty56
│   ├── tty57 -> ../../devices/virtual/tty/tty57
│   ├── tty58 -> ../../devices/virtual/tty/tty58
│   ├── tty59 -> ../../devices/virtual/tty/tty59
│   ├── tty6 -> ../../devices/virtual/tty/tty6
│   ├── tty60 -> ../../devices/virtual/tty/tty60
│   ├── tty61 -> ../../devices/virtual/tty/tty61
│   ├── tty62 -> ../../devices/virtual/tty/tty62
│   ├── tty63 -> ../../devices/virtual/tty/tty63
│   ├── tty7 -> ../../devices/virtual/tty/tty7
│   ├── tty8 -> ../../devices/virtual/tty/tty8
│   ├── tty9 -> ../../devices/virtual/tty/tty9
│   ├── ttyS0 -> ../../devices/platform/serial8250/tty/ttyS0
│   ├── ttyS1 -> ../../devices/platform/serial8250/tty/ttyS1
│   ├── ttyS10 -> ../../devices/platform/serial8250/tty/ttyS10
│   ├── ttyS11 -> ../../devices/platform/serial8250/tty/ttyS11
│   ├── ttyS12 -> ../../devices/platform/serial8250/tty/ttyS12
│   ├── ttyS13 -> ../../devices/platform/serial8250/tty/ttyS13
│   ├── ttyS14 -> ../../devices/platform/serial8250/tty/ttyS14
│   ├── ttyS15 -> ../../devices/platform/serial8250/tty/ttyS15
│   ├── ttyS16 -> ../../devices/platform/serial8250/tty/ttyS16
│   ├── ttyS17 -> ../../devices/platform/serial8250/tty/ttyS17
│   ├── ttyS18 -> ../../devices/platform/serial8250/tty/ttyS18
│   ├── ttyS19 -> ../../devices/platform/serial8250/tty/ttyS19
│   ├── ttyS2 -> ../../devices/platform/serial8250/tty/ttyS2
│   ├── ttyS20 -> ../../devices/platform/serial8250/tty/ttyS20
│   ├── ttyS21 -> ../../devices/platform/serial8250/tty/ttyS21
│   ├── ttyS22 -> ../../devices/platform/serial8250/tty/ttyS22
│   ├── ttyS23 -> ../../devices/platform/serial8250/tty/ttyS23
│   ├── ttyS24 -> ../../devices/platform/serial8250/tty/ttyS24
│   ├── ttyS25 -> ../../devices/platform/serial8250/tty/ttyS25
│   ├── ttyS26 -> ../../devices/platform/serial8250/tty/ttyS26
│   ├── ttyS27 -> ../../devices/platform/serial8250/tty/ttyS27
│   ├── ttyS28 -> ../../devices/platform/serial8250/tty/ttyS28
│   ├── ttyS29 -> ../../devices/platform/serial8250/tty/ttyS29
│   ├── ttyS3 -> ../../devices/platform/serial8250/tty/ttyS3
│   ├── ttyS30 -> ../../devices/platform/serial8250/tty/ttyS30
│   ├── ttyS31 -> ../../devices/platform/serial8250/tty/ttyS31
│   ├── ttyS4 -> ../../devices/platform/serial8250/tty/ttyS4
│   ├── ttyS5 -> ../../devices/platform/serial8250/tty/ttyS5
│   ├── ttyS6 -> ../../devices/platform/serial8250/tty/ttyS6
│   ├── ttyS7 -> ../../devices/platform/serial8250/tty/ttyS7
│   ├── ttyS8 -> ../../devices/platform/serial8250/tty/ttyS8
│   └── ttyS9 -> ../../devices/platform/serial8250/tty/ttyS9
├── typec
│   ├── port0 -> ../../devices/platform/USBC000:00/typec/port0
│   └── port1 -> ../../devices/platform/USBC000:00/typec/port1
├── typec_mux
├── usb_role
├── vc
│   ├── vcs -> ../../devices/virtual/vc/vcs
│   ├── vcs1 -> ../../devices/virtual/vc/vcs1
│   ├── vcs2 -> ../../devices/virtual/vc/vcs2
│   ├── vcs3 -> ../../devices/virtual/vc/vcs3
│   ├── vcs4 -> ../../devices/virtual/vc/vcs4
│   ├── vcs5 -> ../../devices/virtual/vc/vcs5
│   ├── vcs6 -> ../../devices/virtual/vc/vcs6
│   ├── vcsa -> ../../devices/virtual/vc/vcsa
│   ├── vcsa1 -> ../../devices/virtual/vc/vcsa1
│   ├── vcsa2 -> ../../devices/virtual/vc/vcsa2
│   ├── vcsa3 -> ../../devices/virtual/vc/vcsa3
│   ├── vcsa4 -> ../../devices/virtual/vc/vcsa4
│   ├── vcsa5 -> ../../devices/virtual/vc/vcsa5
│   ├── vcsa6 -> ../../devices/virtual/vc/vcsa6
│   ├── vcsu -> ../../devices/virtual/vc/vcsu
│   ├── vcsu1 -> ../../devices/virtual/vc/vcsu1
│   ├── vcsu2 -> ../../devices/virtual/vc/vcsu2
│   ├── vcsu3 -> ../../devices/virtual/vc/vcsu3
│   ├── vcsu4 -> ../../devices/virtual/vc/vcsu4
│   ├── vcsu5 -> ../../devices/virtual/vc/vcsu5
│   └── vcsu6 -> ../../devices/virtual/vc/vcsu6
├── video4linux
├── vtconsole
│   ├── vtcon0 -> ../../devices/virtual/vtconsole/vtcon0
│   └── vtcon1 -> ../../devices/virtual/vtconsole/vtcon1
├── wakeup
│   ├── wakeup0 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/wakeup/wakeup0
│   ├── wakeup1 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/wakeup/wakeup1
│   ├── wakeup10 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1c/wakeup/wakeup10
│   ├── wakeup11 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:9c/wakeup/wakeup11
│   ├── wakeup12 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:a3/wakeup/wakeup12
│   ├── wakeup13 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:a4/wakeup/wakeup13
│   ├── wakeup14 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:98/wakeup/wakeup14
│   ├── wakeup15 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1f/wakeup/wakeup15
│   ├── wakeup16 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:4e/wakeup/wakeup16
│   ├── wakeup17 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:38/wakeup/wakeup17
│   ├── wakeup18 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:99/wakeup/wakeup18
│   ├── wakeup19 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:3c/wakeup/wakeup19
│   ├── wakeup2 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1a/wakeup/wakeup2
│   ├── wakeup20 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1d/wakeup/wakeup20
│   ├── wakeup21 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:34/wakeup/wakeup21
│   ├── wakeup22 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1e/wakeup/wakeup22
│   ├── wakeup23 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:01/device:02/wakeup/wakeup23
│   ├── wakeup24 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/wakeup/wakeup24
│   ├── wakeup25 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/wakeup/wakeup25
│   ├── wakeup26 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/wakeup/wakeup26
│   ├── wakeup27 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/INTC1055:00/wakeup/wakeup27
│   ├── wakeup28 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1d/PNP0C09:00/ACPI0003:00/power_supply/AC/wakeup28
│   ├── wakeup29 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/wakeup/wakeup29
│   ├── wakeup3 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1b/wakeup/wakeup3
│   ├── wakeup30 -> ../../devices/platform/rtc_cmos/wakeup/wakeup30
│   ├── wakeup31 -> ../../devices/platform/rtc_cmos/rtc/rtc0/alarmtimer.0.auto/wakeup/wakeup31
│   ├── wakeup32 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/INT33A1:00/wakeup/wakeup32
│   ├── wakeup33 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1d/PNP0C09:00/PNP0C0A:00/wakeup/wakeup33
│   ├── wakeup34 -> ../../devices/pci0000:00/0000:00:0d.0/wakeup/wakeup34
│   ├── wakeup35 -> ../../devices/pci0000:00/0000:00:14.0/wakeup/wakeup35
│   ├── wakeup36 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI000E:00/wakeup/wakeup36
│   ├── wakeup37 -> ../../devices/platform/ACPI000E:00/wakeup/wakeup37
│   ├── wakeup38 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/INTC1041:00/wakeup/wakeup38
│   ├── wakeup39 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/INTC1070:00/wakeup/wakeup39
│   ├── wakeup4 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:01/wakeup/wakeup4
│   ├── wakeup40 -> ../../devices/platform/INTC1070:00/wakeup/wakeup40
│   ├── wakeup41 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1d/PNP0C09:00/INTC1046:00/wakeup/wakeup41
│   ├── wakeup42 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1d/PNP0C09:00/INTC1046:01/wakeup/wakeup42
│   ├── wakeup43 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1d/PNP0C09:00/INTC1046:02/wakeup/wakeup43
│   ├── wakeup44 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:00/wakeup/wakeup44
│   ├── wakeup45 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1d/PNP0C09:00/INTC1046:03/wakeup/wakeup45
│   ├── wakeup46 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:01/wakeup/wakeup46
│   ├── wakeup47 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:02/wakeup/wakeup47
│   ├── wakeup48 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:05/wakeup/wakeup48
│   ├── wakeup49 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:03/wakeup/wakeup49
│   ├── wakeup5 -> ../../devices/pci0000:00/0000:00:06.0/wakeup/wakeup5
│   ├── wakeup50 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:04/wakeup/wakeup50
│   ├── wakeup51 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/STM0151:00/wakeup/wakeup51
│   ├── wakeup52 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:06/wakeup/wakeup52
│   ├── wakeup53 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:07/wakeup/wakeup53
│   ├── wakeup54 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C14:08/wakeup/wakeup54
│   ├── wakeup55 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:38/ELAN067C:00/wakeup/wakeup55
│   ├── wakeup56 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/USBC000:00/wakeup/wakeup56
│   ├── wakeup57 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:3c/NXP1001:00/wakeup/wakeup57
│   ├── wakeup58 -> ../../devices/pci0000:00/0000:00:0d.2/domain0/0-0/wakeup/wakeup58
│   ├── wakeup59 -> ../../devices/pci0000:00/0000:00:0d.2/domain0/wakeup/wakeup59
│   ├── wakeup6 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:a5/wakeup/wakeup6
│   ├── wakeup60 -> ../../devices/pci0000:00/0000:00:0d.2/wakeup/wakeup60
│   ├── wakeup61 -> ../../devices/pci0000:00/0000:00:0d.3/domain1/1-0/wakeup/wakeup61
│   ├── wakeup62 -> ../../devices/platform/USBC000:00/power_supply/ucsi-source-psy-USBC000:001/wakeup62
│   ├── wakeup63 -> ../../devices/pci0000:00/0000:00:0d.3/domain1/wakeup/wakeup63
│   ├── wakeup64 -> ../../devices/pci0000:00/0000:00:0d.3/wakeup/wakeup64
│   ├── wakeup65 -> ../../devices/platform/USBC000:00/power_supply/ucsi-source-psy-USBC000:002/wakeup65
│   ├── wakeup7 -> ../../devices/pci0000:00/0000:00:07.0/wakeup/wakeup7
│   ├── wakeup8 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:a9/wakeup/wakeup8
│   └── wakeup9 -> ../../devices/pci0000:00/0000:00:07.2/wakeup/wakeup9
├── watchdog
│   └── watchdog0 -> ../../devices/pci0000:00/0000:00:1f.4/iTCO_wdt/watchdog/watchdog0
├── wmi_bus
│   ├── wmi_bus-PNP0C14:00 -> ../../devices/platform/PNP0C14:00/wmi_bus/wmi_bus-PNP0C14:00
│   ├── wmi_bus-PNP0C14:01 -> ../../devices/platform/PNP0C14:01/wmi_bus/wmi_bus-PNP0C14:01
│   ├── wmi_bus-PNP0C14:02 -> ../../devices/platform/PNP0C14:02/wmi_bus/wmi_bus-PNP0C14:02
│   ├── wmi_bus-PNP0C14:03 -> ../../devices/platform/PNP0C14:03/wmi_bus/wmi_bus-PNP0C14:03
│   ├── wmi_bus-PNP0C14:04 -> ../../devices/platform/PNP0C14:04/wmi_bus/wmi_bus-PNP0C14:04
│   ├── wmi_bus-PNP0C14:05 -> ../../devices/platform/PNP0C14:05/wmi_bus/wmi_bus-PNP0C14:05
│   ├── wmi_bus-PNP0C14:06 -> ../../devices/platform/PNP0C14:06/wmi_bus/wmi_bus-PNP0C14:06
│   ├── wmi_bus-PNP0C14:07 -> ../../devices/platform/PNP0C14:07/wmi_bus/wmi_bus-PNP0C14:07
│   └── wmi_bus-PNP0C14:08 -> ../../devices/platform/PNP0C14:08/wmi_bus/wmi_bus-PNP0C14:08
├── wwan
└── zram-control
    ├── hot_add
    └── hot_remove

539 directories, 4 files

Offline

#8 2022-08-01 18:28:35

d_fajardo
Member
Registered: 2017-07-28
Posts: 1,563

Re: Webcam doesn't work in X1 carbon Gen 10

│   ├── event8 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input14/event8
│   ├── event9 -> ../../devices/platform/pcspkr/input/input17/event9
│   ├── input0 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input0
│   ├── input1 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input1
│   ├── input14 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input14

It could be this but not sure.

EDIT: What is the output of ls /dev/input/by-id?

Last edited by d_fajardo (2022-08-01 18:29:39)

Offline

#9 2022-08-01 20:19:00

muhoss
Member
Registered: 2020-08-26
Posts: 8

Re: Webcam doesn't work in X1 carbon Gen 10

nothing in there,

$ ls /dev/input/by-id
ls: cannot access '/dev/input/by-id': No such file or directory

I have no clue what to do if it's one of them

$ tree /dev/input/
/dev/input/
├── by-path
│   ├── pci-0000:00:15.0-platform-i2c_designware.0-event-mouse -> ../event7
│   ├── pci-0000:00:15.0-platform-i2c_designware.0-mouse -> ../mouse2
│   ├── pci-0000:00:1f.3-platform-skl_hda_dsp_generic-event -> ../event11
│   ├── platform-i8042-serio-0-event-kbd -> ../event3
│   ├── platform-i8042-serio-1-event-mouse -> ../event10
│   ├── platform-i8042-serio-1-mouse -> ../mouse0
│   ├── platform-INTC1070:00-event -> ../event4
│   ├── platform-pcspkr-event-spkr -> ../event9
│   └── platform-thinkpad_acpi-event -> ../event5
├── event0
├── event1
├── event10
├── event11
├── event12
├── event13
├── event14
├── event15
├── event2
├── event3
├── event4
├── event5
├── event6
├── event7
├── event8
├── event9
├── mice
├── mouse0
├── mouse1
└── mouse2

Last edited by muhoss (2022-08-01 21:16:43)

Offline

#10 2022-08-01 21:45:51

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,739

Re: Webcam doesn't work in X1 carbon Gen 10

And no /dev/videox devices?
What is the output of lsusb (requires core/usbutils)?

Any chance your BIOS/uEFI is blocking it?  My Asus let' me disable it. Also, some systems get really rude unless the OS tells it it is Windows.


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#11 2022-08-01 23:17:48

muhoss
Member
Registered: 2020-08-26
Posts: 8

Re: Webcam doesn't work in X1 carbon Gen 10

Here is the output

$ ls /dev/video*
ls: cannot access '/dev/video*': No such file or directory
lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 8086:0b63 Intel Corp. USB Bridge
Bus 003 Device 002: ID 06cb:00fc Synaptics, Inc. 
Bus 003 Device 004: ID 8087:0033 Intel Corp. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I checked the BIOS/uEFI, I found a switch for it but it was enabled, moreover, it's already working flawlessly under windows

Offline

#12 2022-08-02 01:47:20

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,739

Re: Webcam doesn't work in X1 carbon Gen 10

Do you know if it is a USB device under Windows?

Let's take a look at the OS names your uEFI firmware knows.  It might not like Linux.  See the following, ensure the acpidump tool is installed, run it, look for strings in it that include 'windows'

ewaller@odin/home/ewaller % pacman -Qo acpidump
/usr/bin/acpidump is owned by acpica 20220331-1
ewaller@odin/home/ewaller % (cd /tmp && mkdir acpi && cd acpi && sudo acpidump -b && for i in *; do echo $i:; strings -a $i ; done) | grep -i windows
Windows 2001
Windows 2001 SP1
Windows 2001 SP2
Windows 2001.1
Windows 2006
Windows 2009
Windows 2012
Windows 2013
Windows 2015
ewaller@odin/home/ewaller % sudo rm /tmp/acpi/ -r
ewaller@odin/home/ewaller % 

Then, we will pick the most recent OS supported and we will tell the Linux kernel to masquerade as it by adding "acpi_os_name=newest_windows_name" where newest_windows_name is the name you found in the acpidump output.
This *might* get the uEFI firmware to enable the camera.

https://www.halolinux.us/kernel/acpi-options.html

EDIT :  Be VERY careful with the rm command to clean up /tmp/acpi.  It might be better just to leave it; it will clean itself up when you restart.

Last edited by ewaller (2022-08-02 01:50:24)


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#13 2022-08-02 10:19:28

muhoss
Member
Registered: 2020-08-26
Posts: 8

Re: Webcam doesn't work in X1 carbon Gen 10

I followed the steps mentioned, and unfortunately still doesn't work

$ pacman -Qo acpidump
/usr/bin/acpidump is owned by acpica 20220331-1
$ (cd /tmp && cd acpi && sudo acpidump -b && for i in *; do echo $i:; strings -a $i ; done) | grep -i windows
Windows 2001
Windows 2001 SP1
Windows 2001 SP2
Windows 2006
Windows 2009
Windows 2012
Windows 2013
Windows 2015
Microsoft Windows NT
WindowsUEFIFirmwareUpdate
EnhancedWindowsBiometricSecurity
Windows
Windows10
$ acpi_os_name=Windows10

Offline

#14 2022-08-02 14:21:47

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,739

Re: Webcam doesn't work in X1 carbon Gen 10

One sets the acpi_os_name in your boot loader where it is handed to the *kernel* as a command line.  For reference, you can see the current kernel command line using cat /proc/cmdline. Mine is

ewaller@odin/home/ewaller % cat /proc/cmdline 
root=/dev/nvme0n1p6 rw initrd=\intel-ucode.img  initrd=\initramfs-linux.img
ewaller@odin/home/ewaller % 

If you do it right, you will see the acpi_os_name in that output.

Assuming you use GRUB, use the 'e' option during boot to edit the command line add the acpi_os_name and see if it works.  If it does, we can make it permanent.


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#15 2022-08-03 11:05:41

zanwu
Member
Registered: 2022-08-03
Posts: 1

Re: Webcam doesn't work in X1 carbon Gen 10

Same issue on my new laptop, and I think this is the reason:
- https://forums.lenovo.com/t5/Ubuntu/Ubu … =1#5645165

Offline

#16 2022-08-17 19:32:40

muhoss
Member
Registered: 2020-08-26
Posts: 8

Re: Webcam doesn't work in X1 carbon Gen 10

I think there is no IPU6 drivers yet for it, because of the presence of IR camerag (MIPI) for Alder lake platforms.
The main issue is that IPU6 drivers don’t use the video 4 Linux 2 interface.
I found these resources about that:
https://bbs.archlinux.org/viewtopic.php?id=277462
https://game-news24.com/2022/08/15/alde … -powerful/
https://github.com/intel/ipu6-drivers
https://bugs.launchpad.net/ubuntu/+sour … ug/1955383

I think there is a workaround to get the RGB camera to work without the IR one, but I don't know how to do it.
If anyone has a clue, please give us a help here

Last edited by muhoss (2022-08-17 19:36:07)

Offline

#17 2023-01-05 16:35:01

simplisticways
Member
Registered: 2015-12-03
Posts: 49

Re: Webcam doesn't work in X1 carbon Gen 10

Damn , I also bought the laptop due to trusting https://wiki.archlinux.org/title/Lenovo … n_(Gen_10) that webcam should work.
Hopefully there are some ways to overcome this issue.

Offline

Board footer

Powered by FluxBB