Fedora 41 6.12.5-200.fc41.x86_64 Try to open webcam, using webcamtests.com, cheese or gnome camera. No playback. There was an error playing video from the webcam NotFoundError: Requested device not found Reproducible: Always
Created attachment 2062964 [details] "journalctl -b 0 -k" output while running 6.12.5.
Comment on attachment 2062964 [details] "journalctl -b 0 -k" output while running 6.12.5. The first problem which needs to be tackled is this kernel message: Dec 18 12:56:34 li-4c4c4544-0033-4a10-8056-b2c04f4a3634.ibm.com kernel: int3472-discrete INT3472:01: cannot find GPIO chip INTC10D1:00, deferring The INTC10D1:00 GPIO chip should be provided by a LJCA USB IO-expander chip. I have received one other bugreport about the cameras on the Dell Latitude 7450 and there the problem was that the LJCA USB chip for some reason is not showing up on the USB bus. Can you please provide output of the "lsusb" command ? I am wondering if the LJCA chip not showing up has anything to do with the "int3472-discrete INT3472:01: GPIO type 0x12 unknown; the sensor may not work" messages. Maybe Linux first needs to drive that GPIO pin high for the LJCA chip to show iup. Can you please create (as root) a "/etc/modprobe.d/intel_skl_int3472_discrete.conf" config file with as contents: options intel_skl_int3472_discrete dyndbg then reboot and collect new "journalctl -b 0 -k" output ?
Created attachment 2062966 [details] ptions intel_skl_int3472_discrete dyndbg ,reboot and "journalctl -b 0 -k" output
Created attachment 2062968 [details] lsusb
Thank you for the logs. This line from lsusb: Bus 003 Device 002: ID 2ac1:20c9 SLS Lattice AI USB 2.0 shows that you have a Lattice MIPI aggregator IO-expander instead of a LJCA one. Apparently both can provide a INTC10D1 GPIO device (how nice of Intel to not use unique IDs for this). The Lattice MIPI aggregator IO-expander requires these out of tree drivers: https://github.com/intel/usbio-drivers Yesterday I received a laptop from Lenovo which should (I did not check yet) also have a Lattice MIPI aggregator IO-expander and I plan to start working on support for this after the Christmas break.
quick update: A community member now has this working by combining these out of tree drivers / patches: - https://github.com/intel/usbio-drivers - https://github.com/intel/ipu6-drivers/blob/master/drivers/media/i2c/ov02e10.c - https://github.com/intel/ipu6-drivers/blob/master/patch/int3472-v6.5/0001-platform-x86-int3472-Add-handshake-GPIO-function.patch Work is ongoing on getting all of this merged upstream
I have now filed tracking bugs for the 3 issues which need to be resolved to get the cameras to work on the Dell Latitude 7450: bug 2333299 - Lattice MIPI Aggregator support for IPU6 cameras bug 2341731 - IPU6 cameras not working due to missing handshake GPIO support bug 2341736 - OV02E10 sensor support for IPU6 cameras
It seems there are 2 versions of the Dell Latitude 7450 one with on ov02e10 sensor, which is what this bug has been tracking so far and one with a hi556 sensor. To check which version you have, first install the usbio drivers from rpmfusion, enable both the free and nonfree repos, see: https://rpmfusion.org/Configuration and then run: sudo dnf install akmod-intel-ipu6 and then after installing that reboot. After the reboot run: ls -l /sys/bus/i2c/devices | grep usbio This should output 4 lines, if one of those lines contains i2c-INT3537:xx the laptop has a hi556 sensor otherwise if one of the lines should contain i2c-OVTI02E1:xx and then the laptop has a ov02e10 sensor. If there is no output then the usbio drivers which are part of akmod-intel-ipu6 have not been installed correctly. Updating the Summary to include "ov02e10" for this bug, for Dell Latitude's with the hi556 sensor see bug 2368506.
I am seeing. lrwxrwxrwx 1 root root 0 May 26 12:08 i2c-15 -> ../../../devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0/usbio-i2c.28.auto/i2c-15 lrwxrwxrwx 1 root root 0 May 26 12:08 i2c-16 -> ../../../devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0/usbio-i2c.29.auto/i2c-16 lrwxrwxrwx 1 root root 0 May 26 12:08 i2c-INT3537:00 -> ../../../devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0/usbio-i2c.29.auto/i2c-16/i2c-INT3537:00 lrwxrwxrwx 1 root root 0 May 26 12:08 i2c-OVTI00AB:00 -> ../../../devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0/usbio-i2c.28.auto/i2c-15/i2c-OVTI00AB:00
(In reply to traxtopel from comment #9) > I am seeing. > > lrwxrwxrwx 1 root root 0 May 26 12:08 i2c-15 -> > ../../../devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0/usbio-i2c.28.auto/ > i2c-15 > lrwxrwxrwx 1 root root 0 May 26 12:08 i2c-16 -> > ../../../devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0/usbio-i2c.29.auto/ > i2c-16 > lrwxrwxrwx 1 root root 0 May 26 12:08 i2c-INT3537:00 -> > ../../../devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0/usbio-i2c.29.auto/ > i2c-16/i2c-INT3537:00 > lrwxrwxrwx 1 root root 0 May 26 12:08 i2c-OVTI00AB:00 -> > ../../../devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0/usbio-i2c.28.auto/ > i2c-15/i2c-OVTI00AB:00 Right, your Dell latitude 7450 has the hi556 sensor, support for this is being tracked in bug 2368506. I have linked a test-kernel with some hi556 fixes added from that bug.
It now allows me to choose from hi556 Intel MIPI Camera (v4L2) Good news - The MIPI camera is working. .. Not sure what the hi556 is.
That is good news, thank you for testing. The Intel MIPI Camera (v4l2) option is using Intel's proprietary stack (which akmod-intel-ipu6 brings in from rpmfusion). hi556 is the same camera using the FOSS stack. That should also work, although the image might flicker atm due to autoexposure oscilation. Fixing the oscilation / flickering is high on my todo list. See bug 2368538.
I have a Dell Latitude 7450. No luck so far. I installed the akmod-intel-ipu6 package, which pulled in a bunch of other packages and then rebooted. The grep on usbio returns nothing but the list isn't that long without the grep. I guess I'm missing something else that needs to be installed perhaps?. I think the kernel version is the one required? uname -r 6.14.6-300.fc42.x86_64 ls -l /sys/bus/i2c/devices total 0 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-0 -> ../../../devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-1 -> ../../../devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-10 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-10 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-11 -> ../../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-eDP-1/i2c-11 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-12 -> ../../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-1/i2c-12 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-13 -> ../../../devices/pci0000:00/0000:00:02.0/drm/card1/card1-DP-2/i2c-13 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-14 -> ../../../devices/pci0000:00/0000:00:1f.4/i2c-14 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-2 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-2 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-3 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-3 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-4 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-4 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-5 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-5 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-6 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-6 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-7 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-7 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-8 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-8 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-9 -> ../../../devices/pci0000:00/0000:00:02.0/i2c-9 lrwxrwxrwx 1 root root 0 May 27 20:49 i2c-VEN_06CB:00 -> ../../../devices/pci0000:00/0000:00:15.3/i2c_designware.1/i2c-1/i2c-VEN_06CB:00
PS. I enabled the testing repo and updated. The kernel is now 6.14.8-300. I see the follow in the boot log: journalctl -b 0 -k | grep ipu May 27 21:19:54 fedora kernel: intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002) May 27 21:19:54 fedora kernel: intel-ipu6 0000:00:05.0: Found supported sensor OVTI02E1:00 May 27 21:19:54 fedora kernel: intel-ipu6 0000:00:05.0: Connected 1 cameras May 27 21:19:54 fedora kernel: intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE May 27 21:19:54 fedora kernel: intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE May 27 21:19:54 fedora kernel: intel-ipu6 0000:00:05.0: CSE authenticate_run done May 27 21:19:54 fedora kernel: intel-ipu6 0000:00:05.0: IPU6-v4[7d19] hardware version 6
(In reply to Bill from comment #13) > I have a Dell Latitude 7450. No luck so far. I installed the > akmod-intel-ipu6 package, which pulled in a bunch of other packages and then > rebooted. The grep on usbio returns nothing but the list isn't that long > without the grep. I guess I'm missing something else that needs to be > installed perhaps?. I think the kernel version is the one required? The usbio chip used in your laptop provides the i2c bus to control the camera sensor. If that is not listed under /sys/bus/i2c/devices then things are not going to work. First of all run: rpm -qa | grep kmod-intel-ipu6 This should show the base akmod package + kmod-intel-ipu6 build for each kernel you have booted at least once. For example on my system the output is: kmod-intel-ipu6-6.13.1-200.fc41.x86_64-0.0-20.20250115git13c466e.fc41.x86_64 kmod-intel-ipu6-6.13.7-200.fc41.x86_64-0.0-20.20250115git13c466e.fc41.x86_64 akmod-intel-ipu6-0.0-20.20250115git13c466e.fc42.x86_64 kmod-intel-ipu6-6.14.5-300.fc42.x86_64-0.0-20.20250115git13c466e.fc42.x86_64 So you should have a: kmod-intel-ipu6-6.14.8-300.fc42.x86_64-0.0-20.20250115git13c466e.fc42.x86_64 line in the output. Lets assume for now that that line will be there. Then the problem is likely that loading out of tree modules is denied by default when secureboot is enabled. So you need to enroll the mok key used for the modules, or disable secure boot in your BIOS. Note you should already have a key since some modules were already build, so do NOT run "sudo kmodgenca -a". Quoting the relevant instructions from: https://rpmfusion.org/Howto/Secure%20Boot "Run: sudo mokutil --import /etc/pki/akmods/certs/public_key.der Mokutil asks to generate a password to enroll the public key. You will need this soon. Rebooting the system is needed for MOK to enroll the new public key. systemctl reboot On the next boot MOK Management is launched and you have to choose "Enroll MOK" Choose "Continue" to enroll the key or "View key 0" to show the keys already enrolled. Confirm enrollment by selecting "Yes". You will be invited to enter the password generated above. WARNING: keyboard is mapped to QWERTY! The new key is enrolled, and the system asks you to reboot." Or alternatively you can just disable secureboot in your BIOS.
Brilliant!. I didn't want to disable secure boot so I followed the key enrollment instructions and I now have a working camera. Tested via gnome camera Yay. ls -l /sys/bus/i2c/devices | grep usbio lrwxrwxrwx. 1 root root 0 May 28 01:09 i2c-15 -> ../../../devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0/usbio-i2c.27.auto/i2c-15 lrwxrwxrwx. 1 root root 0 May 28 01:09 i2c-16 -> ../../../devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0/usbio-i2c.28.auto/i2c-16 lrwxrwxrwx. 1 root root 0 May 28 01:09 i2c-HIMX1092:00 -> ../../../devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0/usbio-i2c.27.auto/i2c-15/i2c-HIMX1092:00 lrwxrwxrwx. 1 root root 0 May 28 01:08 i2c-OVTI02E1:00 -> ../../../devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5:1.0/usbio-i2c.28.auto/i2c-16/i2c-OVTI02E1:00 I see you have put a lot of effort into getting these IPU6 cameras working. Thank you so much.
(In reply to Bill from comment #16) > Brilliant!. I didn't want to disable secure boot so I followed the key > enrollment instructions and I now have a working camera. Tested via gnome > camera Yay. That is good to hear, thank you for testing. Hopefully we will be able to get the usbio drivers merged upstream and then backported to the Fedora kernels soon. After that it will no longer be necessary to use the rpmfusion packages.