LIBCAMERA-STILL error **No Cameras Available**

  1. Where did you get the camera module(s)?

UCTRONICS

  1. Model number of the product(s)?

SKU: B0333, UC-755 Rev. A + Arducam Module UC-667 Rev. C

  1. What hardware/platform were you working on?

Raspberry PI 4B

  1. Instructions you have followed. (link/manual/etc.)
  1. Problems you were having?

pi@raspberrypi:~/libcamera $ libcamera-still -t 5000
[0:06:58.650483012] [1263] INFO Camera camera_manager.cpp:294 libcamera v0.0.0+2983-3335d5a5
[0:06:58.658103469] [1265] WARN CameraSensor camera_sensor.cpp:197 ‘arducam-pivariety 10-000c’: Recommended V4L2 control 0x009a0922 not supported
[0:06:58.672177465] [1265] WARN CameraSensor camera_sensor.cpp:249 ‘arducam-pivariety 10-000c’: The sensor kernel driver needs to be fixed
[0:06:58.672277281] [1265] WARN CameraSensor camera_sensor.cpp:251 ‘arducam-pivariety 10-000c’: See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information
[0:06:58.678264464] [1265] WARN CameraSensorProperties camera_sensor_properties.cpp:123 No static properties available for ‘arducam-pivariety’
[0:06:58.678372002] [1265] WARN CameraSensorProperties camera_sensor_properties.cpp:125 Please consider updating the camera sensor properties database
[0:06:58.678439114] [1265] WARN CameraSensor camera_sensor.cpp:403 ‘arducam-pivariety 10-000c’: Failed to retrieve the camera location
[0:06:58.785422366] [1265] ERROR IPAModule ipa_module.cpp:417 ipa_rpi.so: Failed to open IPA module shared object: /usr/local/lib/arm-linux-gnueabihf/libcamera/ipa_rpi.so: undefined symbol: _ZN9libcamera14ControlInfoMapC1ESt16initializer_listISt4pairIKPKNS_9ControlIdENS_11ControlInfoEEE
[0:06:58.785590145] [1265] ERROR IPAManager ipa_manager.h:43 Failed to load proxy
[0:06:58.786014501] [1265] ERROR RPI raspberrypi.cpp:1008 Failed to load a suitable IPA library
ERROR: *** no cameras available ***

  1. The dmesg log from your hardware?

pi@raspberrypi:~/libcamera $ dmesg | grep arducam
[ 6.299722] arducam: loading out-of-tree module taints kernel.
[ 6.314077] arducam-pivariety 10-000c: firmware version: 0x10002
[ 31.835212] arducam_vddl: disabling
[ 31.835230] arducam_vdig: disabling
[ 31.835251] arducam_vana: disabling

  1. Troubleshooting attempts you’ve made?

I have formatted the SD Card of my Raspberry PI 4, with the required version of Raspbian OS (2021-05-07-raspios-buster-armhf-full.img). I could successfully install libcamera and use it with this precise ArduCam model (Pivariety Low Light Camera, IMX462) with this precise guide of yours (How to access and program the Pivariety Camera using Command Line, Python, OpenCV, and GStreamer). It worked and i have used it extensively throughout July and August.

Now I am having the aforementioned issue.

The ArduCam is detected though, as:
pi@raspberrypi:~/libcamera $ dmesg | grep arducam
[ 6.299722] arducam: loading out-of-tree module taints kernel.
[ 6.314077] arducam-pivariety 10-000c: firmware version: 0x10002
[ 31.835212] arducam_vddl: disabling
[ 31.835230] arducam_vdig: disabling
[ 31.835251] arducam_vana: disabling

