intel / icamerasrc

icamerasrc
24 stars 35 forks source link

Kernel 6.6.0 - icamerasrc stopped working - CamHAL[ERR] Failed to find DevName for cameraId: 4, get video node: ov01a10 , devname: /dev/v4l-subdev1 #39

Closed madsl closed 9 months ago

madsl commented 9 months ago

Had a setup working on my Dell XPS 9320 with a ov01a10 for a year, but then I installed the 6.6.0 kernel, and icamerasrc stopped working.

$ sudo -E gst-launch-1.0 icamerasrc buffer-count=7 device-name=ov01a10-uf ! video/x-raw,format=YUY2,width=1280,height=720 ! v4l2sink device=/dev/video1
[11-02 00:16:24.919] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.920] CamHAL[ERR] Parse AE eExposure time range failed
[11-02 00:16:24.920] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.920] CamHAL[ERR] Parse AE gain range failed
[11-02 00:16:24.920] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.920] CamHAL[ERR] Parse AE eExposure time range failed
[11-02 00:16:24.920] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.920] CamHAL[ERR] Parse AE gain range failed
[11-02 00:16:24.920] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.920] CamHAL[ERR] Parse AE eExposure time range failed
[11-02 00:16:24.920] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.920] CamHAL[ERR] Parse AE gain range failed
[11-02 00:16:24.920] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.920] CamHAL[ERR] Parse AE eExposure time range failed
[11-02 00:16:24.920] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.920] CamHAL[ERR] Parse AE gain range failed
[11-02 00:16:24.920] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.920] CamHAL[ERR] Parse AE eExposure time range failed
[11-02 00:16:24.920] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.920] CamHAL[ERR] Parse AE gain range failed
[11-02 00:16:24.921] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.921] CamHAL[ERR] Parse AE eExposure time range failed
[11-02 00:16:24.921] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.921] CamHAL[ERR] Parse AE gain range failed
[11-02 00:16:24.921] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.921] CamHAL[ERR] Parse AE eExposure time range failed
[11-02 00:16:24.921] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.921] CamHAL[ERR] Parse AE gain range failed
[11-02 00:16:24.921] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.921] CamHAL[ERR] Parse AE eExposure time range failed
[11-02 00:16:24.921] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.921] CamHAL[ERR] Parse AE gain range failed
[11-02 00:16:24.921] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.922] CamHAL[ERR] Parse AE eExposure time range failed
[11-02 00:16:24.922] CamHAL[ERR] Malformed ET range in exposure time range configuration
[11-02 00:16:24.922] CamHAL[ERR] Parse AE gain range failed
Setting pipeline to PAUSED ...
[11-02 00:16:25.340] CamHAL[INF] aiqb file name ov13b10.aiqb
[11-02 00:16:25.340] CamHAL[ERR] there is no aiqb file:ov13b10
[11-02 00:16:25.340] CamHAL[INF] aiqb file name ov13b10.aiqb
[11-02 00:16:25.340] CamHAL[ERR] there is no aiqb file:ov13b10
[11-02 00:16:25.340] CamHAL[INF] aiqb file name ov8856.aiqb
[11-02 00:16:25.341] CamHAL[ERR] there is no aiqb file:ov8856
[11-02 00:16:25.341] CamHAL[INF] aiqb file name ov8856.aiqb
[11-02 00:16:25.341] CamHAL[ERR] there is no aiqb file:ov8856
[11-02 00:16:25.341] CamHAL[INF] aiqb file name ov01a10.aiqb
[11-02 00:16:25.341] CamHAL[INF] aiqb file name ov01a10.aiqb
[11-02 00:16:25.341] CamHAL[INF] aiqb file name ov01a10.aiqb
[11-02 00:16:25.341] CamHAL[INF] aiqb file name ov01a10.aiqb
[11-02 00:16:25.341] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[11-02 00:16:25.341] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[11-02 00:16:25.341] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[11-02 00:16:25.342] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[11-02 00:16:25.342] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[11-02 00:16:25.342] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[11-02 00:16:25.342] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[11-02 00:16:25.342] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[11-02 00:16:25.342] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[11-02 00:16:25.342] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[11-02 00:16:25.342] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[11-02 00:16:25.342] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[11-02 00:16:25.342] CamHAL[INF] aiqb file name OV2740_CJFLE23_ADL.aiqb
[11-02 00:16:25.343] CamHAL[INF] aiqb file name OV2740_CJFLE23_ADL.aiqb
[11-02 00:16:25.343] CamHAL[INF] aiqb file name HM2170_1SG205N3_ADL.aiqb
[11-02 00:16:25.343] CamHAL[INF] aiqb file name HM2170_1SG205N3_ADL.aiqb
[11-02 00:16:25.343] CamHAL[INF] aiqb file name HM2170_CJFME18_ADL.aiqb
[11-02 00:16:25.343] CamHAL[INF] aiqb file name HM2170_CJFME18_ADL.aiqb
[11-02 00:16:25.343] CamHAL[INF] aiqb file name HI556_1BG502T3_ADL.aiqb
[11-02 00:16:25.343] CamHAL[INF] aiqb file name HI556_1BG502T3_ADL.aiqb
[11-02 00:16:25.343] CamHAL[INF] aiqb file name HI556_CJFLE25_ADL.aiqb
[11-02 00:16:25.343] CamHAL[INF] aiqb file name HI556_CJFLE25_ADL.aiqb
[11-02 00:16:25.343] CamHAL[INF] aiqb file name ov01a1s.aiqb
[11-02 00:16:25.344] CamHAL[INF] aiqb file name ov01a1s.aiqb
[11-02 00:16:25.344] CamHAL[ERR] Failed to find DevName for cameraId: 4, get video node: ov01a10 , devname: /dev/v4l-subdev1
Pipeline is live and does not need PREROLL ...
ERROR: from element /GstPipeline:pipeline0/Gstcamerasrc:camerasrc0: src pad: Internal data flow error.
Additional debug info:
gstcambasesrc.cpp(3143): gst_cam_base_src_loop (): /GstPipeline:pipeline0/Gstcamerasrc:camerasrc0:
streaming task paused, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

Running with these rpms installed:

gstreamer1-plugins-icamerasrc-0.0-7.20220926git3b7cdb9.fc39.x86_64.rpm ipu6-camera-bins-0.0-8.20230208git276859f.fc39.x86_64.rpm ipu6-camera-bins-firmware-0.0-8.20230208git276859f.fc39.x86_64.rpm ipu6-camera-hal-0.0-16.20230208git884b81a.fc40.x86_64.rpm ivsc-firmware-0.0-5.20221102git29c5eff.fc39.x86_64.rpm

and built ipu6-drivers with this patch enabled: https://github.com/intel/ipu6-drivers/pull/175

No issues from dmesg as I can see:

[  712.385034] ljca 3-8:1.0: LJCA USB device init success
[  712.385109] usbcore: registered new interface driver ljca
[  712.506485] gpio gpiochip1: (INTC1096:00): not an immutable chip, please consider fixing it!
[  712.567892] ljca-i2c ljca-i2c.16.auto: hid INTC1097 uid 0 new uid1
[  712.756502] Loading firmware: vsc/soc_a1_prod/ivsc_fw_a1_prod.bin
[  712.759147] Loading firmware: vsc/soc_a1_prod/ivsc_pkg_ovti01a0_0_a1_prod.bin
[  712.761193] Loading firmware: vsc/soc_a1_prod/ivsc_skucfg_ovti01a0_0_1_a1_prod.bin
[  712.854677] intel-ipu6 0000:00:05.0: Device 0x465d (rev: 0x2)
[  712.854695] intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[  712.854696] intel-ipu6 0000:00:05.0: mapped as: 0x000000008976f7ba
[  712.854931] intel-ipu6 0000:00:05.0: Unable to set secure mode
[  712.854931] intel-ipu6 0000:00:05.0: IPU in non-secure mode
[  712.854932] intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[  712.854933] intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[  712.854939] intel-ipu6 0000:00:05.0: Skip ipc reset for non-secure mode
[  712.854940] intel-ipu6 0000:00:05.0: IPC reset done
[  712.854941] intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[  712.854943] Loading firmware: intel/ipu6ep_fw.bin
[  712.856455] intel-ipu6 0000:00:05.0: FW version: 20220510
[  712.857690] intel-ipu6 0000:00:05.0: IPU6-v3 driver version 1.0
[  713.002168] intel-ipu6-psys intel-ipu6-psys0: pkg_dir entry count:8
[  713.002517] intel-ipu6-psys intel-ipu6-psys0: psys probe minor: 0
[  724.965138] vsc_ace spi-INTC1094:00-5db76cf6-0a68-4ed6-9b78-0361635e2447: recv firmware id
madsl commented 9 months ago

I see the log I pasted shows a gst-launch command trying YUY2 colorspace, but the correct one is NV12 for ov01a10. But yes, with NV12 colorspace the command works on 6.5.x, but not on 6.6.0.

madsl commented 9 months ago

Just tested out kernel 6.6.1 and latest ipu6-drivers (which does not need the patch since it's been merged), and now it seems to work again!