Jump to content

Recommended Posts

Posted

Hi, 

I am not able to make Radxa Camera 8M to work with Armbian_24.5.3_Radxa-zero3_bookworm_vendor_6.1.43_minimal.img and Armbian_24.5.1_Radxa-zero3_noble_vendor_6.1.43.img

gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=1920,height=1080 ! jpegenc ! multifilesink location=/home/a2t/test.jpg
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.001604801
Setting pipeline to NULL ...
Freeing pipeline ...

root@radxa-zero3:~# v4l2-ctl -i /dev/video0 --list-formats
VIDIOC_S_INPUT: failed: Inappropriate ioctl for device
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture Multiplanar

        [0]: 'UYVY' (UYVY 4:2:2)
        [1]: '422P' (Planar YUV 4:2:2)
        [2]: 'NV16' (Y/UV 4:2:2)
        [3]: 'NV61' (Y/VU 4:2:2)
        [4]: 'YM16' (Planar YUV 4:2:2 (N-C))
        [5]: 'NV21' (Y/VU 4:2:0)
        [6]: 'NV12' (Y/UV 4:2:0)
        [7]: 'NM21' (Y/VU 4:2:0 (N-C))
        [8]: 'NM12' (Y/UV 4:2:0 (N-C))
        [9]: 'YU12' (Planar YUV 4:2:0)
        [10]: 'YM24' (Planar YUV 4:4:4 (N-C))
root@radxa-zero3:~# v4l2-ctl --device=/dev/video0 --all
Driver Info:
        Driver name      : rkisp_v5
        Card type        : rkisp_mainpath
        Bus info         : platform:rkisp-vir0
        Driver version   : 2.4.0
        Capabilities     : 0x84201000
                Video Capture Multiplanar
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04201000
                Video Capture Multiplanar
                Streaming
                Extended Pix Format
Media Driver Info:
        Driver name      : rkisp-vir0
        Model            : rkisp0
        Serial           :
        Bus info         : platform:rkisp-vir0
        Media version    : 6.1.43
        Hardware revision: 0x00000000 (0)
        Driver version   : 6.1.43
Interface Info:
        ID               : 0x0300000e
        Type             : V4L Video
Entity Info:
        ID               : 0x0000000d (13)
        Name             : rkisp_mainpath
        Function         : V4L2 I/O
        Pad 0x01000010   : 0: Sink
          Link 0x02000011: from remote pad 0x1000004 of entity 'rkisp-isp-subdev' (Unknown V4L2 Sub-Device): Data, Enabled
Priority: 2
Format Video Capture Multiplanar:
        Width/Height      : 0/0
        Pixel Format      : ''
        Field             : Any
        Number of planes  : 0
        Flags             :
        Colorspace        : Default
        Transfer Function : Default
        YCbCr/HSV Encoding: Default
        Quantization      : Default
Selection Video Capture: crop, Left 0, Top 0, Width 0, Height 0, Flags:
Selection Video Capture: crop_bounds, Left 0, Top 0, Width 800, Height 600, Flags:
Selection Video Output: crop, Left 0, Top 0, Width 0, Height 0, Flags:
Selection Video Output: crop_bounds, Left 0, Top 0, Width 800, Height 600, Flags:

What should be done to get the image 

Posted

Same problem, at first I used DietPi OS but I got another error, no hardware recognition.
I tried Radxa OS for Radxa Zero 3W but the CLI version is apparently buggy...
And I finally arrived at the same point as you, same problem with the same configuration... 
 

# Setup the WiFi and SSH before flashing

mkdir -p armbian_mount/boot armbian_mount/root

sudo losetup -Pf Armbian_24.5.3_Radxa-zero3_bookworm_vendor_6.1.43_minimal.img

losetup -a

sudo mount /dev/loop12p1 armbian_mount/boot

sudo mount /dev/loop12p2 armbian_mount/root

sudo touch armbian_mount/boot/ssh

sudo nano armbian_mount/root/etc/netplan/10-dhcp-all-interfaces.yaml

```

network:

version: 2

renderer: networkd

ethernets:

eth0:

dhcp4: true

optional: true

wifis:

wlan0:

dhcp4: true

optional: true

access-points:

"YOUR_WIFI_SSID":

password: "YOUR_WIFI_PASSWORD"

```

sudo umount armbian_mount/boot

sudo umount armbian_mount/root

sudo losetup -d /dev/loop12

 

# This is my cmd (with Arch Linux) for flashing the OS on the eMMC

sudo rkdeveloptool ld

sudo rkdeveloptool db rk356x_spl_loader_ddr1056_v1.12.109_no_check_todly.bin

sudo rkdeveloptool ef