pi@raspberrypi:~/libcamera $ ls /dev/video* -l
crw-rw----+ 1 root video 81, 7 set 2 18:08 /dev/video0
crw-rw----+ 1 root video 81, 8 set 2 18:08 /dev/video1
crw-rw----+ 1 root video 81, 4 set 2 18:08 /dev/video10
crw-rw----+ 1 root video 81, 5 set 2 18:08 /dev/video11
crw-rw----+ 1 root video 81, 6 set 2 18:08 /dev/video12
crw-rw----+ 1 root video 81, 0 set 2 18:08 /dev/video13
crw-rw----+ 1 root video 81, 1 set 2 18:08 /dev/video14
crw-rw----+ 1 root video 81, 2 set 2 18:08 /dev/video15
crw-rw----+ 1 root video 81, 3 set 2 18:08 /dev/video16

pi@raspberrypi:~/libcamera $ v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture

[0]: 'pRAA' (10-bit Bayer RGRG/GBGB Packed)
	Size: Discrete 1920x1080
[1]: 'RG10' (10-bit Bayer RGRG/GBGB)
	Size: Discrete 1920x1080
  1. What help do you need?

Please help me out finding an error in my steps or give me an update if there has been some modifications in how your product interacts with libcamera.

I am having a similar problem with a new IMX298 Pivariety camera.

Hi @simonev @matt

It seems that you are not using the pre-compiled deb package, is that right?
Manually compiling libcamera may have the problem of version mismatch.

You can try to install libcamera and libcamera-apps using the installation script:

libcamera-dev and libcamera-apps Installation

Hi, yes I was using the pre-compiled package as I followed the steps in your guide at the link I attached with my question.

Now, I have tried what you were suggesting, I started from a clean situation with the formatted SD card, then installed successfully the drivers and run these lines to install libcamera as you said:

wget -O install_pivariety_pkgs.sh https://github.com/ArduCAM/Arducam-Pivariety-V4L2-Driver/releases/download/install_script/install_pivariety_pkgs.sh

chmod +x install_pivariety_pkgs.sh

./install_pivariety_pkgs.sh -p libcamera_dev

./install_pivariety_pkgs.sh -p libcamera_apps

The error No Cameras Available does not prompt anymore. However when I launch the simplest command:

libcamera-still -t 5000 -o test.jpg

The execution seems to be stuck after the last line I am reporting below:

