Webcam not recognized (Thinkpad Carbon X1)

The built-in webcam on this new-to-me Lenovo Thinkpad X1 Carbon 5th gen isn’t working, and doesn’t seem to be recognized by Manjaro in any way that I can see. It’s possible this is a hardware issue - I didn’t think to test it in Windows before installing over the Windows partition - but I’d like to ensure that I’ve done everything possible to resolve it if it is a software problem. According to the Arch Wiki page for this laptop, the webcam should work, and there are no notes on that page about troubleshooting or issues.

$ ls -l /dev/video*                                                                                                                                                             
zsh: no matches found: /dev/video*

Not sure if this is relevant, but it does mention video:

$ mhwd -li                                                                                                                                                                      
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
           video-linux            2024.05.06                true            PCI


Warning: No installed USB configs!

dmesg | grep -i for video, webcam, and v4l returns no results.

System information from inxi -zv8 (I don’t see anything in here that looks like a webcam, but I’m no expert.)
                                                                                                                                                            System:
  Kernel: 6.18.3-2-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 15.2.1
    clocksource: tsc avail: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.18-x86_64
    root=UUID=a3c14cc0-b3ea-4231-bb64-961dc68efa10 rw plymouth.enable=0
    disablehooks=plymouth
    cryptdevice=UUID=b71022cc-97dd-4bcf-8206-5786d1eee904:luks-b71022cc-97dd-4bcf-8206-5786d1eee904
    root=/dev/mapper/luks-b71022cc-97dd-4bcf-8206-5786d1eee904 apparmor=1
    security=apparmor
    resume=/dev/mapper/luks-1610dcd2-295d-454b-8926-fa5e50f49115
    udev.log_priority=3
  Desktop: Xfce v: 4.20.1 tk: Gtk v: 3.24.51 wm: xfwm4 v: 4.20.0
    with: xfce4-panel tools: xfce4-screensaver vt: 7 dm: LightDM v: 1.32.0
    Distro: Manjaro base: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 20HR000DUS v: ThinkPad X1 Carbon 5th
    serial: <superuser required> Chassis: type: 10 serial: <superuser required>
  Mobo: LENOVO model: 20HR000DUS v: SDK0J40697 WIN
    serial: <superuser required> part-nu: LENOVO_MT_20HR_BU_Think_FM_ThinkPad
    X1 Carbon 5th uuid: <superuser required> Firmware: UEFI vendor: LENOVO
    v: N1MET37W (1.22 ) date: 07/04/2017
Battery:
  ID-1: BAT0 charge: 40.2 Wh (81.5%) condition: 49.4/57 Wh (86.5%)
    power: 6.3 W volts: 12.01 min: 11.52 model: SMP 01AV431 type: Li-poly
    serial: <filter> charging: status: discharging control: start: 0% end: 95%
    cycles: 32
  Device-1: hidpp_battery_2 model: Logitech Wireless Mouse M525
    serial: <filter> charge: 50% (should be ignored) rechargeable: yes
    status: N/A
  Device-2: hidpp_battery_3 model: Logitech Wireless Touch Keyboard K400
    Plus serial: <filter> charge: 50% (should be ignored) rechargeable: yes
    status: N/A
Memory:
  System RAM: total: 8 GiB available: 7.5 GiB used: 6.32 GiB (84.2%)
  Message: For most reliable report, use superuser + dmidecode.
  Array-1: capacity: 8 GiB slots: 2 modules: 2 EC: None
    max-module-size: 4 GiB note: est.
  Device-1: ChannelA-DIMM0 type: LPDDR3 detail: synchronous unbuffered
    (unregistered) size: 4 GiB speed: 1867 MT/s volts: curr: 1 width (bits):
    data: 64 total: 64 manufacturer: SK Hynix part-no: H9CCNNNBJTALAR-NUD
    serial: N/A
  Device-2: ChannelB-DIMM0 type: LPDDR3 detail: synchronous unbuffered
    (unregistered) size: 4 GiB speed: 1867 MT/s volts: curr: 1 width (bits):
    data: 64 total: 64 manufacturer: SK Hynix part-no: H9CCNNNBJTALAR-NUD
    serial: N/A
PCI Slots:
  Permissions: Unable to run dmidecode. Root privileges required.
CPU:
  Info: model: Intel Core i5-7300U bits: 64 type: MT MCP arch: Amber/Kaby Lake
    note: check gen: core 7 level: v3 note: check built: 2017
    process: Intel 14nm family: 6 model-id: 0x8E (142) stepping: 9
    microcode: 0xF6
  Topology: cpus: 1x dies: 1 clusters: 2 cores: 2 threads: 4 tpc: 2
    smt: enabled cache: L1: 128 KiB desc: d-2x32 KiB; i-2x32 KiB L2: 512 KiB
    desc: 2x256 KiB L3: 3 MiB desc: 1x3 MiB
  Speed (MHz): avg: 900 min/max: 400/3500 scaling: driver: intel_pstate
    governor: powersave cores: 1: 900 2: 900 3: 900 4: 900 bogomips: 21599
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat
    arch_capabilities arch_perfmon art avx avx2 bmi1 bmi2 bts clflush
    clflushopt cmov constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64
    dtherm dts epb ept ept_ad erms est f16c flexpriority flush_l1d fma fpu
    fsgsbase fxsr ht hwp hwp_act_window hwp_epp hwp_notify ibpb ibrs ida
    intel_pt invpcid lahf_lm lm mca mce md_clear mmx monitor movbe mpx msr
    mtrr nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq pdcm pdpe1gb pebs pge
    pln pni popcnt pse pse36 pti pts rdrand rdseed rdtscp rep_good sdbg sep
    sgx smap smep smx ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp syscall tm
    tm2 tpr_shadow tsc tsc_adjust tsc_deadline_timer vme vmx vnmi vpid x2apic
    xgetbv1 xsave xsavec xsaveopt xsaves xtopology xtpr
  Vulnerabilities:
  Type: gather_data_sampling mitigation: Microcode
  Type: ghostwrite status: Not affected
  Type: indirect_target_selection status: Not affected
  Type: itlb_multihit status: KVM: Split huge pages
  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: old_microcode status: Not affected
  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: tsa status: Not affected
  Type: tsx_async_abort mitigation: TSX disabled
  Type: vmscape mitigation: IBPB before exit to userspace
Graphics:
  Device-1: Intel HD Graphics 620 vendor: Lenovo ThinkPad X1 Carbon 5th Gen
    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 bus-ID: 00:02.0
    chip-ID: 8086:5916 class-ID: 0300
  Display: x11 server: X.org v: 1.21.1.21 with: Xwayland v: 24.1.9
    compositor: xfwm4 v: 4.20.0 driver: X: loaded: modesetting
    alternate: fbdev,vesa dri: iris gpu: i915 display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-size: <missing: xdpyinfo>
  Monitor-1: eDP-1 model: BOE Display 0x06df built: 2016 res:
    mode: 1920x1080 hz: 60 scale: 100% (1) dpi: 158 gamma: 1.2 chroma: red:
    x: 0.639 y: 0.329 green: x: 0.306 y: 0.608 blue: x: 0.145 y: 0.055 white:
    x: 0.314 y: 0.329 size: 309x173mm (12.17x6.81") diag: 354mm (13.9")
    ratio: 16:9 modes: 1920x1080
  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: 25.3.2-arch1.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel HD Graphics 620 (KBL GT2)
    device-ID: 8086:5916 memory: 7.33 GiB unified: yes
  Info: Tools: api: eglinfo,glxinfo de: xfce4-display-settings
    x11: xprop,xrandr
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio vendor: Lenovo ThinkPad X1 Carbon
    5th Gen driver: snd_hda_intel v: kernel alternate: snd_soc_avs
    bus-ID: 00:1f.3 chip-ID: 8086:9d71 class-ID: 0403
  API: ALSA v: k6.18.3-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.4.9 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Ethernet I219-LM vendor: Lenovo driver: e1000e v: kernel
    port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15d7 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: 04:00.0 chip-ID: 8086:24fd
    class-ID: 0280
  IF: wlp4s0 state: up mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: dynamic noprefixroute scope: global
  IP v6: <filter> type: dynamic noprefixroute scope: global
  IP v6: <filter> type: noprefixroute scope: link
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
  WAN IP: <filter>
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: rfkill ID: hci0 rfk-id: 19 state: up address: see --recommends
Logical:
  Message: No logical block device data found.
  Device-1: luks-b71022cc-97dd-4bcf-8206-5786d1eee904 maj-min: 253:0
    type: LUKS dm: dm-0 size: 110.15 GiB
  Components:
  p-1: sda2 maj-min: 8:2 size: 110.15 GiB
  Device-2: luks-1610dcd2-295d-454b-8926-fa5e50f49115 maj-min: 253:1
    type: LUKS dm: dm-1 size: 8.8 GiB
  Components:
  p-1: sda3 maj-min: 8:3 size: 8.8 GiB
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 119.24 GiB used: 74.91 GiB (62.8%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/sda maj-min: 8:0 vendor: SanDisk model: SD9SN8W-128G-1006
    size: 119.24 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 3006 scheme: GPT
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 110.15 GiB size: 107.86 GiB (97.92%)
    used: 70.64 GiB (65.5%) fs: ext4 dev: /dev/dm-0 maj-min: 253:0
    mapped: luks-b71022cc-97dd-4bcf-8206-5786d1eee904 label: N/A
    uuid: a3c14cc0-b3ea-4231-bb64-961dc68efa10
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 688 KiB (0.2%) fs: vfat dev: /dev/sda1 maj-min: 8:1 label: N/A
    uuid: 00D1-453C
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: yes
    compressor: zstd max-pool: 20%
  ID-1: swap-1 type: partition size: 8.8 GiB used: 4.27 GiB (48.5%)
    priority: -2 dev: /dev/dm-1 maj-min: 253:1
    mapped: luks-1610dcd2-295d-454b-8926-fa5e50f49115 label: swap
    uuid: 06fba712-74ce-470f-98c9-c2903a7321aa
Unmounted:
  Message: No unmounted partitions found.
USB:
  Hub-1: 1-0:1 info: hi-speed hub with single TT ports: 12 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Device-1: 1-2:24 info: Logitech Unifying Receiver type: keyboard,mouse,HID
    driver: logitech-djreceiver,usbhid interfaces: 3 rev: 2.0
    speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1 power: 98mA
    chip-ID: 046d:c52b class-ID: 0300
  Device-2: 1-7:2 info: Intel Bluetooth wireless interface type: bluetooth
    driver: btusb interfaces: 2 rev: 2.0 speed: 12 Mb/s (1.4 MiB/s) lanes: 1
    mode: 1.1 power: 100mA chip-ID: 8087:0a2b class-ID: e001
  Device-3: 1-9:25 info: Validity Sensors type: <vendor specific>
    driver: N/A interfaces: 1 rev: 2.0 speed: 12 Mb/s (1.4 MiB/s) lanes: 1
    mode: 1.1 power: 100mA chip-ID: 138a:0097 class-ID: ff00 serial: <filter>
  Hub-2: 2-0:1 info: super-speed hub ports: 6 rev: 3.0
    speed: 5 Gb/s (596.0 MiB/s) lanes: 1 mode: 3.2 gen-1x1 chip-ID: 1d6b:0003
    class-ID: 0900
Sensors:
  System Temperatures: cpu: 42.0 C pch: 41.5 C mobo: N/A
  Fan Speeds (rpm): fan-1: 0
Repos:
  Packages: 1421 pm: pacman pkgs: 1404 libs: 384 tools: pamac,yay pm: flatpak
    pkgs: 9 pm: snap pkgs: 8
  Active pacman repo servers in: /etc/pacman.d/mirrorlist
    1: https://coresite.mm.fcix.net/manjaro/stable/$repo/$arch
    2: https://irltoolkit.mm.fcix.net/manjaro/stable/$repo/$arch
    3: https://mirrors.ucr.ac.cr/manjaro/stable/$repo/$arch
    4: https://ftp.psnc.pl/linux/manjaro/stable/$repo/$arch
    5: https://ftp.tsukuba.wide.ad.jp/Linux/manjaro/stable/$repo/$arch
    6: https://manjaro.grena.ge/stable/$repo/$arch
    7: https://manjarolinux-mirror.cloud.mu/stable/$repo/$arch
    8: https://kartolo.sby.datautama.net.id/manjaro/stable/$repo/$arch
Processes:
  CPU top: 5 of 315
  1: cpu: 6.1% command: waterfox pid: 268172 mem: 350.7 MiB (4.5%)
  2: cpu: 6.0% command: waterfox pid: 9544 mem: 464.8 MiB (6.0%)
  3: cpu: 2.5% command: waterfox pid: 9776 mem: 450.3 MiB (5.8%)
  4: cpu: 2.1% command: waterfox pid: 268907 mem: 213.9 MiB (2.7%)
  5: cpu: 1.7% command: exe pid: 8901 mem: 297.7 MiB (3.8%)
  Memory top: 5 of 315
  1: mem: 464.8 MiB (6.0%) command: waterfox pid: 9544 cpu: 6.0%
  2: mem: 450.3 MiB (5.8%) command: waterfox pid: 9776 cpu: 2.5%
  3: mem: 350.7 MiB (4.5%) command: waterfox pid: 268172 cpu: 6.1%
  4: mem: 297.7 MiB (3.8%) command: exe pid: 8901 cpu: 1.7%
  5: mem: 240.8 MiB (3.1%) command: waterfox pid: 11211 cpu: 0.5%
Info:
  Processes: 315 Power: uptime: 2d 14h 33m states: freeze,mem,disk
    suspend: deep avail: s2idle wakeups: 17 hibernate: platform avail: shutdown,
    reboot, suspend, test_resume image: 2.98 GiB
    services: upowerd,xfce4-power-manager Init: systemd v: 258
    default: graphical tool: systemctl
  Compilers: clang: 21.1.6 gcc: 15.2.1 Shell: Zsh v: 5.9
    running-in: xfce4-terminal inxi: 3.3.40

What else should I try to troubleshoot this?

Thank you!

Check if you have deactivated the camera using hardware switch - it is often a Fn + F-key combo.

It could be disabled in the firmware.

It has been seen that a Windows system that was not fully shutdown and subsequently removed from the system - has left certain devices in an inoperable state.

Thanks for suggestions! None of the function keys appear to control the webcam, based on the icons and testing them. There’s no mention of a hardware switch online, and none apparent on the laptop.

I checked the BIOS and confirmed that the camera is enabled there.

I don’t have a way to boot into Windows now. I didn’t even go through the account setup stuff for Windows when I received the laptop, though I’m sure someone had used it with Windows before it reached me.

Anything else I could check?

What does lsusb -tvvv show?

I would definetly check the BIOS settings, many laptops have the ability to disable cameras, wifi and Bluetooth directly in the BIOS.
Then go from there.

If the camera is enabled in firmware but not showing with lsusb, lspci, the only thing that cause that would be defective hardware.

Usually ThinkPad camereas is connected to USB and should show with lsusb

Thinkpad X1 Carbon - does it have a slider covering the camera?

My ThinkPad x13 has a slider but even when closed I have /dev/video{0,1,2,3}

I checked with my laptop - it will show an integrated camera in Graphics section - which it does not on the info provided above.

I am thinking it could be defective - or to put in mildly - in a non-functional state - it could be something simple - but I am out of options.

lsusb -tvvv                                                      ✔ 
/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/12p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    /sys/bus/usb/devices/usb1  /dev/bus/usb/001/001
    |__ Port 002: Dev 003, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        ID 046d:c52b Logitech, Inc. Unifying Receiver
        /sys/bus/usb/devices/1-2  /dev/bus/usb/001/003
        Manufacturer=Logitech Product=USB Receiver 
    |__ Port 002: Dev 003, If 1, Class=Human Interface Device, Driver=usbhid, 12M
        ID 046d:c52b Logitech, Inc. Unifying Receiver
        /sys/bus/usb/devices/1-2  /dev/bus/usb/001/003
        Manufacturer=Logitech Product=USB Receiver 
    |__ Port 002: Dev 003, If 2, Class=Human Interface Device, Driver=usbhid, 12M
        ID 046d:c52b Logitech, Inc. Unifying Receiver
        /sys/bus/usb/devices/1-2  /dev/bus/usb/001/003
        Manufacturer=Logitech Product=USB Receiver 
    |__ Port 007: Dev 004, If 0, Class=Wireless, Driver=btusb, 12M
        ID 8087:0a2b Intel Corp. Bluetooth wireless interface
        /sys/bus/usb/devices/1-7  /dev/bus/usb/001/004
    |__ Port 007: Dev 004, If 1, Class=Wireless, Driver=btusb, 12M
        ID 8087:0a2b Intel Corp. Bluetooth wireless interface
        /sys/bus/usb/devices/1-7  /dev/bus/usb/001/004
    |__ Port 009: Dev 007, If 0, Class=Vendor Specific Class, Driver=[none], 12M
        ID 138a:0097 Validity Sensors, Inc. 
        /sys/bus/usb/devices/1-9  /dev/bus/usb/001/007
        Serial=75b884ed54e9
/:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/6p, 5000M
    ID 1d6b:0003 Linux Foundation 3.0 root hub
    /sys/bus/usb/devices/usb2  /dev/bus/usb/002/001

The only one I wasn’t sure about was “Validity Sensors”, and that’s apparently the fingerprint scanner.

Ok, well, I’m at least glad to have checked a few more things just to be sure. Maybe I’ll poke around inside and look for loose wires someday, but for now I can make do with an external webcam. Thank you for your help!