Public bug reported:
## Summary
Integrated webcam (Chicony 04f2:b6cb) on Lenovo Yoga Slim 7 Pro 14IHU5 (model
82NC) enumerates correctly, negotiates UVC formats, and streams isochronous
packets with zero USB errors — but every video payload contains only the
12-byte UVC stream header and **no pixel data**. Camera indicator LED turns on,
USB traffic looks nominally healthy, but no application (ffmpeg, v4l2-ctl raw
stream capture, Chrome/Google Meet, Zoom) ever receives a usable frame. This is
a regression: the camera worked normally before upgrading this machine from
Ubuntu 22.04 to 24.04.
## System
- Laptop: Lenovo Yoga Slim 7 Pro 14IHU5, system model 82NC, BIOS FJCN69WW
- OS: Ubuntu 24.04.4 LTS
- Kernels tested: 6.8.0-137-generic (GA) and 6.14.0-37-generic (HWE) — **both
affected**
- Camera: Chicony Electronics Integrated Camera, USB ID 04f2:b6cb, bcdUVC 1.10,
bcdDevice 80.18
- Composite device: RGB sensor on interface 0/1 (UVC 1.10, /dev/video0-1),
separate IR sensor on interface 2/3 (UVC 1.50, /dev/video2-3, used for Windows
Hello / face auth — reproduces its own distinct format-negotiation failure, not
the focus of this report)
- Camera exposes 3 vendor Extension Units (XUs) in its VideoControl
descriptor, which are typically used by the OEM Windows driver to perform
proprietary sensor init:
- XU 4: guid {1229a78c-47b4-4094-b0ce-db07386fb938}
- XU 7: guid {26b8105a-0713-4870-979d-da79444bb68e}
- XU 8: guid {0f3f95dc-2632-4c4e-92c9-a04782f43bc8}
## Steps to reproduce
```
v4l2-ctl -d /dev/video0 --set-fmt-video=width=640,height=480,pixelformat=YUYV \
--stream-mmap --stream-count=5 --stream-to=/tmp/raw_test.yuv
```
Result: hangs until interrupted; output file is 0 bytes. Same result via
`ffmpeg -f v4l2 -i /dev/video0 ...` (both `mjpeg` and `yuyv422` input formats):
ffmpeg opens the device, receives format/stream description, but gets EOF with
no decodable frame.
## Evidence: usbmon capture during a stream attempt
Captured via `/sys/kernel/debug/usb/usbmon/3u` while streaming was active. USB
control-plane traffic (format probe/commit, altsetting select) completes
normally. Isochronous IN completions on endpoint 1 look like this, repeated for
the entire capture with no errors:
```
C Zi:3:002:1 0:1:15352:0 32 0:0:12 0:2940:12 0:5880:12 0:8820:12 0:11760:12
94080 = 0c8c0000 000075c3 9f017d07 00000000...
```
Every isochronous packet descriptor completes with status 0 (success) but
**actual_length=12 bytes** — exactly the size of a bare UVC payload header
(FID/EOF/PTS/SCR fields) with zero image bytes following it. This pattern is
consistent across ~475 isochronous packets captured; no URB errors, no babble,
no protocol errors anywhere in dmesg.
## What's been ruled out
- USB autosuspend (device was suspending; disabling via udev `power/control=on`
fixed an earlier separate symptom — the browser's "camera not found" error
disappeared once the device reliably stays powered — but did not fix frame
delivery)
- `uvcvideo quirks=128` (UVC_QUIRK_FIX_BANDWIDTH) — no effect
- `power_line_frequency` control (known bug class on other Lenovo-integrated
cameras, see kernel patch "media: uvcvideo: Fix power line control for Lenovo
Integrated Camera" for Shine-Optics 3277:009e) — set explicitly via v4l2-ctl,
no effect
- Lenovo EC camera-power gate
(`/sys/devices/pci0000:00/0000:00:1f.0/PNP0C09:00/VPC2004:00/camera_power`) —
toggled off/on, no effect, reads `1` (enabled)
- No physical privacy shutter on this model; no dedicated Fn camera-toggle
hotkey found
- No pending firmware updates for "Integrated Camera" via fwupd/LVFS
- Fresh `modprobe -r uvcvideo && modprobe uvcvideo` before each test to rule
out stale driver state
- GNOME camera privacy toggle off (not blocking), correct udev ACL for
/dev/video0, no other process holding the device open, no `/etc/modprobe.d`
blacklist affecting uvcvideo/i2c_hid/psmouse
## Working theory
The three vendor Extension Units suggest the OEM Windows driver performs a
proprietary init/wake sequence on the sensor via one of these XUs before it
will actually output pixel data. `uvcvideo`'s generic UVC negotiation
(probe/commit/altsetting) succeeds because that part of the protocol is
standard, but without the correct XU command sequence the sensor silently stays
in a "streaming but dark" state — it acknowledges the stream request and sends
header-only payloads, but never activates actual pixel readout. Since this
camera reportedly worked under this same laptop before upgrading Ubuntu 22.04 →
24.04, something changed (kernel version, uvcvideo driver behavior, or firmware
quirk table) between the two setups; a bisect against the 22.04 kernel/driver
version would help narrow this down further.
## Requested
- Guidance on whether a uvcvideo quirk/XU-init patch is feasible for this
device, similar to the existing "Fix power line control for Lenovo Integrated
Camera" precedent
- Any pointers to existing bug reports for Chicony 04f2:b6cb or Lenovo model
82NC camera issues
ProblemType: Bug
DistroRelease: Ubuntu 24.04
Package: linux-image-6.8.0-137-generic 6.8.0-137.137
ProcVersionSignature: Ubuntu 6.8.0-137.137-generic 6.8.12
Uname: Linux 6.8.0-137-generic x86_64
NonfreeKernelModules: zfs
ApportVersion: 2.28.3-0ubuntu0.1
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/controlC0: raghu 3845 F.... pipewire
raghu 3849 F.... wireplumber
/dev/snd/seq: raghu 3845 F.... pipewire
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Fri Aug 14 20:28:25 2026
HibernationDevice: RESUME=none
InstallationDate: Installed on 2023-05-23 (1179 days ago)
InstallationMedia: Ubuntu 22.04.2 LTS "Jammy Jellyfish" - Release amd64
(20230223)
MachineType: LENOVO 82NC
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/BOOT/ubuntu_px4ncd@/vmlinuz-6.8.0-137-generic
root=ZFS=rpool/ROOT/ubuntu_px4ncd ro quiet splash i8042.direct i8042.dumbkbd
RelatedPackageVersions:
linux-restricted-modules-6.8.0-137-generic N/A
linux-backports-modules-6.8.0-137-generic N/A
linux-firmware 20240318.git3b128b60-0ubuntu2.29
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/21/2022
dmi.bios.release: 1.69
dmi.bios.vendor: LENOVO
dmi.bios.version: FJCN69WW
dmi.board.asset.tag: NO Asset Tag
dmi.board.name: LNVNB161216
dmi.board.vendor: LENOVO
dmi.board.version: SDK0T76485 WIN
dmi.chassis.asset.tag: NO Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Yoga Slim 7 Pro 14IHU5
dmi.ec.firmware.release: 1.31
dmi.modalias:
dmi:bvnLENOVO:bvrFJCN69WW:bd03/21/2022:br1.69:efr1.31:svnLENOVO:pn82NC:pvrYogaSlim7Pro14IHU5:rvnLENOVO:rnLNVNB161216:rvrSDK0T76485WIN:cvnLENOVO:ct10:cvrYogaSlim7Pro14IHU5:skuLENOVO_MT_82NC_BU_idea_FM_YogaSlim7Pro14IHU5:
dmi.product.family: Yoga Slim 7 Pro 14IHU5
dmi.product.name: 82NC
dmi.product.sku: LENOVO_MT_82NC_BU_idea_FM_Yoga Slim 7 Pro 14IHU5
dmi.product.version: Yoga Slim 7 Pro 14IHU5
dmi.sys.vendor: LENOVO
** Affects: linux (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug noble
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2163506
Title:
Integrated webcam (Chicony 04f2:b6cb) on Lenovo Yoga Slim 7 Pro 14IHU5
(model 82NC) doesnt work after upgrading to Ubuntu 24.04
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2163506/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs