Created attachment 2096437 [details] journal -b 0 -k 1. Please describe the problem: Webcam is not detected. Following instructions provided on https://fedoraproject.org/wiki/Changes/X86_MIPI_CameraHwEnablement 2. What is the Version-Release number of the kernel: Linux rotor 6.15.4-200.fc42.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jun 27 15:32:46 UTC 2025 x86_64 GNU/Linux
Created attachment 2096438 [details] lsusb
Created attachment 2096439 [details] ls -l /sys/bus/i2c/devices/
Created attachment 2096440 [details] ls -l /sys/bus/spi/devices/
Ben, thank you for your bug report and sorry for being slow to report. As mentioned in the updated summary there were 2 problems why the camera on your laptop did not work before: 1. It is Lunar Lake so it has IPU7 instead of IPU6 for the camera 2. It is using the new USBIO expander chip for which drivers were not upstream yet. Your Dell 13 pro is also special in another way: 3. It is using the Synaptics produced version of the USBIO expander instead of the Lattice one and so far people have only tested the Lattice USBIO chips. There is a bunch of good news related to these 3 issues: 1a. The just released 6.17 kernel has support for the IPU7 CSI2 receiver 1b. libcamera-0.5.2-4.fc43 in Fedora adds userspace support for the IPU7 CSI2 receiver 2. The missing USBIO drivers have recently landed in linux-next and I have backported the USBIO drivers + a few other camera fixes to the Fedora 6.17 kernel. 3. The new upstream USBIO drivers should theoretically support the Synaptics USBIO version (this needs to be tested). Since IPU7 support requires the new libcamera, the easiest way for you to test things is (when you can make some time for this) to upgrade your Fedora to F43 beta and then install all updates, this should give you libcamera-0.5.2-4 and a kernel with a version >= 6.17.0-63 . After booting into the upgraded Fedora 43 Please first try with qcam: sudo dnf install libcamera-qcam qcam which only tests libcamera and after that give apps which use the camera through pipewire a try like gnome's "Camera" app (snapshot) or video-conferencing in Firefox. Note snapshot on Lunar Lake triggers a bug in the LNL Vulkan code, to avoid this start snapshot from a terminal with: GSK_RENDERER=gl snapshot If things to not work in qcam, please collect a new set of logs (same logs as before).
Still no luck with `qcam`, but it is more…useful in that it actually tries. Attaching Fedora 43 versions. I've removed all RPMFusion-sourced v4l2 packages (including `v4l2-relayd` and the loopback) as well. Here is the qcam output if it is useful: ``` [0:00:37.806504228] [4137] INFO Camera camera_manager.cpp:330 libcamera v0.5.2 [0:00:37.824733021] [4193] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov08x40 17-0036': Unable to get rectangle 2 on pad 0/0: Inappropriate ioctl for device [0:00:37.824779078] [4193] WARN CameraSensor camera_sensor_legacy.cpp:401 'ov08x40 17-0036': The PixelArraySize property has been defaulted to 3856x2176 [0:00:37.824788038] [4193] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov08x40 17-0036': Unable to get rectangle 1 on pad 0/0: Inappropriate ioctl for device [0:00:37.824794523] [4193] WARN CameraSensor camera_sensor_legacy.cpp:412 'ov08x40 17-0036': The PixelArrayActiveAreas property has been defaulted to (0, 0)/3856x2176 [0:00:37.824801633] [4193] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov08x40 17-0036': Unable to get rectangle 0 on pad 0/0: Inappropriate ioctl for device [0:00:37.824806780] [4193] WARN CameraSensor camera_sensor_legacy.cpp:420 'ov08x40 17-0036': Failed to retrieve the sensor crop rectangle [0:00:37.824810692] [4193] WARN CameraSensor camera_sensor_legacy.cpp:426 'ov08x40 17-0036': The sensor kernel driver needs to be fixed [0:00:37.824814308] [4193] WARN CameraSensor camera_sensor_legacy.cpp:428 'ov08x40 17-0036': See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information [0:00:37.825086378] [4193] WARN CameraSensorProperties camera_sensor_properties.cpp:484 No static properties available for 'ov08x40' [0:00:37.825096309] [4193] WARN CameraSensorProperties camera_sensor_properties.cpp:486 Please consider updating the camera sensor properties database [0:00:37.825108418] [4193] WARN CameraSensor camera_sensor_legacy.cpp:501 'ov08x40 17-0036': No sensor delays found in static properties. Assuming unverified defaults. [0:00:37.828716303] [4193] WARN IPAProxy ipa_proxy.cpp:177 Configuration file 'ov08x40.yaml' not found for IPA module 'simple', falling back to 'uncalibrated.yaml' [0:00:37.828771939] [4193] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov08x40 17-0036': Unable to get rectangle 0 on pad 0/0: Inappropriate ioctl for device [0:00:37.828798754] [4193] WARN CameraSensor camera_sensor_legacy.cpp:880 'ov08x40 17-0036': The analogue crop rectangle has been defaulted to the active area size [0:00:37.839272846] [4194] INFO IPAProxySoftWorker soft_ipa_proxy_worker.cpp:448 Starting worker for IPA module /usr/lib64/libcamera/ipa/ipa_soft_simple.so with IPC fd = 30 [0:00:37.839970090] [4194] WARN IPASoft soft_simple.cpp:103 IPASoft: Failed to create camera sensor helper for ov08x40 [0:00:37.840413658] [4193] INFO Camera camera_manager.cpp:220 Adding camera '\_SB_.LNK1' for pipeline handler simple [0:00:37.924915125] [4137] INFO Camera camera.cpp:1215 configuring streams: (0) 3848x2176-ABGR8888/Unset [0:00:37.925210376] [4194] INFO IPASoft soft_simple.cpp:269 IPASoft: Exposure 4-4992, gain 128-1984 (1) Zero-copy enabled [0:00:40.533708888] [4193] ERROR V4L2 v4l2_videodevice.cpp:1781 /dev/video0[23:cap]: Failed to queue buffer 0: Protocol error [0:00:40.533759467] [4193] ERROR V4L2 v4l2_videodevice.cpp:1781 /dev/video0[23:cap]: Failed to queue buffer 1: No such device [0:00:40.533765591] [4193] ERROR V4L2 v4l2_videodevice.cpp:1781 /dev/video0[23:cap]: Failed to queue buffer 2: No such device ```
Created attachment 2108397 [details] Fedora 43 - journalctl -b 0 -k
Created attachment 2108398 [details] Fedora 43 - lsusb
Created attachment 2108399 [details] Fedora 43 - ls -l /sys/bus/i2c/devices/
Created attachment 2108400 [details] Fedora 43 - ls -l /sys/bus/spi/devices/
Having the IPU7 driver around breaks suspend on the machine: ``` Oct 04 01:14:53 rotor kernel: intel_ipu7_isys.isys intel_ipu7.isys.40: PM: dpm_run_callback(): isys_suspend [intel_ipu7_isys] returns -16 Oct 04 01:14:53 rotor kernel: intel_ipu7_isys.isys intel_ipu7.isys.40: PM: failed to suspend: error -16 Oct 04 01:14:53 rotor kernel: PM: Some devices failed to suspend, or early wake event detected Oct 04 01:14:53 rotor kernel: PM: resume devices took 0.612 seconds Oct 04 01:14:53 rotor kernel: OOM killer enabled. Oct 04 01:14:53 rotor kernel: Restarting tasks: Starting Oct 04 01:14:53 rotor kernel: Restarting tasks: Done Oct 04 01:14:53 rotor kernel: random: crng reseeded on system resumption Oct 04 01:14:53 rotor fwupd[3855]: 05:14:53.265 FuEngine failed to add device /sys/devices/pci0000:00/0000:00:16.0/0000:00:16.0-55213584-9a29-4916-badf-0fb7ed682aeb: fai> Oct 04 01:14:53 rotor fwupd[3855]: 05:14:53.279 FuEngine failed to add device /sys/devices/pci0000:00/0000:00:16.0/0000:00:16.0-55213584-9a29-4916-badf-0fb7ed682aeb: fai> Oct 04 01:14:53 rotor bluetoothd[1853]: Controller resume with wake event 0x0 Oct 04 01:14:53 rotor systemd-sleep[6400]: Failed to put system to sleep. System resumed again: Device or resource busy Oct 04 01:14:53 rotor kernel: PM: suspend exit ```
> Having the IPU7 driver around breaks suspend on the machine Thank you for reporting this, this should be fixed by this upstream commit: https://git.linuxtv.org/media.git/commit/?id=895d3b4b5832edefd2f1fbad9d75c0179f47fe0e I'll work on getting that added to the fedora 6.17.y kernels. I also have good news wrt making streaming from the sensor work. There has been another bug report on this on a slightly different Dell model, bug 2402746 which has the same symptoms of things working until all of a sudden the USBIO chip drops of the bus: Oct 04 01:04:16 rotor kernel: usb 3-3: USB disconnect, device number 3 Oct 04 01:04:16 rotor kernel: usbio-bridge 3-3:1.0: Bulk in error -108 Oct 04 01:04:16 rotor kernel: usbio-bridge 3-3:1.0: Bulk in short read: 0 Oct 04 01:04:16 rotor kernel: usbio-bridge 3-3:1.0: Bulk out failed: -19 Oct 04 01:04:16 rotor kernel: ov08x40 i2c-OVTI08F4:00: Failed to write reg 0x5152. error = -71 Oct 04 01:04:16 rotor kernel: ov08x40 i2c-OVTI08F4:00: ov08x40_start_streaming failed to set plls This can be fixed by loading the out of tree intel-vision drivers, for some reason without these present the USBIO chip gets upset when trying to enable streaming. To load these drivers do the following: 1. Boot with Fesora kernel >= 6.17.1 + libcamera >= 0.5.2-4.fc43 2. Do not try to use the camera yet! 3. From a terminal run: git clone https://github.com/intel/vision-drivers.git cd vision-drivers make sudo insmod intel_cvs.ko 4. Now try to stream with qcam If this works you can make this permanent for your currently running kernel by running: cd vision-drivers sudo make modules_install Note this will not fix the suspend/resume issue as mentioned that requires: https://git.linuxtv.org/media.git/commit/?id=895d3b4b5832edefd2f1fbad9d75c0179f47fe0e And I'll try to schedule some time to get that fix added to the Fedora 6.17.y kernels.
Good news, the ipu7 suspend/resume fix has landed in the just released 6.17.4 kernel which should become available as a Fedora update soon.
Updated to 6.17.4; haven't tested suspend yet. But here is output from `qcam` before and after loading the `intel_cvs` module: Before: % qcam qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in "" [0:01:32.893768921] [5711] INFO Camera camera_manager.cpp:330 libcamera v0.5.2 [0:01:32.912614060] [5771] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov08x40 17-0036': Unable to get rectangle 2 on pad 0/0: Inappropriate ioctl for device [0:01:32.912681923] [5771] WARN CameraSensor camera_sensor_legacy.cpp:401 'ov08x40 17-0036': The PixelArraySize property has been defaulted to 3856x2176 [0:01:32.912689009] [5771] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov08x40 17-0036': Unable to get rectangle 1 on pad 0/0: Inappropriate ioctl for device [0:01:32.912695855] [5771] WARN CameraSensor camera_sensor_legacy.cpp:412 'ov08x40 17-0036': The PixelArrayActiveAreas property has been defaulted to (0, 0)/3856x2176 [0:01:32.912703842] [5771] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov08x40 17-0036': Unable to get rectangle 0 on pad 0/0: Inappropriate ioctl for device [0:01:32.912708624] [5771] WARN CameraSensor camera_sensor_legacy.cpp:420 'ov08x40 17-0036': Failed to retrieve the sensor crop rectangle [0:01:32.912712573] [5771] WARN CameraSensor camera_sensor_legacy.cpp:426 'ov08x40 17-0036': The sensor kernel driver needs to be fixed [0:01:32.912716122] [5771] WARN CameraSensor camera_sensor_legacy.cpp:428 'ov08x40 17-0036': See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information [0:01:32.913020088] [5771] WARN CameraSensorProperties camera_sensor_properties.cpp:484 No static properties available for 'ov08x40' [0:01:32.913031050] [5771] WARN CameraSensorProperties camera_sensor_properties.cpp:486 Please consider updating the camera sensor properties database [0:01:32.913040915] [5771] WARN CameraSensor camera_sensor_legacy.cpp:501 'ov08x40 17-0036': No sensor delays found in static properties. Assuming unverified defaults. [0:01:32.919205927] [5771] WARN IPAProxy ipa_proxy.cpp:177 Configuration file 'ov08x40.yaml' not found for IPA module 'simple', falling back to 'uncalibrated.yaml' [0:01:32.919320108] [5771] ERROR V4L2 v4l2_subdevice.cpp:1198 'ov08x40 17-0036': Unable to get rectangle 0 on pad 0/0: Inappropriate ioctl for device [0:01:32.919349508] [5771] WARN CameraSensor camera_sensor_legacy.cpp:880 'ov08x40 17-0036': The analogue crop rectangle has been defaulted to the active area size [0:01:32.934514100] [5772] INFO IPAProxySoftWorker soft_ipa_proxy_worker.cpp:448 Starting worker for IPA module /usr/lib64/libcamera/ipa/ipa_soft_simple.so with IPC fd = 30 [0:01:32.935408964] [5772] WARN IPASoft soft_simple.cpp:103 IPASoft: Failed to create camera sensor helper for ov08x40 [0:01:32.935885832] [5771] INFO Camera camera_manager.cpp:220 Adding camera '\_SB_.LNK1' for pipeline handler simple [0:01:33.065953567] [5711] INFO Camera camera.cpp:1215 configuring streams: (0) 3848x2176-ABGR8888/Unset [0:01:33.066486690] [5772] INFO IPASoft soft_simple.cpp:269 IPASoft: Exposure 4-4992, gain 128-1984 (1) Zero-copy enabled [0:01:35.584038526] [5771] ERROR V4L2 v4l2_videodevice.cpp:1781 /dev/video0[23:cap]: Failed to queue buffer 0: Protocol error [0:01:35.584191044] [5771] ERROR V4L2 v4l2_videodevice.cpp:1781 /dev/video0[23:cap]: Failed to queue buffer 1: No such device [0:01:35.584202733] [5771] ERROR V4L2 v4l2_videodevice.cpp:1781 /dev/video0[23:cap]: Failed to queue buffer 2: No such device After: % qcam qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in "" [0:02:22.523530260] [6080] INFO Camera camera_manager.cpp:330 libcamera v0.5.2 [0:02:22.552887285] [6091] INFO SimplePipeline simple.cpp:1687 No sensor found for /dev/media0 No camera detected
Hi Ben, The problem is you tried to use qcam before doing the "sudo insmod intel_cvs.ko". As step 2 from comment 11 says: 2. Do not try to use the camera yet! that will not work. Please reboot and try again, doing the "sudo insmod intel_cvs.ko" before trying to use the camera.
Ah, whoops. Indeed. I'll try suspending then reboot.
No luck suspending: Oct 22 11:54:46 rotor kernel: intel_ipu7_isys.isys intel_ipu7.isys.40: PM: dpm_run_callback(): isys_suspend [intel_ipu7_isys] returns -16 Oct 22 11:54:46 rotor kernel: intel_ipu7_isys.isys intel_ipu7.isys.40: PM: failed to suspend: error -16 Oct 22 11:54:46 rotor kernel: PM: Some devices failed to suspend, or early wake event detected Oct 22 11:54:46 rotor kernel: PM: resume devices took 0.652 seconds Oct 22 11:54:46 rotor kernel: OOM killer enabled. Linux rotor 6.17.4-300.fc43.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Oct 19 17:36:51 UTC 2025 x86_64 GNU/Linux
Suspending works when the `intel_cvs` module is loaded properly. I also get pixels, but it looks like a horror movie filter is on it (dark green tints, no bright colors). But pixels are flowing! Thanks for the progress :) . I also note that Cheese and Firefox are not able to access pixels, but I expect this will only improve over time.
Note in Fedora 43 the camera should work in snapshot (aka Camera) and firefox after loading the vision drivers. If they do not see the camera, then this is likely caused by by these kind of cameras not really sending hotplug events when they become ready. As a workaround, after loading the vision drivers you can do: systemctl --user restart pipewire That should be enough, but if e.g. "Camera" still does not see the camera then you can also try: systemctl --user restart wireplumber Note the snapshot / camera app now default to using Vulkan for rendering which is known to cause issues with some iGPU-s to work around this you can start it from a terminal using: GSK_RENDERER=gl snapshot Note cheese is no longer being developed. On recent GNOME versions please use snapshot (aka Camera) to test the camera.