Rock 5C + Radxa 4K Camera

Hello, today is the 5 day I haven’t any result on opening the Radxa 4K Camera with Gstreamer

  1. Install Rock 5C B1 image on eMMC
  2. Start it and see that no device
  3. Added it in rsetup
  4. ExtLinux updated after rsetup
  5. Show /dev/video after reboot
  6. Watch rkaiq service status
  7. Start gstreamer
  8. Result - no video image

What it colud be? I have no ideas(((

Some more info dmesg screenshot

Make sudo apt get update && sudo apt upgrade
result of ./rkaiq_3A_server

gst-launch the same no result

I have seen this topic, the output of the commands is the same as there
https://stackoverflow.com/questions/77007398/how-to-debug-the-sony-imx415-camera-connect-with-rk3588
But I cant have picture in gst-launch

@ken It looks very similar to the user problem of Discord

@radxa Can you help me with this problem soon?

I’m not sure if it’s related in any way, but are you sure your GStreamer pipeline is right?
Does anything show up on screen when you launch preview like the documentation says?

gst-launch-1.0 v4l2src device=/dev/video11 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=1920,height=1080 ! xvimagesink;

@ChenJaly is a member of the team (you can see Radxa Team next to his user name), so we are already on this.

Yes of course, the pipeline is in the first post on the screenshot. When I am using it, the new window is opening, but no frames there.
I have tried ffmpeg-rockchip, everything is opening without errors from the camera, but I can’t take frames from it.

I’m not a GStreamer expert but the difference between the pipelines is that you didn’t put “videoconvert” there.

No good result, the same situation with your pipeline as pipeline without “videoconvert”


@ken maybe you have the idea, what image of radxa os is working good? I read that 5.10 kernel is not working, 6.1 is not working now

Hi @kirbizz

You can try this image here: IMX477 / IMX577 on Rock 5, which can also work with IMX415 30 fps. You need to follow the instructions and after you have a useful boot (don’t upgrade yet to kernel 6.1.84) i can prepare the rock5c dtb with imx415 support.

Please note that this image is CLI (command line interface) only, although you have Weston for the graphic applications.

Don’t forget to update mpp with the attached mpp.zip to have gstreamer working.
There is a small how to use the gstreamer there.

Let me know what you decide.

Update:
Here is the rock5c dtb with IMX415 support and a tip:

  • download the file rk3588s-rock-5c.dtb_IMX415.zip attached
  • unzip it
  • copy the file rk3588s-rock-5c.dtb to /boot location
    sudo cp -vfr ./rk3588s-rock-5c.dtb /boot/dtbs/6.1.43-rk3588-v4l2-cam/rockchip/rk3588s-rock-5c.dtb
    sudo reboot

Now you can verify if imx415 is working for this kernel version. If you get a dark and green image you need to downgrade the iqfile, do this:

cd /etc/iqfiles
sudo cp -vfr imx415_CMK-OT2022-PX1_IR0147-50IRC-8M-F20.json imx415_CMK-OT2022-PX1_IR0147-50IRC-8M-F20.json_LATEST
sudo cp -vfr imx415_CMK-OT2022-PX1_IR0147-50IRC-8M-F20.json_old imx415_CMK-OT2022-PX1_IR0147-50IRC-8M-F20.json
sudo reboot

rk3588s-rock-5c.dtb_IMX415.zip (40.2 KB)

Hello, @avaf I have tried your image!
Boot is ok, then I copied the dtb, but when I start ffplay, then there is no result(((
No frames, no bitrate, the same as with another images

What the output of: (text please, copy and paste formatted text here)

sudo reboot

log in and :

dmesg|grep imx

run ffply and check dmesg again:

  • In the SSH instance

ffplay -f v4l2 -pixel_format nv12 -framerate 30 -video_size 1920x1080 -i /dev/video11

  • in a second SSH instance while running ffplay:

dmesg|grep imx

Try also with gstreamer:

gst-launch-1.0 v4l2src device=/dev/video11 io-mode=dmabuf ! 'video/x-raw,format=NV12,width=1920,height=1080' ! glimagesink

@avaf thank you for your answers, I have made what you wrote:

  1. Logged in and in terminal write:

dmesg|grep imx

Result:

rock@rock5c:~$ dmesg|grep imx
[ 11.812637] platform csi2-dphy0: Fixed
dependency cycle(s) with /i2c@feab0000 /imx415@1a
[ 11.904894] imx415
3-001a: driver version: 00.01.08
[ 11.904903] imx415 3-001a: camera-vflip: 0
[ 11.904908] imx415 3-001a: camera-vflip: 0
[ 11.904916] imx415 3-001a: detect imx415 lane 4
[ 11.904955] imx415 3-001a: Failed to get power-gpios
[ 11.904960] imx415 3-001a: could not get default pinstate
[ 11.904963] imx415 3-001a: could not get sleep pinstate
[ 11.904967] imx415 3-001a: Looking up dvdd-supply from device tree
[ 11.904971] imx415 3-001a: Looking up dvdd-supply property in node /i2c@feab0 000/imx415@1a failed
[ 11.904985] imx415 3-001a: supply dvdd not found, using dummy regulator
[ 11.905019] imx415 3-001a: Looking up dovdd-supply from device tree
[ 11.905022] imx415 3-001a: Looking up dovdd-supply property in node /i2c@feab 0000/imx415@1a failed
[ 11.905029] imx415 3-001a: supply dovdd not found, using dummy regulator
[ 11.905042] imx415 3-001a: Looking up avdd-supply from device tree
[ 11.905044] imx415 3-001a: Looking up avdd-supply property in node /i2c@feab0 000/imx415@1a failed
[ 11.905050] imx415 3-001a: supply avdd not found, using dummy regulator
[ 11.976541] imx415 3-001a: Detected
imx415 id 0000e0 [ 12.006449] imx415 3-001a: Consider updating driver imx415 to match on endpoi nts
[ 12.006471] rockchip-csi2-dphy csi2-dphy0: dphy0 matches m00_b_imx415 3-001a: bus type 5
[ 14.114240] imx415 3-001a: set exposure(shr0) 2047 = cur_vts(2250) - val(203)

  1. After that started ffplay

ffplay -f v4l2 -pixel_format nv12 -framerate 30 -video_size 1920x1080 -i /dev/video11

Reslt of ffplay

rock@rock5c:~$ ffplay -f v4l2 -pixel_format nv12 -framerate 30
-video_size 1920x1080 -i /dev/video11
ffplay version 4.4.2-0 ubuntu0.22.04.1 Copyright © 2003-2021 the FFmpeg developers
built with gcc 12 (Ubuntu 12.3.0-1ubuntu1~22.04) configuration:
–prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened
–libdir=/us
r/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu
–arch=arm64 --enable-gpl --disab le-stripping --enable-gnutls
–enable-ladspa --enable-libaom --enable-libass --enable-libbluray -
-enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2
–enable-libdav1d --enable-l ibflite --enable-libfontconfig
–enable-libfreetype --enable-libfribidi --enable-libgme --enable-
libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa
–enable-libopenjpeg --enable-libo penmpt --enable-libopus
–enable-libpulse --enable-librabbitmq --enable-librubberband
–enable-li bshine --enable-libsnappy --enable-libsoxr --enable-libspeex
–enable-libsrt --enable-libssh --en able-libtheora --enable-libtwolame
–enable-libvidstab --enable-libvorbis --enable-libvpx --enabl e-libwebp
–enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg
–enable-libzmq --e nable-libzvbi --enable-lv2 --enable-omx
–enable-openal --enable-opencl --enable-opengl --enable- sdl2
–disable-cuvid --enable-pocketsphinx --enable-librsvg
–enable-libdc1394 --enable-libdrm – enable-libiec61883
–enable-chromaprint --enable-frei0r --enable-libx264 --enable-libdrm
–enable -rkmpp --enable-version3 --disable-libopenh264 --disable-vaapi
–disable-vdpau --disable-decoder= h264_v4l2m2m
–disable-decoder=vp8_v4l2m2m --disable-decoder=mpeg2_v4l2m2m
–disable-decoder=mpeg 4_v4l2m2m --enable-shared
WARNING: library configuration mismatch avcodec configuration:
–prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened
–libdir=/usr/lib/aarch64-linux-gnu
–incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable -gpl
–disable-stripping --enable-gnutls --enable-ladspa --enable-libaom
–enable-libass --enable -libbluray --enable-libbs2b --enable-libcaca
–enable-libcdio --enable-libcodec2 --enable-libdav1 d --enable-libflite
–enable-libfontconfig --enable-libfreetype --enable-libfribidi
–enable-libg me --enable-libgsm --enable-libjack --enable-libmp3lame
–enable-libmysofa --enable-libopenjpeg - -enable-libopenmpt
–enable-libopus --enable-libpulse --enable-librabbitmq
–enable-librubberband
–enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex
–enable-libsrt --enable
-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab
–enable-libvorbis --enable-li bvpx --enable-libwebp --enable-libx265
–enable-libxml2 --enable-libxvid --enable-libzimg --enabl e-libzmq
–enable-libzvbi --enable-lv2 --enable-omx --enable-openal
–enable-opencl --enable-open gl --enable-sdl2 --disable-cuvid
–enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enab
le-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r
–enable-libx264 --enable-lib drm --enable-rkmpp --enable-version3
–disable-libopenh264 --disable-vaapi --disable-vdpau --disa
ble-decoder=h264_v4l2m2m --disable-decoder=vp8_v4l2m2m
–disable-decoder=mpeg2_v4l2m2m --disable- decoder=mpeg4_v4l2m2m
–enable-shared --enable-version3 --disable-doc --disable-programs
–enable -libaribb24 --enable-libopencore_amrnb
–enable-libopencore_amrwb --enable-libtesseract --enable-
libvo_amrwbenc --enable-libsmbclient
avformat configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1
–toolchain=hardened
–libdir=/usr/lib/aarch64-linux-gnu
–incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable -gpl
–disable-stripping --enable-gnutls --enable-ladspa --enable-libaom
–enable-libass --enable -libbluray --enable-libbs2b --enable-libcaca
–enable-libcdio --enable-libcodec2 --enable-libdav1 d --enable-libflite
–enable-libfontconfig --enable-libfreetype --enable-libfribidi
–enable-libg me --enable-libgsm --enable-libjack --enable-libmp3lame
–enable-libmysofa --enable-libopenjpeg - -enable-libopenmpt
–enable-libopus --enable-libpulse --enable-librabbitmq
–enable-librubberband
–enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex
–enable-libsrt --enable
-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab
–enable-libvorbis --enable-li bvpx --enable-libwebp --enable-libx265
–enable-libxml2 --enable-libxvid --enable-libzimg --enabl e-libzmq
–enable-libzvbi --enable-lv2 --enable-omx --enable-openal
–enable-opencl --enable-open gl --enable-sdl2 --disable-cuvid
–enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enab
le-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r
–enable-libx264 --enable-lib drm --enable-rkmpp --enable-version3
–disable-libopenh264 --disable-vaapi --disable-vdpau --disa
ble-decoder=h264_v4l2m2m --disable-decoder=vp8_v4l2m2m
–disable-decoder=mpeg2_v4l2m2m --disable- decoder=mpeg4_v4l2m2m
–enable-shared --enable-version3 --disable-doc --disable-programs
–enable -libaribb24 --enable-libopencore_amrnb
–enable-libopencore_amrwb --enable-libtesseract --enable-
libvo_amrwbenc --enable-libsmbclient
avfilter configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1
–toolchain=hardened
–libdir=/usr/lib/aarch64-linux-gnu
–incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable -gpl
–disable-stripping --enable-gnutls --enable-ladspa --enable-libaom
–enable-libass --enable -libbluray --enable-libbs2b --enable-libcaca
–enable-libcdio --enable-libcodec2 --enable-libdav1 d --enable-libflite
–enable-libfontconfig --enable-libfreetype --enable-libfribidi
–enable-libg me --enable-libgsm --enable-libjack --enable-libmp3lame
–enable-libmysofa --enable-libopenjpeg - -enable-libopenmpt
–enable-libopus --enable-libpulse --enable-librabbitmq
–enable-librubberband
–enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex
–enable-libsrt --enable
-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab
–enable-libvorbis --enable-li bvpx --enable-libwebp --enable-libx265
–enable-libxml2 --enable-libxvid --enable-libzimg --enabl e-libzmq
–enable-libzvbi --enable-lv2 --enable-omx --enable-openal
–enable-opencl --enable-open gl --enable-sdl2 --disable-cuvid
–enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enab
le-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r
–enable-libx264 --enable-lib drm --enable-rkmpp --enable-version3
–disable-libopenh264 --disable-vaapi --disable-vdpau --disa
ble-decoder=h264_v4l2m2m --disable-decoder=vp8_v4l2m2m
–disable-decoder=mpeg2_v4l2m2m --disable- decoder=mpeg4_v4l2m2m
–enable-shared --enable-version3 --disable-doc --disable-programs
–enable -libaribb24 --enable-libopencore_amrnb
–enable-libopencore_amrwb --enable-libtesseract --enable-
libvo_amrwbenc --enable-libsmbclient
libavutil 56. 70.100 / 56. 70.100 libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100 libavdevice 58. 13.100 / 58.
13.100 libavfilter 7.110.100 / 7.110.100 libswscale 5. 9.100 / 5.
9.100 libswresample 3. 9.100 / 3. 9.100 libpostproc 55. 9.100 / 55.
9.100
arm_release_ver of this libmali is ‘g6p0-01eac0’, rk_so_ver is ‘6’.
[video4linux2,v4l2 @ 0xffff84000c10] ioctl(VIDIOC_G_INPUT): Inappropriate ioctl for device
[video4linux2,v4l2 @ 0xffff84000c10] ioctl(VIDIOC_G_PARM): Inappropriate ioctl for device
[video4linux2,v4l2 @ 0xffff84000c10] Time per frame unknown
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0

  1. In second terminal while ffplay is working

dmesg|grep imx

Result:

rock@rock5c:~$ dmesg|grep imx
[ 11.812637] platform csi2-dphy0: Fixed dependency cycle(s) with /i2c@feab0000 /imx415@1a [ 11.904894] imx415 3-001a: driver version: 00.01.08
[ 11.904903] imx415 3-001a: camera-vflip: 0
[ 11.904908] imx415 3-001a: camera-vflip: 0
[ 11.904916] imx415 3-001a: detect imx415 lane 4
[ 11.904955] imx415 3-001a: Failed to get power-gpios
[ 11.904960] imx415 3-001a: could not get default pinstate
[ 11.904963] imx415 3-001a: could not get sleep pinstate
[ 11.904967] imx415 3-001a: Looking up dvdd-supply from device tree
[ 11.904971] imx415 3-001a: Looking up dvdd-supply property in node /i2c@feab0 000/imx415@1a failed
[ 11.904985] imx415 3-001a: supply dvdd not found, using dummy regulator
[ 11.905019] imx415 3-001a: Looking up dovdd-supply from device tree
[ 11.905022] imx415 3-001a: Looking up dovdd-supply property in node /i2c@feab 0000/imx415@1a failed
[ 11.905029] imx415 3-001a: supply dovdd not found, using dummy regulator
[ 11.905042] imx415 3-001a: Looking up avdd-supply from device tree
[ 11.905044] imx415 3-001a: Looking up avdd-supply property in node /i2c@feab0 000/imx415@1a failed
[ 11.905050] imx415 3-001a: supply avdd not found, using dummy regulator
[ 11.976541] imx415 3-001a: Detected imx415 id 0000e0
[ 12.006449] imx415 3-001a: Consider updating driver imx415 to match on endpoints
[ 12.006471] rockchip-csi2-dphy csi2-dphy0: dphy0 matches m00_b_imx415 3-001a: bus type 5
[ 14.114240] imx415 3-001a: set exposure(shr0) 2047 = cur_vts(2250) - val(203)
[ 714.229919] imx415 3-001a: s_stream: 1. 3864x2192, hdr: 0, bpp: 10
[ 714.282275] imx415 3-001a: set vblank 0x3a vts 2250
[ 714.283507] imx415 3-001a: set exposure(shr0) 2047 = cur_vts(2250) - val(203)
[ 714.284323] imx415 3-001a: set analog gain 0x0
[ 736.417867] imx415 3-001a: s_stream: 0. 3864x2192, hdr: 0, bpp: 10
[ 777.597929] imx415 3-001a: s_stream: 1. 3864x2192, hdr: 0, bpp: 10
[ 777.652533] imx415 3-001a: set vblank 0x3a vts 2250
[ 777.654068] imx415 3-001a: set exposure(shr0) 2047 = cur_vts(2250) - val(203)
[ 777.654987] imx415 3-001a: set analog gain 0x0

I have some troubles with gstreamer, I will try to repair it

You must install that mpp.zip (attached) to fix gstreamer.

Anyway, reading your dmesg, it looks like the streaming has not started. Check the cable or if some components are too hot.

Here is how a log should look like when receiving the stream:

[  300.347496] imx415 3-001a: set vblank 0x3a vts 2250
[  300.349276] imx415 3-001a: set exposure(shr0) 2047 = cur_vts(2250) - val(203)
[  300.350358] imx415 3-001a: set analog gain 0x0
[  300.471205] imx415 3-001a: set exposure(shr0) 1932 = cur_vts(2250) - val(318)
[  300.503581] imx415 3-001a: set exposure(shr0) 1583 = cur_vts(2250) - val(667)
[  300.536686] imx415 3-001a: set exposure(shr0) 1168 = cur_vts(2250) - val(1082)
[  300.570250] imx415 3-001a: set exposure(shr0) 831 = cur_vts(2250) - val(1419)
[  300.603759] imx415 3-001a: set exposure(shr0) 597 = cur_vts(2250) - val(1653)
[  300.636875] imx415 3-001a: set exposure(shr0) 383 = cur_vts(2250) - val(1867)
[  300.670345] imx415 3-001a: set exposure(shr0) 225 = cur_vts(2250) - val(2025)
[  300.703000] imx415 3-001a: set analog gain 0x3
[  300.736402] imx415 3-001a: set analog gain 0x5
[  300.769615] imx415 3-001a: set analog gain 0x7
[  300.803602] imx415 3-001a: set analog gain 0x8
[  300.837083] imx415 3-001a: set analog gain 0x9
[  300.870597] imx415 3-001a: set analog gain 0xa
[  300.902847] imx415 3-001a: set analog gain 0xb
[  301.003153] imx415 3-001a: set analog gain 0xc
[  304.034171] imx415 3-001a: s_stream: 0. 3864x2192, hdr: 0, bpp: 10
[64593.085784] imx415 3-001a: s_stream: 1. 3864x2192, hdr: 0, bpp: 10
[64593.142418] imx415 3-001a: set vblank 0x3a vts 2250
[64593.143878] imx415 3-001a: set exposure(shr0) 225 = cur_vts(2250) - val(2025)
[64593.144863] imx415 3-001a: set analog gain 0xc
[64593.296634] imx415 3-001a: set analog gain 0xb
[64593.329901] imx415 3-001a: set analog gain 0x9
[64593.363560] imx415 3-001a: set analog gain 0x8
[64593.463606] imx415 3-001a: set analog gain 0x7
[64593.496999] imx415 3-001a: set analog gain 0x6
[64593.563512] imx415 3-001a: set analog gain 0x5
[64595.228005] imx415 3-001a: s_stream: 0. 3864x2192, hdr: 0, bpp: 10
[72037.952164] imx415 3-001a: s_stream: 1. 3864x2192, hdr: 0, bpp: 10
[72038.011104] imx415 3-001a: set vblank 0x3a vts 2250
[72038.012685] imx415 3-001a: set exposure(shr0) 225 = cur_vts(2250) - val(2025)

Update:

And check if 3A engine is still running (if not, you get a really, really DARK image):

rock5b example:

`sudo systemctl status rkaiq_3A
● rkaiq_3A.service - rkisp 3A engine
Loaded: loaded (/lib/systemd/system/rkaiq_3A.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2025-01-08 19:12:49 -03; 5 days ago
Process: 612 ExecStart=/etc/init.d/rkaiq_3A.sh start (code=exited, status=0/SUCCESS)
Tasks: 13 (limit: 17379)
Memory: 11.4M
CPU: 4min 37.330s
CGroup: /system.slice/rkaiq_3A.service
├─654 /usr/bin/rkaiq_3A_server
└─656 logger -t rkaiq

Jan 13 16:07:24 rock5b rkaiq[656]: DBG: /dev/media1: wait stream start event success …
Jan 13 16:07:24 rock5b rkaiq[656]: DBG: /dev/media1: wait stream stop event…
Jan 13 16:07:42 rock5b rkaiq[656]: CAMHW:K:camId:0, notify_isp_stream_status off
Jan 13 16:07:42 rock5b rkaiq[656]: DBG: /dev/media1: wait stream stop event success …
Jan 13 16:07:42 rock5b rkaiq[656]: XCORE:K:cid[0] rk_aiq_uapi_sysctl_stop success.
Jan 13 16:07:42 rock5b rkaiq[656]: DBG: device manager start
Jan 13 16:07:42 rock5b rkaiq[656]: CAMHW:K:cid[0] start success. isGroup:0, isOnline:1, isMultiIsp:0, init_ens:0x19fccffe473b
Jan 13 16:07:42 rock5b rkaiq[656]: XCORE:K:cid[0] rk_aiq_uapi_sysctl_start success.
Jan 13 16:07:42 rock5b rkaiq[656]: DBG: rkisp_init engine succeed
Jan 13 16:07:42 rock5b rkaiq[656]: DBG: /dev/media1: wait stream start event…
`