intel / icamerasrc

icamerasrc
24 stars 35 forks source link

CamHAL[ERR] Failed to find DevName for cameraId: 0, get video node: ov13b10 , devname: /dev/v4l-subdev1 #37

Open ChocolateLoverRaj opened 11 months ago

ChocolateLoverRaj commented 11 months ago

I have an IPU6 camera and I installed drivers for it with these commands:

sudo dnf update \
  --enablerepo=updates-testing \
  --enablerepo=rpmfusion-free-updates-testing \
  --enablerepo=rpmfusion-nonfree-updates-testing \
  'kernel*' '*v4l2loopback' -y

sudo dnf install \
  --enablerepo=updates-testing \
  --enablerepo=rpmfusion-free-updates-testing \
  --enablerepo=rpmfusion-nonfree-updates-testing \
  akmod-intel-ipu6 -y

On firefox, the camera is just a black rectangle. When running sudo -E gst-launch-1.0 icamerasrc buffer-count=7 ! video/x-raw,format=NV12,width=1280,height=720 ! videoconvert ! ximagesink, I get this error:

CamHAL[ERR] Failed to find DevName for cameraId: 0, get video node: ov13b10 , devname: /dev/v4l-subdev1

Full output:

 rajas  ~  sudo -E gst-launch-1.0 icamerasrc buffer-count=7 ! video/x-raw,format=NV12,width=1280,height=720 ! videoconvert ! ximagesink
[sudo] password for rajas: 
Setting pipeline to PAUSED ...
[09-07 16:06:21.509] CamHAL[INF] aiqb file name ov13b10.aiqb
[09-07 16:06:21.510] CamHAL[ERR] there is no aiqb file:ov13b10
[09-07 16:06:21.510] CamHAL[INF] aiqb file name ov13b10.aiqb
[09-07 16:06:21.510] CamHAL[ERR] there is no aiqb file:ov13b10
[09-07 16:06:21.510] CamHAL[INF] aiqb file name ov8856.aiqb
[09-07 16:06:21.510] CamHAL[ERR] there is no aiqb file:ov8856
[09-07 16:06:21.510] CamHAL[INF] aiqb file name ov8856.aiqb
[09-07 16:06:21.510] CamHAL[ERR] there is no aiqb file:ov8856
[09-07 16:06:21.510] CamHAL[INF] aiqb file name ov01a10.aiqb
[09-07 16:06:21.511] CamHAL[INF] aiqb file name ov01a10.aiqb
[09-07 16:06:21.511] CamHAL[INF] aiqb file name ov01a10.aiqb
[09-07 16:06:21.511] CamHAL[INF] aiqb file name ov01a10.aiqb
[09-07 16:06:21.511] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[09-07 16:06:21.512] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[09-07 16:06:21.512] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[09-07 16:06:21.512] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[09-07 16:06:21.512] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[09-07 16:06:21.513] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[09-07 16:06:21.513] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[09-07 16:06:21.513] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb
[09-07 16:06:21.513] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[09-07 16:06:21.513] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb
[09-07 16:06:21.513] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[09-07 16:06:21.514] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb
[09-07 16:06:21.514] CamHAL[INF] aiqb file name OV2740_CJFLE23_ADL.aiqb
[09-07 16:06:21.514] CamHAL[INF] aiqb file name OV2740_CJFLE23_ADL.aiqb
[09-07 16:06:21.514] CamHAL[INF] aiqb file name HM2170_1SG205N3_ADL.aiqb
[09-07 16:06:21.515] CamHAL[INF] aiqb file name HM2170_1SG205N3_ADL.aiqb
[09-07 16:06:21.515] CamHAL[INF] aiqb file name HM2170_CJFME18_ADL.aiqb
[09-07 16:06:21.516] CamHAL[INF] aiqb file name HM2170_CJFME18_ADL.aiqb
[09-07 16:06:21.516] CamHAL[INF] aiqb file name HI556_1BG502T3_ADL.aiqb
[09-07 16:06:21.517] CamHAL[INF] aiqb file name HI556_1BG502T3_ADL.aiqb
[09-07 16:06:21.517] CamHAL[INF] aiqb file name HI556_CJFLE25_ADL.aiqb
[09-07 16:06:21.517] CamHAL[INF] aiqb file name HI556_CJFLE25_ADL.aiqb
[09-07 16:06:21.517] CamHAL[INF] aiqb file name ov01a1s.aiqb
[09-07 16:06:21.518] CamHAL[INF] aiqb file name ov01a1s.aiqb
[09-07 16:06:21.518] CamHAL[ERR] Failed to find DevName for cameraId: 0, get video node: ov13b10 , devname: /dev/v4l-subdev1
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
[09-07 16:06:21.531] CamHAL[ERR] Get entity fail for calling getEntityById
[09-07 16:06:21.531] CamHAL[ERR] Get entity fail for calling getEntityById
[09-07 16:06:21.531] CamHAL[ERR] setup Link ov13b10  [-1:0] ==> Intel IPU6 CSI-2  [-1x0] enable 1 failed.
[09-07 16:06:21.531] CamHAL[ERR] set MediaCtlConf McLink failed: ret = -1
[09-07 16:06:21.531] CamHAL[ERR] set up mediaCtl failed
[09-07 16:06:21.531] CamHAL[ERR] @configure Device Configure failed
[09-07 16:06:21.531] CamHAL[ERR] failed to config streams.
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)
Execution ended after 0:00:00.007661717
Setting pipeline to NULL ...
Freeing pipeline ...

Am I missing something? What should I do to get the camera to work? Is there something Intel needs to fix for it to work?

brmarkus commented 11 months ago

Can you provide a config file for your camera sensor (based on one of the existing files)?

[09-07 16:06:21.509] CamHAL[INF] aiqb file name ov13b10.aiqb [09-07 16:06:21.510] CamHAL[ERR] there is no aiqb file:ov13b10 [09-07 16:06:21.510] CamHAL[INF] aiqb file name ov13b10.aiqb [09-07 16:06:21.510] CamHAL[ERR] there is no aiqb file:ov13b10 [09-07 16:06:21.510] CamHAL[INF] aiqb file name ov8856.aiqb [09-07 16:06:21.510] CamHAL[ERR] there is no aiqb file:ov8856

ChocolateLoverRaj commented 11 months ago

I don't know where the file ov13b10.aiqb is located. How can I find it?

brmarkus commented 11 months ago

This is what you could provide - this is what the error log messages say, that "there is no aiqb file:ov13b10".

There are several config files provided, which could be used as a template - and adapted to your specific sensor I think:

[09-07 16:06:21.510] CamHAL[INF] aiqb file name ov01a10.aiqb [09-07 16:06:21.511] CamHAL[INF] aiqb file name ov01a10.aiqb [09-07 16:06:21.511] CamHAL[INF] aiqb file name ov01a10.aiqb [09-07 16:06:21.511] CamHAL[INF] aiqb file name ov01a10.aiqb [09-07 16:06:21.511] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb [09-07 16:06:21.512] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb [09-07 16:06:21.512] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb [09-07 16:06:21.512] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb [09-07 16:06:21.512] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb [09-07 16:06:21.513] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb [09-07 16:06:21.513] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb [09-07 16:06:21.513] CamHAL[INF] aiqb file name OV02C10_1BG203N3_ADL.aiqb [09-07 16:06:21.513] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb [09-07 16:06:21.513] CamHAL[INF] aiqb file name OV02C10_1SG204N3_ADL.aiqb [09-07 16:06:21.513] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb [09-07 16:06:21.514] CamHAL[INF] aiqb file name OV02C10_CIFME14_ADL.aiqb [09-07 16:06:21.514] CamHAL[INF] aiqb file name OV2740_CJFLE23_ADL.aiqb [09-07 16:06:21.514] CamHAL[INF] aiqb file name OV2740_CJFLE23_ADL.aiqb [09-07 16:06:21.514] CamHAL[INF] aiqb file name HM2170_1SG205N3_ADL.aiqb [09-07 16:06:21.515] CamHAL[INF] aiqb file name HM2170_1SG205N3_ADL.aiqb [09-07 16:06:21.515] CamHAL[INF] aiqb file name HM2170_CJFME18_ADL.aiqb [09-07 16:06:21.516] CamHAL[INF] aiqb file name HM2170_CJFME18_ADL.aiqb [09-07 16:06:21.516] CamHAL[INF] aiqb file name HI556_1BG502T3_ADL.aiqb [09-07 16:06:21.517] CamHAL[INF] aiqb file name HI556_1BG502T3_ADL.aiqb [09-07 16:06:21.517] CamHAL[INF] aiqb file name HI556_CJFLE25_ADL.aiqb [09-07 16:06:21.517] CamHAL[INF] aiqb file name HI556_CJFLE25_ADL.aiqb [09-07 16:06:21.517] CamHAL[INF] aiqb file name ov01a1s.aiqb [09-07 16:06:21.518] CamHAL[INF] aiqb file name ov01a1s.aiqb

