Problems getting IMX327 low light/starvis camera working on raspberry pi zero 2

Trying a few things thinking that my rpiz2w problem is either hardware (i2c), cable, or csi connector. Again, my camera works great on my rpi4 but not on my rpiz2w. And after you asked me about other cameras, am noticing that my autofocus on my 16mp arducam doens’t work but once did. So, this seems like I/O.

pi@raspberrypi:~ $ vcgencmd get_camera
supported=0 detected=0, libcamera interfaces=0

And

pi@raspberrypi:~ $ i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x08-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Am going to try switching back to Arducam 16mp autofocus to see if I can get the AF working again. Anything else to try?

@Edward I’m indeed stuck. I think I have now confirmed my autofocus doesn’t work on my ardcucam 16mp but it did earlier. I did this to try to see if I’m having some i2c problems on this rpiz2. Have also tried reloading drivers for autofocus following this guide. I note that the name of the low speed driver seems to have changed since this quick start was published.

Quick Start - Arducam Wiki

I installed the one I marked with ** plus libcamera and libcamera-apps

Supported packages:
       ** imx519_kernel_driver_low_speed
        imx708_kernel_driver
        libcamera
        64mp_pi_hawk_eye_kernel_driver
        libcamera_apps
        imx708_b0311_kernel_driver
        libcamera_dev
        imx519_kernel_driver
        kernel_driver

I’m now going to try to the 16mp on the rpi4 to see if autofocus works on that one.

@lprevost

This operation is correct.

Autofocus cannot be used. Maybe the driver failed to load, the device tree is incorrect, or there is a problem with the motor itself.

Yes. You can try it on pi4 first to confirm whether there is a problem with the camera itself.

@edward, jumping back on this. I’ve now confirmed by rpi2z with an arducam 16mp. My earlier problem was indeed a cable. Have confirmed operation including AF so I don’t see to have an I/O problems as suspected earlier. I am now going to try to get my Starvis low light working. I have the IMX327 version and have also received a B044 version which is unopened. Just to summarize:

  • RPIZ2 confirmed works with Arducam 16mp
  • Starvis IMX327 works with RPI4 but not with rpiz2 (v4l2 errors)

One thing that has been nagging me is the quick start shows clearly an “adapter board.”
https://docs.arducam.com/Raspberry-Pi-Camera/Low-Light/quick-start/

I do not have an adapter board. My starvis camera has a single PCB with UC-788 Rev. B on the back of the PCB. I don’t see any guides similar to the other cameras that show hardware/cable setup for RPIZero2.

Here is my error:

