Bug 2360429

Summary: IPU6 camera on Dell Latitude 9440 laptop is not working
Product: [Fedora] Fedora Reporter: David Heidelberg <david>
Component: kernelAssignee: Hans de Goede <hdegoede>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: acaringi, adscvr, airlied, bskeggs, hdegoede, hpa, josef, kernel-maint, linville, masami256, mchehab, ptalbert, steved, suraj.ghimire7
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2333299, 2341731, 2341736    
Bug Blocks:    
Attachments:
Description Flags
i2c-devices.txt
none
kernel.txt
none
lsusb.txt
none
i2c-devices.txt
none
kernel.txt none

Description David Heidelberg 2025-04-16 19:50:36 UTC
Device is not detected. No camera in any app.

Reproducible: Always

Comment 1 David Heidelberg 2025-04-16 19:52:11 UTC
Created attachment 2085251 [details]
i2c-devices.txt

Comment 2 David Heidelberg 2025-04-16 19:52:37 UTC
Created attachment 2085252 [details]
kernel.txt

Comment 3 David Heidelberg 2025-04-16 19:53:04 UTC
Created attachment 2085253 [details]
lsusb.txt

Comment 4 Hans de Goede 2025-04-17 09:46:14 UTC
David, thank you for filing a bug for this.

Looking at your lsusb output, your Latitude 9440 has a Lattice USBIO expanders, this requires these out of tree drivers:

https://github.com/intel/usbio-drivers

I've asked Intel to submit these drivers upstream, but there is no progress on this so far.

Note you may also need a not yet merged sensor drivers (given that you have the USBIO expander I think it might actually be an ov02e10 rather then an ov02c10 like on the Latitude 7440).

If you build + insmod the linked drivers and then do a new "ls -l /sys/bus/i2c/devices", then your sensor will hopefully show up there and I can tell you which one it is. If it is one of the ov02c10 or ov02e10 both of those have been submitted upstream (by the community not by Intel) and will hopefully get merged soon.

Comment 5 David Heidelberg 2025-04-17 20:35:37 UTC
Additional data:

[ 1667.540632] usbio-bridge 3-8:1.0: bank:0 map:0x0000001f
[ 1667.540638] usbio-bridge 3-8:1.0: bank:1 map:0x0000001f
[ 1667.540639] usbio-bridge 3-8:1.0: bank:2 map:0x0000001f
[ 1667.540639] usbio-bridge 3-8:1.0: bank:3 map:0x00000001
[ 1667.541507] usbio-bridge 3-8:1.0: USB Bridge device init success
[ 1667.541525] usbcore: registered new interface driver usbio-bridge
[ 1667.544501] usbio-i2c usbio-i2c.49.auto: hid INTC10D2 uid VIC0 new uid1

lrwxrwxrwx 1 root root 0 Apr 17 22:30 i2c-17 -> ../../../devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8:1.0/usbio-i2c.48.auto/i2c-17/
lrwxrwxrwx 1 root root 0 Apr 17 22:30 i2c-18 -> ../../../devices/pci0000:00/0000:00:14.0/usb3/3-8/3-8:1.0/usbio-i2c.49.auto/i2c-18/

Comment 6 Hans de Goede 2025-04-18 06:45:01 UTC
I see you've got the out of tree usbio drivers build and loaded, good. Now there should also be a new i2c-OVTIxxxx:0x or i2c-HIMXxxxx:0x or something similar under /sys/bus/i2c/devices .

Please make sure that the gpio-usbio kernel module is also loaded and then collect a new full set of logs as before and we'll see from there.

Comment 7 David Heidelberg 2025-04-18 09:40:38 UTC
Yeah, usbio is a mess, won't autoload fully. I found your PR [1], I guess I'll apply [2] too just for sure.

[1] https://github.com/intel/usbio-drivers/pull/33
[2] https://github.com/intel/usbio-drivers/pull/34

So far, I'm basing on 6.13, but if there will be more obstacles, I'll go forward to 6.14 or 6.15

Comment 8 David Heidelberg 2025-04-18 14:27:26 UTC
Created attachment 2085724 [details]
i2c-devices.txt

kernel 6.15-rc2 + usbio patched into the kernel + ov patches

kernel config from distro + enabled patched stuff;

relevant dmesg part (will upload big one in a minute w/ debugging):
...
[    9.036898] intel_pmc_core INT33A1:00: Assuming a default substate order for this platform
[    9.037002] intel_pmc_core INT33A1:00:  initialized
[    9.062241] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[    9.062248] intel-ipu6 0000:00:05.0: IPU6-v4[7d19] hardware version 6
[    9.066658] ov02e10 i2c-OVTI02E1:00: supply dovdd not found, using dummy regulator
[    9.068188] ov02e10 i2c-OVTI02E1:00: supply avdd not found, using dummy regulator
[    9.068238] ov02e10 i2c-OVTI02E1:00: supply dvdd not found, using dummy regulator
[    9.077537] ov02e10 i2c-OVTI02E1:00: chip id mismatch: 45025610!=0
[    9.077568] ov02e10 i2c-OVTI02E1:00: failed to find sensor: -6
...

Comment 10 David Heidelberg 2025-04-18 14:37:49 UTC
Created attachment 2085726 [details]
kernel.txt

Comment 11 David Heidelberg 2025-04-18 14:53:06 UTC
when I comment out the chip ID check, best I can get is qcam running without any output (not even black screen), and with camera LED on.

Comment 12 Hans de Goede 2025-04-18 14:58:58 UTC
(In reply to David Heidelberg from comment #9)
> Current git tree: https://gitlab.com/dhxx/linux/-/commits/l9440-webcam
>  - 6.15-rc2
>  - usb-io dropped in + Kconfig/Makefile changes
>  - https://github.com/intel/usbio-drivers/pull/33
>  - https://github.com/intel/usbio-drivers/pull/34
>  - ov02c10 [v11]
> https://patches.linaro.org/project/linux-media/patch/20250327164927.30741-1-
> hdegoede/
>  - ov02e10 [v2]
> https://lore.kernel.org/linux-media/20250325-b4-media-comitters-next-25-03-
> 13-ov02e10-v2-2-4d933ac8cff6/

Nice, good work. I expect the missing puzzle-piece to be this patch-series:

https://lore.kernel.org/platform-driver-x86/20250417111337.38142-1-hdegoede@redhat.com/T/#t

which is also confirmed by this log message:

Apr 18 16:32:38 computer kernel: int3472-discrete INT3472:0c: GPIO type 0x12 unknown; the sensor may not work

Comment 13 David Heidelberg 2025-04-18 15:40:40 UTC
with your patchset applied, the camera works. Thank you Hans! Pushed all changes into the git tree

Comment 15 Hans de Goede 2025-04-19 12:10:22 UTC
Good to hear that you've gotten things to work.

Thank you for all the testing and for the Tested-by tags you've posted upstream.