You might want to have a deeper look into the CameraHAL repo. (usually starting from this repo using this branch: "https://github.com/intel/icamerasrc/tree/icamerasrc_slim_api", pointing to "https://github.com/intel/ipu6-camera-hal/tree/iotg_ipu6")

ChocolateLoverRaj commented 11 months ago

I have a HI556 camera, which I see here: https://github.com/intel/ipu6-camera-hal/tree/iotg_ipu6/config/linux/ipu6ep.

brmarkus commented 11 months ago

Do you see some of the example pipelines under "https://github.com/intel/icamerasrc/tree/icamerasrc_slim_api#pipeline-examples" working? Can you try to give your camera device-name via the attribute device-name according to the available camera-HAL example config-files (camera/sensor-config files)?

ChocolateLoverRaj commented 11 months ago

I tried all of the example pipelines and all of them result in an error. I don't know how to set the device-name attribute and I don't see any examples.

brmarkus commented 11 months ago

Under "https://github.com/intel/icamerasrc/tree/icamerasrc_slim_api#pipeline-examples" you can see example pipelines, where you can specify the device-name (in case the camera/sensor is not detected properly or is too exotic), e.g.:

image

Depending on the config files (you might want to look into the sample XML-config files for settings, parameters, naming, etc.), e.g.:

https://github.com/intel/ipu6-camera-hal/blob/iotg_ipu6/config/linux/ipu6ep/sensors/ov13b10-wf.xml image

But there could easily HW-specifics depending on your camera, sensor, how it is connected (USB? Mipi-CSI?), virtual-ports being used, firmware flashed, etc.

ChocolateLoverRaj commented 11 months ago

The camera is a built-in webcam for Google Chromebook Redrix. It is connected with i2c I think because it is /sys/bus/i2c/devices/i2c-INT3537:00

ChocolateLoverRaj commented 11 months ago

Also this is the output of dmesg | grep ipu:

[    4.841290] intel-ipu6 0000:00:05.0: Device 0x465d (rev: 0x4)
[    4.841306] intel-ipu6 0000:00:05.0: physical base address 0x82000000
[    4.841307] intel-ipu6 0000:00:05.0: mapped as: 0x0000000051075e5e
[    4.841406] intel-ipu6 0000:00:05.0: IPU in secure mode
[    4.841409] intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[    4.841411] intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[    4.855905] intel-ipu6 0000:00:05.0: IPC reset done
[    4.855910] intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[    4.859280] intel-ipu6 0000:00:05.0: FW version: 20220510
[    4.861929] intel-ipu6 0000:00:05.0: Sending BOOT_LOAD to CSE
[    4.873765] intel-ipu6 0000:00:05.0: Sending AUTHENTICATE_RUN to CSE
[    4.942207] intel-ipu6 0000:00:05.0: CSE authenticate_run done
[    4.942460] intel-ipu6 0000:00:05.0: IPU6-v3 driver version 1.0
[    4.966693] intel-ipu6-psys intel-ipu6-psys0: pkg_dir entry count:8
[    4.966825] intel-ipu6-psys intel-ipu6-psys0: psys probe minor: 0
[    7.048742] intel-ipu6-isys intel-ipu6-isys0: isys port open ready failed -16
[    7.048747] intel-ipu6-isys intel-ipu6-isys0: Device close failure: -16
[    9.124904] intel-ipu6-isys intel-ipu6-isys0: Device release time out -16
[    9.125706] intel-ipu6-isys intel-ipu6-isys0: Clearing old context
[ 5907.986289] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5908.028042] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5908.035014] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5908.045006] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5908.066025] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5908.072011] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5908.080996] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5908.088000] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5962.845185] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5962.849787] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5962.853729] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5962.857730] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5962.861890] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5962.865710] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5962.869754] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 5962.873748] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6030.060072] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6030.066952] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6030.072166] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6030.089367] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6030.095368] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6030.111682] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6030.143166] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6030.152362] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6057.508816] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6057.528187] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6057.540496] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6057.545232] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6057.550188] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6057.562903] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6057.569348] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6057.573879] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6167.188968] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6167.194466] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6167.199476] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6167.203586] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6167.207547] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6167.212365] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6167.216550] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6167.220036] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6178.975709] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6201.396152] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6201.400118] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6201.404365] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6201.408994] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6201.413368] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6201.417439] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6201.421363] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
[ 6201.427310] intel-ipu6-isys intel-ipu6-isys0: Format not found in mapping table.
ChocolateLoverRaj commented 11 months ago

also is this the right GitHub repo to create an issue?

andaag commented 10 months ago

I've run into this issue - but only after upgrading to kernel 6.5, in 6.4 it was working fine.

brmarkus commented 10 months ago

Do you use an USB based camera? Are certain kernel options (like CONFIG_MEDIA_USB_SUPPORT=y, CONFIG_USB_VIDEO_CLASS=y, CONFIG_USB_G_WEBCAM=y and CONFIG_MEDIA_CAMERA_SUPPORT=y) still enabled?

Do you use an IPU based camera? How have you installed the IPU drivers (e.g. IPU6)? Also e.g. libdrm-dev is required - see the section "https://github.com/intel/icamerasrc/tree/icamerasrc_slim_api#build-instructions" - so you might need to re-build/re-install IPU (ipu6, hal, bin) and icamerasrc again after upgrading the kernel.

andaag commented 10 months ago

I use a Dell XPS 9320 and the fedora rpmfusion testing packages. I have all these packages installed, and akmod should be recompiling the ipu6 driver when needed. I haven't rebuilt the rpm's for hal/bin/icamerasrc again though after kernel change, not sure how that'd be feasible to do with rpm's either? For that I guess we'd need to convert those to akmod or something like it aswell.

I do have the kernel module loaded:

[   10.283771] intel-ipu6 0000:00:05.0: enabling device (0000 -> 0002)
[   10.283874] intel-ipu6 0000:00:05.0: Device 0x465d (rev: 0x2)
[   10.283889] intel-ipu6 0000:00:05.0: physical base address 0x603c000000
[   10.283890] intel-ipu6 0000:00:05.0: mapped as: 0x00000000b9cdab3c
[   10.283950] intel-ipu6 0000:00:05.0: Unable to set secure mode
[   10.283953] intel-ipu6 0000:00:05.0: IPU in non-secure mode
[   10.283955] intel-ipu6 0000:00:05.0: IPU secure touch = 0x0
[   10.283956] intel-ipu6 0000:00:05.0: IPU camera mask = 0xff
[   10.284617] intel-ipu6 0000:00:05.0: Skip ipc reset for non-secure mode
[   10.284619] intel-ipu6 0000:00:05.0: IPC reset done
[   10.284620] intel-ipu6 0000:00:05.0: cpd file name: intel/ipu6ep_fw.bin
[   10.289420] intel-ipu6 0000:00:05.0: FW version: 20220510
[   10.293405] intel-ipu6 0000:00:05.0: IPU6-v3 driver version 1.0
[   10.425666] intel-ipu6-psys intel-ipu6-psys0: pkg_dir entry count:8
[   10.425830] intel-ipu6-psys intel-ipu6-psys0: psys probe minor: 0
[15073.593708] intel-ipu6 0000:00:05.0: IPU in non-secure mode
[15073.593711] intel-ipu6 0000:00:05.0: Skip ipc reset for non-secure mode
brmarkus commented 10 months ago

Do you have documented how you got it working with the previous kernel, do you have records about which versions of IPU-module, IPU bin and hal and icamerasrc you had installed? Was it just working, or did you create and add a camera-sensor specific config file (like this issue is about)?

Would it be possible to downgrade the kernel again?

The dev-team would anyway need logs to analyze further to see if upgrading the kernel did update dependencies as well which introduced changes looking like a regression?

andaag commented 10 months ago

Just got a fix for this in another issue I'm also watching. After applying this https://github.com/intel/ipu6-drivers/issues/22#issuecomment-1777054067 fix manually everything works again!

ChocolateLoverRaj commented 10 months ago

I still have the same error after applying the fix

andresilva commented 7 months ago

This also started happening to me, not entirely sure why, I have ov2740 sensor.