Made X/EGL preview window
[0:06:04.879057385] [1199] e[1;32m INFO e[1;37mCamera e[1;34mcamera_manager.cpp:299 e[0mlibcamera v0.0.0+4226-8689dd6b
[0:06:04.956695556] [1202] e[1;32m INFO e[1;37mRPI e[1;34mraspberrypi.cpp:1485 e[0mRegistered camera /base/soc/i2c0mux/i2c@1/imx290@1a to Unicam device /dev/media3 and ISP device /dev/media1
[0:06:04.959795578] [1199] e[1;32m INFO e[1;37mCamera e[1;34mcamera.cpp:1028 e[0mconfiguring streams: (0) 960x540-YUV420
[0:06:04.960519774] [1202] e[1;32m INFO e[1;37mRPI e[1;34mraspberrypi.cpp:851 e[0mSensor: /base/soc/i2c0mux/i2c@1/imx290@1a - Selected sensor format: 1280x720-SRGGB12_1X12 - Selected unicam format: 1280x720-pRCC
[0:06:05.022629542] [1202] e[1;31mERROR e[1;37mV4L2 e[1;34mv4l2_videodevice.cpp:1906 e[0;32m/dev/video0[17:cap]: e[0mFailed to start streaming: Remote I/O error
ERROR: *** failed to start camera ***

Hardware configuration:
RPIZ2 → ribbon cable (silver pins up to front of pi) ------------------ (silver pins down to backside of camera pcb) > camera

Also, update 8/26 – cannot get B044 version of the low light starvis working either. Either “camera not found” or the same V4L2 errors. Went back to Arducam 16mp and got AF mode errors. reinstalled libcamera-apps and libcamera via your install routine and its now working with overlay = imx519. Cannot seem to get starvis camera working with RPIZero2 in any configuration. And not sure if I should be using pivariety drivers or native pi quick starts.

And, can you point me to correct settings in config.txt? specicifally, I wonder if my dtparam settings are correct with the V4L2 errors.

@Edward any ideas here? I’ve now got a new RPIzero2 and will try this but I now have two low light cameras that do not work – both with the same error code. Arducam autofocus 16mp works great. Can you help me with some things to try here?

Don’t worry about this, if it is a new version, it has been merged into the camera board.

At present, pi4 is still normal, but pi zero 2W cannot work, right?

That is right. And I’m trying to get around to trying it on another new pi zero 2w. But both of my starlight cams seem to produce the same V4L2 errors.

@edward, one thing I noticed is a log message during startup.

imx519 10-001a: Consider updating driver imx519 to match on endpoints

Ok @edward. I’ve now tried this on a brand new RpiZ2W. Same errors. To summarize, this is what I’m getting:

Camera:
B044 version of starlight
Tried several cables

Config.txt settings:
dtoverlay=imx290, clock-frequency=37125000

Error:

Made X/EGL preview window
[0:01:02.658340236] [1057]  INFO Camera camera_manager.cpp:297 libcamera v0.0.0+4367-ad9428b4
[0:01:02.835290497] [1067]  INFO RPI vc4.cpp:444 Registered camera /base/soc/i2c0mux/i2c@1/imx290@1a to Unicam device /dev/media0 and ISP device /dev/media2
[0:01:02.835483101] [1067]  INFO RPI pipeline_base.cpp:1101 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
[0:01:02.837970132] [1057]  INFO Camera camera.cpp:1033 configuring streams: (0) 960x540-YUV420
[0:01:02.838971069] [1067]  INFO RPI vc4.cpp:572 Sensor: /base/soc/i2c0mux/i2c@1/imx290@1a - Selected sensor format: 1280x720-SRGGB12_1X12 - Selected unicam format: 1280x720-pRCC
[0:01:02.897672215] [1067] ERROR V4L2 v4l2_videodevice.cpp:1906 /dev/video0[17:cap]: Failed to start streaming: Remote I/O error
ERROR: *** failed to start camera ***

and, trying another setting in config.txt:
dtoverlay=arducam-pivariety,media-controller=0

error:

Made X/EGL preview window
[0:06:39.398779018] [1286]  INFO Camera camera_manager.cpp:297 libcamera v0.0.0+4367-ad9428b4
ERROR: *** no cameras available ***

I really need to move past this or go back to standard cameras. Can you suggest something for me to try?

@edward. I’m now going to try a fresh flash as I’m not getting anything from you here. Not sure what else to do.

@lprevost

Before, I need some information

Please reboot your device and execute the following command:

wget -O arducam-camera-bug-report https://github.com/ketai-dhr/arducam-camera-bug-report/releases/download/tools/arducam-camera-bug-report
chmod +x ./arducam-camera-bug-report
./arducam-camera-bug-report

This will output an arducam-bug-report.txt in the current directory.

Please send this file to me via google cloud disk or similar platform or email ([email protected])

And if possible, please send me the hardware connection diagram.

Thank you for your cooperation.

Have sent that to support@. Also, I have tried reflashing with latest Bullseye. And tried various combinations on dtoverlay= settings which I put on the support email.

This ended up getting resolved. I had what is called a “peer cable” which is for pi to pi connections via csi. Somehow my order with my camera included peer cables rather than camera cables.

Wrong cable: The tell tale sign is the cable has blue stripes on both ends on the same side of the ribbon cable.

Right cable: blue stripes at terminal ends of cable on opposite sides of cable.

What tipped the arducam support team to this problem was a photo of the camera attached to the pi. Plus there were configurations where the pin would not boot as the peer cable shorts the pi pins.

Thanks for sharing. I have been fighting this problem for hours! In may case, when the Arducam IMX327 was plugged into the Pi Zero 2W, the board would not power up. The board would get warm, indicating that perhaps something was shorted. I tried the camera on a R-Pi 3 that I had around (with the cable which came with the Arducam) and it worked!

After FINALLY finding your post, I saw that I had the wrong cable also!
Attention to detail! :smile:

Glad it helped. It was driving me crazy!

1 Like