[Lunar Lake] Protocol Error (-71) and I2C Speed Bottleneck on OV08X40 via Synaptics SVP7500 Bridge
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
- Tipo di issue
- Bug
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Stack tecnologico
- c, linux
- Ambito
- computer-vision, embedded-iot, operating-systems
Direzione di ricerca
Inizia riproducendo il malfunzionamento con i comandi media-ctl e v4l2-ctl elencati, quindi esamina i moduli intel_ipu7, i2c_usbio, ivsc-csi e ivsc-ace. Controlla /lib/firmware/intel/vsc/ per verificare la presenza dei blob OV08X40 e confronta la richiesta di 400 kHz con il limite di 100 kHz del bridge e l’avviso GPIO. Il lavoro è completato quando lo streaming riesce dopo STREAMON senza -71 né perdita del nodo del dispositivo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Missing Firmware Blobs:
/lib/firmware/intel/vsc/contains firmware for other sensors but lacksivsc_pkg_ovti08x40_0.binandivsc_skucfg_ovti08x40_0_1.bin. - IVSC Idle State: While
ivsc-csiandivsc-acemodules load, they fail to bind to the sensor, leaving it to bind directly tointel_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
- 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
- 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.
- 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.
- Lingua principale
- C
- Stelle
- 14
- Fork
- 39
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di intel/ipu7-drivers
-
MSI Prestige 16 AI+ (Lunar Lake): OV5675 not probed — TPS68470 “No board-data found for this model”Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
intel/ipu7-drivers#115 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
intel/ipu7-drivers#111 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
intel/ipu7-drivers#102 · 4 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
intel/ipu7-drivers#93 · 1 commento · 1 reazione ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
intel/ipu7-drivers#92 · 1 commento ·
Tutte le issue di intel/ipu7-drivers
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
STMicroelectronics/STSELib#128 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
CCExtractor/ccextractor#2440 ·
I maintainer di solito rispondono entro 2 giorni
-
LSP: Invalid buffer id in previous_result_ids during workspace/diagnostic/refreshForse già presa @sharky720 l’ha presa oggi. Apertadiagnostic lsp
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
neovim/neovim#42629 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
c first-contributor first-contributors good first issue help wanted medium up-for-grabs
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
fork-commit-merge/fork-commit-merge#8539 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno