IMX462 raspberry PI

Dear Arducam.

I can’t make my IMX462 camera work on my Raspberry Pi 4B, latest raspbian.

I folowed the instructions from here:

, and here:

when I run : libcamera-still -t 5000 -o test.jpg

I get:
pi@raspberrypi:~ $ libcamera-still -t 5000 -o test.jpg
[0:09:57.621906392] [1769] INFO Camera camera_manager.cpp:296 libcamera v0.0.0+2736-579f55b1-dirty (2021-07-01T03:47:30-04:00)
[0:09:57.629802112] [1771] WARN CameraSensor camera_sensor.cpp:197 ‘arducam 10-000c’: Recommended V4L2 control 0x009a0922 not supported
[0:09:57.629910186] [1771] ERROR V4L2 v4l2_subdevice.cpp:286 ‘arducam 10-000c’: Unable to get rectangle 2 on pad 0: Inappropriate ioctl for device
[0:09:57.629981760] [1771] WARN CameraSensor camera_sensor.cpp:224 ‘arducam 10-000c’: The PixelArraySize property has been defaulted to 1920x1080
[0:09:57.630071890] [1771] ERROR V4L2 v4l2_subdevice.cpp:286 ‘arducam 10-000c’: Unable to get rectangle 1 on pad 0: Inappropriate ioctl for device
[0:09:57.630118927] [1771] WARN CameraSensor camera_sensor.cpp:235 ‘arducam 10-000c’: The PixelArrayActiveAreas property has been defaulted to (0x0)/1920x1080
[0:09:57.630267539] [1771] ERROR V4L2 v4l2_subdevice.cpp:286 ‘arducam 10-000c’: Unable to get rectangle 0 on pad 0: Inappropriate ioctl for device
[0:09:57.630311631] [1771] WARN CameraSensor camera_sensor.cpp:243 ‘arducam 10-000c’: Failed to retrieve the sensor crop rectangle
[0:09:57.630349576] [1771] WARN CameraSensor camera_sensor.cpp:249 ‘arducam 10-000c’: The sensor kernel driver needs to be fixed
[0:09:57.630387205] [1771] WARN CameraSensor camera_sensor.cpp:251 ‘arducam 10-000c’: See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information
[0:09:57.635622123] [1771] WARN CameraSensorProperties camera_sensor_properties.cpp:109 No static properties available for ‘arducam’
[0:09:57.635819790] [1771] WARN CameraSensorProperties camera_sensor_properties.cpp:111 Please consider updating the camera sensor properties database
[0:09:57.635939309] [1771] WARN CameraSensor camera_sensor.cpp:403 ‘arducam 10-000c’: Failed to retrieve the camera location
[0:09:57.774646144] [1771] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file ‘arducam.json’ not found for IPA module ‘raspberrypi’
[0:09:58.175613860] [1771] ERROR DelayedControls delayed_controls.cpp:87 Delay request for control id 0x009a090a but control is not exposed by device /dev/video0
[0:09:58.178721200] [1769] ERROR Controls controls.cpp:1031 Control 0x00000002 not found
[0:09:58.179212775] [1769] ERROR Controls controls.cpp:1031 Control 0x00000002 not found
[0:09:58.179495609] [1769] ERROR Controls controls.cpp:1031 Control 0x00000002 not found
[0:09:58.179739535] [1769] INFO Camera camera.cpp:906 configuring streams: (0) 960x540-YUV420
[0:09:58.180290259] [1771] INFO RPI raspberrypi.cpp:128 Mode: 1920x1080 fmt RG10 Score: 1875 (best 1875)
[0:09:58.180399611] [1771] INFO RPI raspberrypi.cpp:128 Mode: 1920x1080 fmt pRAA Score: 1375 (best 1375)
[0:09:58.183288783] [1771] INFO RPI raspberrypi.cpp:625 Sensor: /base/soc/i2c0mux/i2c@1/arducam@0c - Selected mode: 1920x1080-pRAA
[0:09:58.184949101] [1771] ERROR V4L2 v4l2_subdevice.cpp:286 ‘arducam 10-000c’: Unable to get rectangle 0 on pad 0: Inappropriate ioctl for device
[0:09:58.185041842] [1771] WARN CameraSensor camera_sensor.cpp:737 ‘arducam 10-000c’: The analogue crop rectangle has been defaulted to the active area size
[0:09:58.185518380] [1771] ERROR IPARPI raspberrypi.cpp:578 Unable to find ISP control 0x009819e9
[0:09:58.185587473] [1771] ERROR IPARPI raspberrypi.cpp:375 ISP control validation failed.
[0:09:58.185626621] [1771] ERROR RPI raspberrypi.cpp:1300 IPA configuration failed!
[0:09:58.185790492] [1771] ERROR RPI raspberrypi.cpp:762 Failed to configure the IPA: -32
ERROR: *** failed to configure streams ***

Please help

Andrej

what does dmesg | grep arducam say?
and v4l2-ctl --list-devices?

Hi tve,

After running your inspection the result was bad.
So I format my SD card again with the same raspian image I downloaded yesterday.

I have installed the driver from here:

activated camera, and I2C from “interfaces”

and then I have installed the libcamera from here:

ardu3

Now is working.

Thanks

1 Like

Hi @MrSpace

Can you provide some information?

  1. v4l2-ctl --list-formats-ext
  2. v4l2-ctl -l
  3. uname -a

There is another question, are you using the manually compiled libcamera or the libcamera installed by the installation script?

I’m running into the same issue; IMX462 and same errors with a Pi 4

I used the raspberry pi image found here: Unboxing Video - Pivariety Camera - Arducam

And followed the instructions online, but also followed the instructions provided by MrSpace.

I also tried to compile the code myself led to errors, so I’m a bit stuck now. I’m hoping to have this camera work with Gstreamer Python 1.19 or 1.18 bindings.

Below is my attempt of using the official instructions.

pi@raspberrypi:~ $ 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

pi@raspberrypi:~ $ v4l2-ctl -l

User Controls

                       exposure 0x00980911 (int)    : min=1 max=1048573 step=1 default=1022 value=67
                horizontal_flip 0x00980914 (bool)   : default=0 value=1
                  vertical_flip 0x00980915 (bool)   : default=0 value=1
                     frame_rate 0x00981906 (int)    : min=5 max=60 step=1 default=60 value=60

Camera Controls

         camera_sensor_rotation 0x009a0923 (int)    : min=180 max=180 step=1 default=180 value=180 flags=read-only

Image Source Controls

              vertical_blanking 0x009e0901 (int)    : min=45 max=12420 step=1 default=45 value=1169
            horizontal_blanking 0x009e0902 (int)    : min=280 max=280 step=1 default=280 value=280 flags=read-only
                  analogue_gain 0x009e0903 (int)    : min=100 max=20000 step=1 default=100 value=100

Image Processing Controls

                     pixel_rate 0x009f0902 (int64)  : min=148500000 max=148500000 step=1 default=148500000 value=148500000 flags=read-only

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux
pi@raspberrypi:~ $ v4l2-ctl --list-devices
bcm2835-codec-decode (platform:bcm2835-codec):
        /dev/video10
        /dev/video11
        /dev/video12

bcm2835-isp (platform:bcm2835-isp):
        /dev/video13
        /dev/video14
        /dev/video15
        /dev/video16

unicam (platform:fe801000.csi):
        /dev/video0
        /dev/video1

pi@raspberrypi:~ $ dmesg | grep arducam
[    5.830139] arducam: loading out-of-tree module taints kernel.
[    5.846525] arducam-pivariety 10-000c: firmware version: 0x10002
[   31.834600] arducam_vddl: disabling
[   31.834611] arducam_vdig: disabling
[   31.834622] arducam_vana: disabling

pi@raspberrypi:~ $ libcamera-still -n -o test.jpg
[0:02:03.059169366] [949]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0
[0:02:03.069007831] [952]  WARN CameraSensor camera_sensor.cpp:197 'arducam-pivariety 10-000c': Recommended V4L2 control 0x009a0922 not supported
[0:02:03.092112253] [952]  WARN CameraSensor camera_sensor.cpp:249 'arducam-pivariety 10-000c': The sensor kernel driver needs to be fixed
[0:02:03.092223903] [952]  WARN CameraSensor camera_sensor.cpp:251 'arducam-pivariety 10-000c': See Documentation/sensor_driver_requirements.rst in the libcamera sources for more information
[0:02:03.100812462] [952]  WARN CameraSensorProperties camera_sensor_properties.cpp:141 No static properties available for 'arducam-pivariety'
[0:02:03.100927908] [952]  WARN CameraSensorProperties camera_sensor_properties.cpp:143 Please consider updating the camera sensor properties database
[0:02:03.101020706] [952]  WARN CameraSensor camera_sensor.cpp:414 'arducam-pivariety 10-000c': Failed to retrieve the camera location
[0:02:03.216525850] [952] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file 'arducam-pivariety.json' not found for IPA module 'raspberrypi'
[0:02:03.582189874] [952] ERROR DelayedControls delayed_controls.cpp:87 Delay request for control id 0x009a090a but control is not exposed by device /dev/video0
[0:02:03.589601177] [949]  INFO Camera camera.cpp:937 configuring streams: (0) 960x540-YUV420
[0:02:03.590247760] [952]  INFO RPI raspberrypi.cpp:122 Mode: 1920x1080 fmt RG10 Score: 1875 (best 1875)
[0:02:03.590396818] [952]  INFO RPI raspberrypi.cpp:122 Mode: 1920x1080 fmt pRAA Score: 1375 (best 1375)
[0:02:03.643369937] [952]  INFO RPI raspberrypi.cpp:624 Sensor: /base/soc/i2c0mux/i2c@1/arducam@0c - Selected mode: 1920x1080-pRAA
[0:02:03.685628264] [956]  INFO IPARPI raspberrypi.cpp:654 Request ctrl: Sharpness = 1.000000
[0:02:03.685814489] [956]  INFO IPARPI raspberrypi.cpp:654 Request ctrl: Saturation = 1.000000
[0:02:03.685891193] [956]  INFO IPARPI raspberrypi.cpp:654 Request ctrl: Contrast = 1.000000
[0:02:03.685969509] [956]  INFO IPARPI raspberrypi.cpp:654 Request ctrl: Brightness = 0.000000
[0:02:03.686037177] [956]  INFO IPARPI raspberrypi.cpp:654 Request ctrl: FrameDurationLimits = [ 33333, 33333 ]
[0:02:03.686160123] [956]  INFO IPARPI raspberrypi.cpp:654 Request ctrl: NoiseReductionMode = 3
[0:02:03.686325069] [956]  INFO IPARPI raspberrypi.cpp:654 Request ctrl: AeMeteringMode = 0
[0:02:03.686502331] [956]  INFO IPARPI raspberrypi.cpp:654 Request ctrl: AeExposureMode = 0
[0:02:03.686577128] [956]  INFO IPARPI raspberrypi.cpp:654 Request ctrl: ExposureValue = 0.000000
[0:02:03.686657278] [956]  INFO IPARPI raspberrypi.cpp:654 Request ctrl: AwbMode = 0
[0:02:03.688682416] [952]  INFO RPISTREAM rpi_stream.cpp:122 No buffers available for ISP Output0
[0:02:03.688749287] [952]  INFO RPISTREAM rpi_stream.cpp:122 No buffers available for ISP Output0
[0:02:03.688793232] [952]  INFO RPISTREAM rpi_stream.cpp:122 No buffers available for ISP Output0
[0:02:03.688835455] [952]  INFO RPISTREAM rpi_stream.cpp:122 No buffers available for ISP Output0
*********** Doesn't do anything.. just pauses.
dtparam=i2c_arm=on
dtparam=i2c_vc=on


dtparam=audio=on
disable_touchscreen=1

[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
max_framebuffers=2

[all]
#dtoverlay=vc4-fkms-v3d
dtoverlay=arducam
start_x=1
gpu_mem=128

Trying this over SSH, headless, as that will be my requirement.

I’ll try some different Raspbian images to see if I can get a different result and report back if I have any luck. day 2 of trying to get this to work.

Hi @sseguin
Sorry for your bad experience,
Can you provide the cable connection diagram and the detailed photos of the front and back of the module?
I need to confirm if it has any obvious damage.

In addition, you can also use v4l2-ctl to test the camera:
v4l2-ctl --stream–mmap --stream-count=-1 -d 0

Under normal circumstances it should output something like:
>>>>>>>>

No need to be sorry, as I understand completely how hard it is to support products like this. I’m grateful that you make cameras like the IMX462 available to those like me. I’m just a big monkey really. :slight_smile:

Here is a collection of photos: Imgur: The magic of the Internet

I don’t see any damage, and I think I wired things correctly? I hope. I originally tried to use a Pi 3 with an image that already had gstreamer 1.19 installed, but switched to the Pi 4 with a clean image when that did not work. I didn’t have any complications getting an OV5642 or Pi camera to work, but I understand that the IMX462 requires install work.

I’m using a Macbook M1’s USB-C power adapter and cable to power the RPi 4. Other than a fan and the camera, there is nothing else connect to the pi.

The image I’m using on my RPi4 is: “2021-03-04-raspios-buster-armhf-full.img”, using a 32GB Sandisk Ultra uSD card. From a clean install, without running apt update first, with 1080p monitor/keyboard connected, I used these commands:

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 kernel_driver
## reboot
pi@raspberrypi:~ $ dmesg | grep arducam
[    7.199122] arducam: loading out-of-tree module taints kernel.
[    7.215493] arducam-pivariety 10-000c: firmware version: 0x10002
[   31.834932] arducam_vddl: disabling
[   31.834943] arducam_vdig: disabling
[   31.834955] arducam_vana: disabling

pi@raspberrypi:~ $ v4l2-ctl --list-devices
bcm2835-codec-decode (platform:bcm2835-codec):
        /dev/video10
        /dev/video11
        /dev/video12

bcm2835-isp (platform:bcm2835-isp):
        /dev/video13
        /dev/video14
        /dev/video15
        /dev/video16

unicam (platform:fe801000.csi):
        /dev/video0
        /dev/video1

I then try to install libcamera and apps, as per the docs

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

and when I then run libcamera-still -t 5000 -o test.jpg, with monitor connected, I get the no buffers available error, along with a blank/black window appearing. I included photo to that screen can be found here: Imgur: The magic of the Internet

When I run v4l2-ctl --stream–mmap --stream-count=-1 -d 0, I see nothing outputted. It just does nothing; the following output is blank and nothing happens.

I’ve tried this all a couple times now, from a clean install, and don’t quite know what I am doing wrong or if something broke.

My hope is to be able to include the Arducam IMX462 as a pre-built image option for those looking to use it as part of my “raspberry_ninja” open-source project. It’s a project for those looking to easily create their own webRTC-enabled camera using a Pi, Jetson, or other Linux system. I have it working well with different platforms and cameras already, though getting the IMX462-CSI supported is of interest.

Hi @sseguin

There is no problem with the software settings
The hardware connections look good, except for some connectors that are not fully locked:
image

You can try to reconnect all the cables. If there is no improvement, you can replace the module through the place where you bought it.

Thank you. Keen eye. Sadly, fully closing the latch didn’t change anything.

I tried a different white ribbon cable from my other camera, and reconnected both white and brown cables, but that did not fix things either.

Is it possible to just bypass the ISP and use the sensor board directly? I’d be just as happy to have it work with an Nvidia Jetson for example, which I have here also.

Otherwise, I’ll just reach out to the supplier as you mention. Thank you for your efforts.

Unfortunately, you cannot connect the sensor directly to the Pi without using the adapter board

Now we are not compatible with Jetson, but if you install the jetvariety driver you may be able to get RAW data, but other functions will not work. (This is untested)

Just following up, but I got another IMX462 from the supplier and it worked like a charm first try. Thank you for the support.

The camera definitely has some fantastic low-light and sharp image; great for security applications. Thank you for offering it.

Thank you for your reply,
Glad your problem is solved!

Check out this SONY STARVIS IMX462 based Ultra Low Light USB camera that camera is capable of capturing high-quality images in the near-infrared region.

This USB 3.1 Gen 1 camera supports superior IR sensitivity which helps to capture high quality images in the near-infrared (~850nm) region required for night vision applications & medical microscopes. Also, the high sensitivity of this camera helps to capture images even in extremely low lighting conditions (0 lux).

Unfortunately the eCon camera is an USB UVC standard that only supports 8bit per pixel. Check ZWO and QHY for astronomy version of camera using IMX462 and can provide all 12bits per pixel… with custon driver, ( ASCOM driver )

Apparently the camera and driver only work on Pi 4. I just tried on Pi 3 B+ frez OS and driver install … it did not worked… I simply moved the SD card and camera to Pi4 and were no problems… Too bad, I have lots of Pi3 around…

Any logs?

Also you can refer to:

ok, hings start to move…
but…
I can not get long exposure, or hi grain images??? all are equally dark

please help

pi@raspberrypi:~ $ libcamera-still -o long_exposure3.jpg --shutter 50000 --gain 3 --awbgains 1,1 --immediate
Made X/EGL preview window
[0:55:13.284754363] [8439]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0
[0:55:13.305862440] [8440]  WARN CameraSensorProperties camera_sensor_properties.cpp:141 No static properties available for 'arducam-pivariety'
[0:55:13.305980642] [8440]  WARN CameraSensorProperties camera_sensor_properties.cpp:143 Please consider updating the camera sensor properties database
[0:55:13.306046585] [8440] ERROR CameraSensor camera_sensor.cpp:551 'arducam-pivariety 10-000c': Camera sensor does not support test pattern modes.
[0:55:13.318147834] [8440] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file 'arducam-pivariety.json' not found for IPA module 'raspberrypi'
[0:55:13.715657030] [8440]  WARN RPI raspberrypi.cpp:1233 Mismatch between Unicam and CamHelper for embedded data usage!
[0:55:13.716380442] [8440] ERROR DelayedControls delayed_controls.cpp:87 Delay request for control id 0x009a090a but control is not exposed by device /dev/v4l-subdev0
[0:55:13.716604456] [8440]  INFO RPI raspberrypi.cpp:1356 Registered camera /base/soc/i2c0mux/i2c@1/arducam@0c to Unicam device /dev/media3 and ISP device /dev/media0
[0:55:13.717708898] [8439]  INFO Camera camera.cpp:1028 configuring streams: (0) 1920x1080-YUV420 (1) 1920x1080-SRGGB10_CSI2P
[0:55:13.766460741] [8440]  INFO RPI raspberrypi.cpp:751 Sensor: /base/soc/i2c0mux/i2c@1/arducam@0c - Selected sensor format: 1920x1080-SRGGB10_1X10 - Selected unicam format: 1920x1080-pRAA
[0:55:13.808112572] [8445]  INFO IPARPI raspberrypi.cpp:666 Request ctrl: Saturation = 1.000000
[0:55:13.808291032] [8445]  INFO IPARPI raspberrypi.cpp:666 Request ctrl: Contrast = 1.000000
[0:55:13.808401845] [8445]  INFO IPARPI raspberrypi.cpp:666 Request ctrl: Brightness = 0.000000
[0:55:13.808500658] [8445]  INFO IPARPI raspberrypi.cpp:666 Request ctrl: ColourGains = [ 1.000000, 1.000000 ]
[0:55:13.808623822] [8445]  INFO IPARPI raspberrypi.cpp:666 Request ctrl: AwbMode = 0
[0:55:13.808724857] [8445]  INFO IPARPI raspberrypi.cpp:666 Request ctrl: Sharpness = 1.000000
[0:55:13.808824263] [8445]  INFO IPARPI raspberrypi.cpp:666 Request ctrl: ExposureValue = 0.000000
[0:55:13.808928779] [8445]  INFO IPARPI raspberrypi.cpp:666 Request ctrl: AeExposureMode = 0
[0:55:13.809012148] [8445]  INFO IPARPI raspberrypi.cpp:666 Request ctrl: AnalogueGain = 3.000000
[0:55:13.809067647] [8445]  INFO IPARPI raspberrypi.cpp:666 Request ctrl: ExposureTime = 50000
[0:55:13.809131386] [8445]  INFO IPARPI raspberrypi.cpp:666 Request ctrl: FrameDurationLimits = [ 100, 1000000000 ]
[0:55:13.809195829] [8445]  INFO IPARPI raspberrypi.cpp:666 Request ctrl: AeMeteringMode = 0
[0:55:13.809246995] [8445]  INFO IPARPI raspberrypi.cpp:666 Request ctrl: NoiseReductionMode = 2

another strange issue… v4l2-ctl -l returns nothing…

pi@raspberrypi:~ $ v4l2-ctl -l
pi@raspberrypi:~ $ 

This is not a problem, the new version of the kernel uses media-controller, you can use v4l2-ctl -l -d /dev/v4l-subdev0 to view the control, for more information, please refer to:
https://forums.raspberrypi.com/viewtopic.php?t=322076

I’m not quite sure what you mean, the command seems to be executed without problems.