pi@raspberrypi:~ $ libcamera-still -t 5000 -o test.jpg
[0:01:21.937391012] [1095] INFO Camera camera_manager.cpp:296 libcamera v0.0.0+2736-579f55b1-dirty (2021-07-01T03:47:30-04:00)
[0:01:21.948922993] [1097] WARN CameraSensor camera_sensor.cpp:197 ‘arducam-pivariety 10-000c’: Recommended V4L2 control 0x009a0922 not supported
[0:01:21.971999826] [1097] WARN CameraSensor camera_sensor.cpp:249 ‘arducam-pivariety 10-000c’: The sensor kernel driver needs to be fixed
[0:01:21.972162109] [1097] WARN CameraSensor camera_sensor.cpp:251 ‘arducam-pivariety 10-000c’: See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information
[0:01:21.979213794] [1097] WARN CameraSensorProperties camera_sensor_properties.cpp:109 No static properties available for ‘arducam-pivariety’
[0:01:21.979335038] [1097] WARN CameraSensorProperties camera_sensor_properties.cpp:111 Please consider updating the camera sensor properties database
[0:01:21.979434856] [1097] WARN CameraSensor camera_sensor.cpp:403 ‘arducam-pivariety 10-000c’: Failed to retrieve the camera location
[0:01:22.243371351] [1097] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file ‘arducam-pivariety.json’ not found for IPA module ‘raspberrypi’
[0:01:22.638317999] [1097] ERROR DelayedControls delayed_controls.cpp:87 Delay request for control id 0x009a090a but control is not exposed by device /dev/video0
[0:01:22.641423806] [1095] WARN V4L2 v4l2_pixelformat.cpp:181 Unsupported V4L2 pixel format XB24
[0:01:22.642603115] [1095] INFO Camera camera.cpp:906 configuring streams: (0) 960x540-YUV420
[0:01:22.643171890] [1097] INFO RPI raspberrypi.cpp:128 Mode: 1920x1080 fmt RG10 Score: 1875 (best 1875)
[0:01:22.643276041] [1097] INFO RPI raspberrypi.cpp:128 Mode: 1920x1080 fmt pRAA Score: 1375 (best 1375)
[0:01:22.698009412] [1097] INFO RPI raspberrypi.cpp:625 Sensor: /base/soc/i2c0mux/i2c@1/arducam@0c - Selected mode: 1920x1080-pRAA
[0:01:22.748622801] [1100] INFO IPARPI raspberrypi.cpp:637 Request ctrl: Sharpness = 1.000000
[0:01:22.748936884] [1100] INFO IPARPI raspberrypi.cpp:637 Request ctrl: Saturation = 1.000000
[0:01:22.749056869] [1100] INFO IPARPI raspberrypi.cpp:637 Request ctrl: Contrast = 1.000000
[0:01:22.749180354] [1100] INFO IPARPI raspberrypi.cpp:637 Request ctrl: Brightness = 0.000000
[0:01:22.749292949] [1100] INFO IPARPI raspberrypi.cpp:637 Request ctrl: FrameDurationLimits = [ 33333, 33333 ]
[0:01:22.749570790] [1100] INFO IPARPI raspberrypi.cpp:637 Request ctrl: NoiseReductionMode = 3
[0:01:22.750264013] [1100] INFO IPARPI raspberrypi.cpp:637 Request ctrl: AeMeteringMode = 0
[0:01:22.750765360] [1100] INFO IPARPI raspberrypi.cpp:637 Request ctrl: AeExposureMode = 0
[0:01:22.750910771] [1100] INFO IPARPI raspberrypi.cpp:637 Request ctrl: ExposureValue = 0.000000
[0:01:22.751076349] [1100] INFO IPARPI raspberrypi.cpp:637 Request ctrl: AwbMode = 0
[0:01:22.760908542] [1097] INFO RPISTREAM rpi_stream.cpp:122 No buffers available for ISP Output0
[0:01:22.761036415] [1097] INFO RPISTREAM rpi_stream.cpp:122 No buffers available for ISP Output0
[0:01:22.761119621] [1097] INFO RPISTREAM rpi_stream.cpp:122 No buffers available for ISP Output0
[0:01:22.761195975] [1097] INFO RPISTREAM rpi_stream.cpp:122 No buffers available for ISP Output0

And it does not go onward from here. The preview window is completely black.

What should I do? Thank you in advance.

The symbol seems to be missing due to a change in the API of libcamera.

The following commit in libcamera changes the declaration of the constructor of ControlInfoMap.

libcamera: controls: Create ControlInfoMap with ControlIdMap
https://git.linuxtv.org/libcamera.git/commit/include/libcamera/controls.h?id=b48db3c489d3af5989cc9a71b0843fc69adbcc1f

Also, the following commit in libcamera changes the declaration of the MappedFrameBuffer constructor.

libcamera: MappedFrameBuffer: Use typed Flags
https://git.linuxtv.org/libcamera.git/commit/include/libcamera/internal/mapped_framebuffer.h?id=fdf1851f0b5f4d31bb61ce63726dcee6d6e647fa

After resetting the source tree to this previous commit and rebuilding libcamera and libcamera-apps, libcamera-hello exited successfully and libcamera-still was able to shoot successfully.

It would be helpful if you could specify at what point the precompiled binary uses libcamera.

Hi @genarks
You are right.
The API of libcamera has not stabilized yet, we should add specific commits in the next version update, currently we recommend using the deb package we provide to install.

Hi @simonev

This seems like a hardware problem, can you provide a photo of the physical connection?
Sometimes you need to reconnect the cable.

Hi!
I have tried to reconnect the cable multiple times, also with a different cable but the output of libcamera-still is the same.

