[Lunar Lake] Protocol Error (-71) and I2C Speed Bottleneck on OV08X40 via Synaptics SVP7500 Bridge
- Dominant language
- C
- Stars
- 15
- Forks
- 34
- Avg merge
- 21h 11m
- Merged PRs (30d)
- 1
Description
## Hardware Environment
* **System:** Dell Lunar Lake (Core Ultra Series 2 / Ultra 7 268V)
* **Bridge:** Synaptics SVP7500 (USB-to-I2C/MIPI Bridge)
* **Sensor:** OmniVision OV08X40 (ID: `OVTI08F4:00`)
* **Driver:** `intel_ipu7` (Staging) / `i2c_usbio` / `ivsc-csi`
## Issue Description
Attempts to stream from the OV08X40 sensor result in a `Protocol error (-71)` at `STREAMON`. Following the error, the Synaptics USB bridge appears to reset or latch-up, causing the device nodes to disappear (`No such device`) until a full cold boot is performed.
## New Findings: IVSC & Firmware Gaps
Investigation with Secure Boot disabled confirms that the **Intel Vision Sensing Controller (IVSC)** stack is present but non-functional due to missing sensor-specific firmware.
1. **Missing Firmware Blobs:** `/lib/firmware/intel/vsc/` contains firmware for other sensors but lacks `ivsc_pkg_ovti08x40_0.bin` and `ivsc_skucfg_ovti08x40_0_1.bin`.
2. **IVSC Idle State:** While `ivsc-csi` and `ivsc-ace` modules load, they fail to bind to the sensor, leaving it to bind directly to `intel_ipu7_isys`. This bypasses the secure handshake/authentication required by the hardware.
## Observed Critical Failures
### 1. I2C Clock Speed Cap (The "Smoking Gun")
The `usbio-i2c` bridge driver forces a downclock from 400kHz to 100kHz. This latency appears to prevent the sensor from being configured within the IPU7's MIPI timing window.
[17.229199] i2c_usbio.usbio-i2c usbio.usbio-i2c.0: Invalid speed 400000 adjusting to bus max 100000
2. MIPI Link Timeout / Protocol Error
Even with manual resolution alignment (3856x2176), the CSI-2 receiver times out:
[17.779903] intel_ipu7_isys.isys intel_ipu7.isys.40: bind ov08x40 17-0036 nlanes is 2 port is 0
[20681.798345] intel_ipu7_isys.isys intel_ipu7.isys.40: enable streams Intel IPU7 CSI2 0 failed with -71
3. Entity Mismatch (Resolution Padding)
The sensor defaults to 3856x2176, while the ISYS pipeline defaults to a 12MP or 1080p target, leading to initial Broken pipe errors before manual alignment via media-ctl.
4. Firmware/GPIO Bug
The driver fails to map the physical reset line via the USB bridge:
Plaintext
[17.123913] gpio_usbio.usbio-gpio usbio.usbio-gpio.0: [Firmware Bug]: GPIO 4 is not in FW pins bitmap
Steps to Reproduce
(Optional) Disable Secure Boot and manually modprobe ivsc-csi.
Align pipeline to sensor native output: media-ctl -d /dev/media0 -V '"Intel IPU7 CSI2 0":0 [fmt:SGRBG10_1X10/3856x2176]'
Attempt capture: v4l2-ctl -d /dev/video0 --stream-mmap --stream-count=1 --stream-to=test.raw
Result: VIDIOC_STREAMON returned -1 (Protocol error).
Analysis
The combination of a 100kHz I2C bottleneck on the Synaptics bridge and missing IVSC sensor firmware creates a fatal race condition. The sensor cannot transition to High-Speed MIPI mode fast enough to satisfy the IPU7's watchdog timer. Furthermore, the direct binding of the sensor to ISYS (bypassing the IVSC) likely leaves the MIPI physical lanes in a low-power or locked state.
Contributor guide
Assessment
This issue has not been assessed yet.