intel / intel/ipu6-drivers

[BUG] IPU6 stack completely broken on Arch, Latitude 7450 (Meteor Lake) with ov02e10 sensor

Open
#457 0 comments 2 reactions 0 assignees View on GitHub
Dominant language
C
Stars
251
Forks
75
PR merge metrics
No merged PRs in 30d

Description

Hi,

I have been trying for ages now to try to figure out why my webcam stack isn't working. As mentioned in the issue title, I have a Dell Latitude 7450, running Arch Linux (kernel 7.1.5), and from what I can tell, my laptop has an ov02e10 sensor. I have applied all firmware updates possible using `fwupd`.

I was trying to get things working using some AUR packages apparently based on the work of the four repos managed here, but they weren't working, so I decided to clone and build everything myself, following the README instructions. Thus, I can safely say that my stack should be properly configured. I can also see that the proper firmware and driver kernel modules are loaded (`ov02e10`, `intel_ipu6_psys`, `intel_ipu6_isys`, `intel_skl_int3472_discrete`, `usbio`, etc.)

In terms of the actual error, the camera stack manifests in `media-ctl -p` as a ton of entities (and thus `/dev/video*` entries) following the naming scheme "Intel IPU6 ISYS Capture #", all identified as `SOURCE` or `SINK,MUST_CONNECT`. The [gUM test page](https://mozilla.github.io/webrtc-landing/gum_test.html) returns a `NotFoundError`, saying that the requested device was not found.

I also have this information from `dmesg` about what's going on:
```
[myuser@mycomputer ~] $ sudo dmesg | grep -iE "intel-ipu6|ov02e10"
[ 4.011676] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[ 4.028661] intel-ipu6 0000:00:05.0: Found supported sensor OVTI02E1:00
[ 4.028798] intel-ipu6 0000:00:05.0: Connected 1 cameras
[ 4.031550] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[ 4.070772] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[ 4.123343] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[ 4.123349] intel-ipu6 0000:00:05.0: IPU6-v4[7d19] hardware version 6
[ 4.623530] ov02e10 i2c-OVTI02E1:00: failed to write reg 253 val 0
[ 4.623536] ov02e10 i2c-OVTI02E1:00: failed to find sensor: -121
[ 4.623861] ov02e10 i2c-OVTI02E1:00: probe with driver ov02e10 failed with error -121
```

There was another message I flagged from a larger `dmesg` dump I did: `[ 4.247341] gpio_usbio.usbio-gpio usbio.usbio-gpio.0: [Firmware Bug]: GPIO 5 is not in FW pins bitmap`.

I have tried rooting around other issues in this repository, Arch forum threads, and even asking AI models. None of them have found a logical answer to this issue, so I figured that I'd file it. I did gain some "insights" from the AI (I used ChatGPT here), which I have given below, but maybe take these with a grain of salt because it is just a fancy text predictor.

Based on some commands the AI gave me, it noted some weird stuff with GPIO; the main command and its results are given here:
```
[myuser@mycomputer ~] $ sudo cat /sys/kernel/debug/gpio
gpiochip0: 451 GPIOs, parent: platform/INTC1083:00, INTC1083:00:
gpio-128 ( |cs35l41-reset ) out hi
gpio-205 ( |spi1 CS1 ) out hi
gpio-369 ( |ir_flood ) out lo
gpio-373 ( |TPL0 GpioInt(0) ) in hi IRQ ACTIVE LOW
gpio-387 ( |TPD0 GpioInt(0) ) in hi IRQ ACTIVE LOW
gpio-404 ( |SPKR GpioInt(0) ) in hi IRQ
```

The AI thought it was weird that there weren't "AVDD, DOVDD, IOVVD, MCLK, RESET GPIO, or ENABLE GPIO" things. I'm not knowledgeable enough about those acronyms to know what they mean, but hopefully someone smarter than me here does.

In summary, the AI's diagnosis was (copied from it):
- ACPI is correct enough for Linux to discover the sensor.
- IPU6 loads.
- INT3472 creates regulators.
- The OV02E10 driver probes.
- The sensor is still electrically off (or held in reset).
- The very first I²C transaction NACKs.
- Probe aborts with `-EREMOTEIO`.

So, yeah. I know this is basically just a huge infodump, and I understand if this is way too specific and not worthy of attention at the moment. I'm simply trying to get all the information out that I can to be helpful to the people who know what might be going on here. Happy to provide any further information if needed.

Contributor guide

Open the contributing guide

Research direction

Begin with the README build instructions and reproduce the issue on the Latitude 7450. Compare media-ctl -p, the gUM test page, and filtered dmesg output, focusing on the OV02E10 probe failure (-121) and USBIO GPIO firmware-bug message. Done means identifying the repository-side cause and confirming that the camera produces a usable device without the reported NotFoundError.

Written by the indexing model from the issue text.

Assessment

Tech stack
arch-linux, c, linux
Domain
embedded-iot, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.