On the other hand, I would like to try the solution proposed by @genarks, even though I am not sure what would be the steps to do so.

Also, when you say “currently we recommend using the deb package we provide to install”, isn’t it the same procedure I tried at the very beginning? How would it be beneficial to solve my current problem? Or have I misunderstood your sentence?

Thank you.

Hi @simonev

I have tried to reconnect the cable multiple times, also with a different cable but the output of libcamera-still is the same.

Sometimes you need to reconnect here:


It would be best if you can provide photos, so I can check if there are obvious problems with the hardware.(This version is not the same as yours, this picture is only for connector reference.)

Also, when you say “currently we recommend using the deb package we provide to install”, isn’t it the same procedure I tried at the very beginning? How would it be beneficial to solve my current problem? Or have I misunderstood your sentence?

There is no difference, I just reply to genarks.

Hi @simonev,

I am using Raspberry Pi OS 2021-03-04. This is different from the 2021-05-07 that you are using.

My procedure is simply to add the following steps to “1.2.2 Download and compile libcamera”. However, there is no guarantee that this is the same libcamera that ipa_rpi.so will use when built by ArduCam (it’s working fine for me, and GStreamer too!).

cd ~
git clone git://linuxtv.org/libcamera.git
cd libcamera
git reset --hard f3629363       # *** THIS LINE ***
meson build
cd build
meson configure -Dpipelines=raspberrypi -Dtest=false
cd ..
ninja -C build

This is how the ArduCam is connected to its shield and the shield to the Raspberry:

First of all, thank you for drawing out the steps! I have appreciated it!

I have tried to reinstall libcamera with the precompiled binaries and adding this line (
git reset --hard f3629363) as you said.

However now I am facing a different error:

pi@raspberrypi:~ $ libcamera-still -t 5000
[0:07:16.728148532] [1128] INFO Camera camera_manager.cpp:294 libcamera v0.0.0+2872-f3629363
[0:07:16.739895670] [1131] WARN CameraSensor camera_sensor.cpp:197 ‘arducam-pivariety 10-000c’: Recommended V4L2 control 0x009a0922 not supported
[0:07:16.757337201] [1131] WARN CameraSensor camera_sensor.cpp:249 ‘arducam-pivariety 10-000c’: The sensor kernel driver needs to be fixed
[0:07:16.757637553] [1131] WARN CameraSensor camera_sensor.cpp:251 ‘arducam-pivariety 10-000c’: See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information
[0:07:16.765512133] [1131] WARN CameraSensorProperties camera_sensor_properties.cpp:123 No static properties available for ‘arducam-pivariety’
[0:07:16.766057133] [1131] WARN CameraSensorProperties camera_sensor_properties.cpp:125 Please consider updating the camera sensor properties database
[0:07:16.766437652] [1131] WARN CameraSensor camera_sensor.cpp:403 ‘arducam-pivariety 10-000c’: Failed to retrieve the camera location
[0:07:17.028217150] [1131] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file ‘arducam-pivariety.json’ not found for IPA module ‘raspberrypi’
[0:07:17.425987299] [1128] INFO Camera camera.cpp:870 configuring streams: (0) 960x540-YUV420
[0:07:17.426548337] [1131] INFO RPI raspberrypi.cpp:121 Mode: 1920x1080 fmt RG10 Score: 1875 (best 1875)
[0:07:17.426651781] [1131] INFO RPI raspberrypi.cpp:121 Mode: 1920x1080 fmt pRAA Score: 1375 (best 1375)
[0:07:17.480489041] [1131] INFO RPI raspberrypi.cpp:619 Sensor: /base/soc/i2c0mux/i2c@1/arducam@0c - Selected mode: 1920x1080-pRAA
Segmentation Fault

Hi @simonev