sudo rkdeveloptool wl 0 Armbian_24.5.3_Radxa-zero3_bookworm_vendor_6.1.43_minimal.img

sudo rkdeveloptool rd

 

# Wait 5s and connect to your Radxa with SSH

ssh root@YOUR_IP

sudo apt-get upgrade && sudo apt-get update

sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly

sudo apt-get install v4l-utils

armbian-add-overlay radxa-zero3-rpi-camera-v2.dts

sudo reboot

 

# More info cmd/bug:

gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=1920,height=1080 ! jpegenc ! multifilesink location=/home/test.jpg

```

root@radxa-zero3:~# gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=1920,height=1080 ! jpegenc ! multifilesink location=/home/test.jpg

Setting pipeline to PAUSED ...

Pipeline is live and does not need PREROLL ...

Pipeline is PREROLLED ...

Setting pipeline to PLAYING ...

New clock: GstSystemClock

ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.

Additional debug info:

../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:

streaming stopped, reason not-negotiated (-4)

Execution ended after 0:00:00.003362617

Setting pipeline to NULL ...

Freeing pipeline ...

```

 

root@radxa-zero3:/home# gst-launch-1.0 v4l2src device=/dev/video0 ! fakesink

```

Setting pipeline to PAUSED ...

Pipeline is live and does not need PREROLL ...

Pipeline is PREROLLED ...

Setting pipeline to PLAYING ...

New clock: GstSystemClock

ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.

Additional debug info:

../sys/v4l2/gstv4l2src.c(976): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:

Buffer pool activation failed

ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.

Execution ended after 0:00:00.009337640

Additional debug info:

../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:

streaming stopped, reason not-negotiated (-4)

Setting pipeline to NULL ...

Freeing pipeline ...

```

 

root@radxa-zero3:/home# dmesg | grep video

```

videodev: Linux video capture interface: v2.00

mpp_service mpp-srv: 6849c1e28b7b author: Ding Wei 2023-12-28 video: rockchip: mpp: px30: fix issue combo_init when device probe

usbcore: registered new interface driver uvcvideo

rockchip-dmc dmc: video_4k_rate = 780000000

rockchip-dmc dmc: video_4k_10b_rate = 780000000

WARNING: CPU: 3 PID: 1673 at drivers/media/common/videobuf2/videobuf2-core.c:835 vb2_core_reqbufs+0x310/0x408

__video_do_ioctl+0x260/0x37c

video_usercopy+0x2b8/0x5e4

video_ioctl2+0x20/0x30

```

 

root@radxa-zero3:/home# dmesg | grep v4l2

```

rockchip-mipi-csi2-hw fdfb0000.mipi-csi2-hw: probe success, v4l2_dev:mipi-csi2-hw!

CPU: 3 PID: 1673 Comm: v4l2-ctl Not tainted 6.1.43-vendor-rk35xx #1

v4l2_ioctl+0x50/0x78

```

 

root@radxa-zero3:/home# GST_DEBUG=3 gst-launch-1.0 v4l2src device=/dev/video0 ! fakesink

```

Setting pipeline to PAUSED ...

Pipeline is live and does not need PREROLL ...

Pipeline is PREROLLED ...

Setting pipeline to PLAYING ...

0:00:00.214107090 4321 0xaaaae4668400 WARN v4l2 gstv4l2object.c:4675:gst_v4l2_object_probe_caps:<v4l2src0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Invalid argument

New clock: GstSystemClock

0:00:00.216999881 4321 0xaaaae4668400 WARN v4l2 gstv4l2object.c:4485:gst_v4l2_object_get_crop_rect:<v4l2src0:src> Failed to get default crop rectangle with VIDIOC_G_SELECTION: Invalid argument

0:00:00.217261509 4321 0xaaaae4668400 WARN v4l2 gstv4l2object.c:3228:gst_v4l2_object_reset_compose_region:<v4l2src0:src> Failed to get default compose rectangle with VIDIOC_G_SELECTION: Invalid argument

0:00:00.222463456 4321 0xaaaae4668400 WARN v4l2bufferpool gstv4l2bufferpool.c:848:gst_v4l2_buffer_pool_start:<v4l2src0:pool0:src> Uncertain or not enough buffers, enabling copy threshold

0:00:00.224169730 4321 0xaaaae4668400 ERROR v4l2bufferpool gstv4l2bufferpool.c:712:gst_v4l2_buffer_pool_streamon:<v4l2src0:pool0:src> error with STREAMON 19 (No such device)

0:00:00.224277065 4321 0xaaaae4668400 ERROR bufferpool gstbufferpool.c:572:gst_buffer_pool_set_active:<v4l2src0:pool0:src> start failed

0:00:00.224536068 4321 0xaaaae4668400 WARN v4l2src gstv4l2src.c:976:gst_v4l2src_decide_allocation:<v4l2src0> error: Failed to allocate required memory.

0:00:00.224573694 4321 0xaaaae4668400 WARN v4l2src gstv4l2src.c:976:gst_v4l2src_decide_allocation:<v4l2src0> error: Buffer pool activation failed

ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Failed to allocate required memory.

Additional debug info:

../sys/v4l2/gstv4l2src.c(976): gst_v4l2src_decide_allocation (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:

Buffer pool activation failed

0:00:00.225619333 4321 0xaaaae4668400 WARN basesrc gstbasesrc.c:3352:gst_base_src_prepare_allocation:<v4l2src0> Subclass failed to decide allocation

0:00:00.225778585 4321 0xaaaae4668400 WARN basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: Internal data stream error.

0:00:00.225824378 4321 0xaaaae4668400 WARN basesrc gstbasesrc.c:3132:gst_base_src_loop:<v4l2src0> error: streaming stopped, reason not-negotiated (-4)

ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.

Execution ended after 0:00:00.012100543

Additional debug info:

../libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:

streaming stopped, reason not-negotiated (-4)

Setting pipeline to NULL ...

Freeing pipeline ...

```

Posted (edited)

Did you manage to launch the camera?

I used the following DTS Taken from here, But it hasn't worked out yet

https://github.com/radxa-pkg/radxa-overlays/tree/main/arch/arm64/boot/dts/rockchip/overlays

And loaded via sudo armbian-add-overlay

/dts-v1/;
/plugin/;

/ {
	metadata {
		title = "Enable Radxa Camera 8M 219";
		compatible = "radxa,zero3";
		category = "camera";
		exclusive = "csi2_dphy0";
		description = "Enable Radxa Camera 8M 219.";
	};
};

&{/} {
	clk_cam_24m: external-camera-clock-24m {
		status = "okay";
		compatible = "fixed-clock";
		clock-frequency = <24000000>;
		clock-output-names = "clk_cam_24m";
		#clock-cells = <0>;
	};

	camera_pwdn_gpio: camera-pwdn-gpio {
		status = "okay";
		compatible = "regulator-fixed";
		regulator-name = "camera_pwdn_gpio";
		regulator-always-on;
		regulator-boot-on;
		enable-active-high;
		gpio = <&gpio3 22 0>;
	};
};

&i2c2 {
	status = "okay";
	pinctrl-names = "default";
	pinctrl-0 = <&i2c2m1_xfer>;
	#address-cells = <1>;
	#size-cells = <0>;

	camera_imx219: camera-imx219@10 {
		status = "okay";
		compatible = "sony,imx219";
		reg = <0x10>;
		clocks = <&clk_cam_24m>;
		clock-names = "xvclk";
		rockchip,camera-module-index = <0>;
		rockchip,camera-module-facing = "back";
		rockchip,camera-module-name = "RADXA-CAMERA-8M";
		rockchip,camera-module-lens-name = "default";

		port {
			ucam_out0: endpoint {
				remote-endpoint = <&mipi_in_ucam0>;
				data-lanes = <1 2>;
			};
		};
	};
};

&csi2_dphy_hw {
	status = "okay";
};

&csi2_dphy0 {
	status = "okay";

	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;

			mipi_in_ucam0: endpoint@1 {
				reg = <1>;
				remote-endpoint = <&ucam_out0>;
				data-lanes = <1 2>;
			};
		};

		port@1 {
			reg = <1>;
			#address-cells = <1>;
			#size-cells = <0>;

			dphy0_out: endpoint@1 {
				reg = <1>;
				remote-endpoint = <&isp0_in>;
			};
		};
	};
};

&rkisp_vir0 {
	status = "okay";

	port {
		#address-cells = <1>;
		#size-cells = <0>;

		isp0_in: endpoint@0 {
			reg = <0>;
			remote-endpoint = <&dphy0_out>;
		};
	};
};

&rkisp {
	status = "okay";
};

&rkisp_mmu {
	status = "okay";
};

&rkcif_mmu {
	status = "okay";
};

&rkcif {
	status = "okay";
};

 

Edited by Viktor Nikitin
Posted

I think there is some error in the driver

need to compare the source code from Radxa Debian B6 and Armbian

 

Connect dtbo or compile dts for the desired camera (I tested both Raspberry camera V2 and Radxa 8M)

enter the command (pre-install the v4l-utils package):

media-ctl -d /dev/media0 -p -v

in Debian b6 will be at the end of the command output:

 

image.png.28bb9d5cb280e7dcc054daa92086c0b1.png

 

 

In Armbian it will be like this:

image.png.5741980a95eb7deac93e1ad8540c1a67.png

 

Apparently, something was not initialized...

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines