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

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