Thanks for the picture,
From the picture, there is no obvious error, and it is not sure whether the cable is damaged.
You can use this command to test the camera, it does not use libcamera, so we can use it to check whether the camera has a problem:
v4l2-ctrl --stream-mmap --stream-count=-1

After the execution is complete, send the terminal output and dmesg log to me.

First of all, thank you for drawing out the steps! I have appreciated it!

I have tried to reinstall libcamera with the precompiled binaries and adding this line (
git reset --hard f3629363) as you said.

However now I am facing a different error:

pi@raspberrypi:~ $ libcamera-still -t 5000
[0:07:16.728148532] [1128] INFO Camera camera_manager.cpp:294 libcamera v0.0.0+2872-f3629363
[0:07:16.739895670] [1131] WARN CameraSensor camera_sensor.cpp:197 ‘arducam-pivariety 10-000c’: Recommended V4L2 control 0x009a0922 not supported
[0:07:16.757337201] [1131] WARN CameraSensor camera_sensor.cpp:249 ‘arducam-pivariety 10-000c’: The sensor kernel driver needs to be fixed
[0:07:16.757637553] [1131] WARN CameraSensor camera_sensor.cpp:251 ‘arducam-pivariety 10-000c’: See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information
[0:07:16.765512133] [1131] WARN CameraSensorProperties camera_sensor_properties.cpp:123 No static properties available for ‘arducam-pivariety’
[0:07:16.766057133] [1131] WARN CameraSensorProperties camera_sensor_properties.cpp:125 Please consider updating the camera sensor properties database
[0:07:16.766437652] [1131] WARN CameraSensor camera_sensor.cpp:403 ‘arducam-pivariety 10-000c’: Failed to retrieve the camera location
[0:07:17.028217150] [1131] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file ‘arducam-pivariety.json’ not found for IPA module ‘raspberrypi’
[0:07:17.425987299] [1128] INFO Camera camera.cpp:870 configuring streams: (0) 960x540-YUV420
[0:07:17.426548337] [1131] INFO RPI raspberrypi.cpp:121 Mode: 1920x1080 fmt RG10 Score: 1875 (best 1875)
[0:07:17.426651781] [1131] INFO RPI raspberrypi.cpp:121 Mode: 1920x1080 fmt pRAA Score: 1375 (best 1375)
[0:07:17.480489041] [1131] INFO RPI raspberrypi.cpp:619 Sensor: /base/soc/i2c0mux/i2c@1/arducam@0c - Selected mode: 1920x1080-pRAA
Segmentation Fault

In fact, you don’t need to compile manually, you only need to use the previous deb installation package.
Now we want to confirm whether there is a problem with the hardware.

I haved again proceeded to clean and reinstall (via scripts as you initially suggested), then I launched the command:
“v4l2-ctl --stream-mmap --stream-count=-1”

However, there is no output, it’s just blocked.

This means that the driver cannot obtain data from the camera.
Are there any related dmesg logs? (You can use the dmesg command to get)

This is the usual output of dmesg grepping for arducam:
pi@raspberrypi:~ $ dmesg | grep arducam
[ 6.302928] arducam: loading out-of-tree module taints kernel.
[ 6.322245] arducam-pivariety 10-000c: firmware version: 0x10002
[ 31.835318] arducam_vddl: disabling
[ 31.835341] arducam_vdig: disabling
[ 31.835369] arducam_vana: disabling

Should I be searching for something in particular in the output of dmesg alone?

Hi @simonev

Everything seems to be normal, I think you can contact your sales to replace it.

Hi @wong,
Could you advise if any fix to this issue?
My camera was working fine and I was able to capture images/videos with commands like raspistill and piCamera python modules. After installing libcamera using Arducam instructions my camera has gone undetected and I receive the No Cameras Available and neither libcamera-still nor raspistill work.

I re-installed the rasbian os and confirmed it is the libcamera build that causes the issue.

I installed libcamera in order to use the multi-camera adapter from Arducam.
Any suggestions as to how this should be fixed?

Check this: