I've quickly resurrected my FPDLink branch, ported to 6.12, and pushed it to https://github.com/6by9/linux/tree/rpi-6.12.y-fpdlink
libcamera does detect the cameras, but in the same way you're seeing, I getfrom libcamera, andfrom the kernel logs
My media controller tree isSame as you, we have pads that still have their default format (640x480 UYVY8_1X16 for me).
Time to put in a load of logging for what formats are and aren't getting configured.
It looks like the FPDlink and GMSL drivers reject setting the format on the source pad, and will just return the current format. video-mux will accept it under some situations. So I wonder if the format is getting messed up there.
libcamera does detect the cameras, but in the same way you're seeing, I get
Code:
[0:06:31.261517540] [1280] ERROR V4L2 v4l2_videodevice.cpp:1994 /dev/video4[32:cap]: Failed to start streaming: Broken pipe
Code:
rp1-cfe 1f00128000.csi: Failed to start media pipeline: -32
My media controller tree is
Code:
pi@bookworm64-1:~ $ media-ctl -p -d 1Media controller API version 6.12.0Media device information------------------------driver rp1-cfemodel rp1-cfeserial bus info platform:1f00128000.csihw revision 0x114666driver version 6.12.0Device topology- entity 1: csi2 (8 pads, 8 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev0pad0: Sink[fmt:SBGGR10_1X10/1640x1232 field:none colorspace:raw]<- "ds90ub960 11-0030":2 [ENABLED,IMMUTABLE]pad1: Sink[fmt:unknown/16384x1 field:none]pad2: Sink[fmt:SRGGB10_1X10/640x480 field:none colorspace:raw xfer:none ycbcr:601 quantization:full-range]pad3: Sink[fmt:SRGGB10_1X10/640x480 field:none colorspace:raw xfer:none ycbcr:601 quantization:full-range]pad4: Source[fmt:SBGGR16_1X16/1640x1232 field:none colorspace:raw]-> "rp1-cfe-csi2_ch0":0 []-> "pisp-fe":0 [ENABLED]pad5: Source[fmt:unknown/16384x1 field:none]-> "rp1-cfe-embedded":0 []pad6: Source[fmt:SRGGB10_1X10/640x480 field:none colorspace:raw xfer:none ycbcr:601 quantization:full-range]-> "rp1-cfe-csi2_ch2":0 []-> "pisp-fe":0 []pad7: Source[fmt:SRGGB10_1X10/640x480 field:none colorspace:raw xfer:none ycbcr:601 quantization:full-range]-> "rp1-cfe-csi2_ch3":0 []-> "pisp-fe":0 []- entity 10: pisp-fe (5 pads, 7 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev1pad0: Sink[fmt:SBGGR16_1X16/1640x1232 field:none colorspace:raw]<- "csi2":4 [ENABLED]<- "csi2":6 []<- "csi2":7 []pad1: Sink[fmt:FIXED/16384x1 field:none]<- "rp1-cfe-fe_config":0 [ENABLED]pad2: Source[fmt:SBGGR16_1X16/1640x1232 field:none colorspace:raw]-> "rp1-cfe-fe_image0":0 [ENABLED]pad3: Source[fmt:SBGGR16_1X16/1640x1232 field:none colorspace:raw]-> "rp1-cfe-fe_image1":0 []pad4: Source[fmt:FIXED/16384x1 field:none]-> "rp1-cfe-fe_stats":0 [ENABLED]- entity 16: ds90ub960 11-0030 (3 pads, 3 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev2pad0: Sink[fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]<- "ds90ub953 11-0044":1 [ENABLED,IMMUTABLE]pad1: Sink<- "ds90ub953 11-0045":1 [ENABLED,IMMUTABLE]pad2: Source[fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]-> "csi2":0 [ENABLED,IMMUTABLE]- entity 20: ds90ub953 11-0044 (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev3pad0: Sink[fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]<- "imx219 15-0010":0 [ENABLED,IMMUTABLE]pad1: Source[fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]-> "ds90ub960 11-0030":0 [ENABLED,IMMUTABLE]- entity 25: ds90ub953 11-0045 (2 pads, 2 links) type V4L2 subdev subtype Unknown flags 0 device node name /dev/v4l-subdev4pad0: Sink[fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]<- "imx219 16-0010":0 [ENABLED,IMMUTABLE]pad1: Source[fmt:UYVY8_1X16/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:lim-range]-> "ds90ub960 11-0030":1 [ENABLED,IMMUTABLE]- entity 30: imx219 15-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev5pad0: Source[fmt:SBGGR8_1X8/3280x2464 field:none colorspace:raw xfer:none ycbcr:601 quantization:full-range crop.bounds:(8,8)/3280x2464 crop:(8,8)/3280x2464]-> "ds90ub953 11-0044":0 [ENABLED,IMMUTABLE]- entity 34: imx219 16-0010 (1 pad, 1 link) type V4L2 subdev subtype Sensor flags 0 device node name /dev/v4l-subdev6pad0: Source[fmt:SBGGR10_1X10/1640x1232 field:none colorspace:raw xfer:none ycbcr:601 quantization:full-range crop.bounds:(8,8)/3280x2464 crop:(8,8)/3280x2464]-> "ds90ub953 11-0045":0 [ENABLED,IMMUTABLE]- entity 38: rp1-cfe-csi2_ch0 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video0pad0: Sink<- "csi2":4 []- entity 42: rp1-cfe-embedded (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video1pad0: Sink<- "csi2":5 []- entity 46: rp1-cfe-csi2_ch2 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video2pad0: Sink<- "csi2":6 []- entity 50: rp1-cfe-csi2_ch3 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video3pad0: Sink<- "csi2":7 []- entity 54: rp1-cfe-fe_image0 (1 pad, 1 link) type Node subtype V4L flags 1 device node name /dev/video4pad0: Sink<- "pisp-fe":2 [ENABLED]- entity 58: rp1-cfe-fe_image1 (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video5pad0: Sink<- "pisp-fe":3 []- entity 62: rp1-cfe-fe_stats (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video6pad0: Sink<- "pisp-fe":4 [ENABLED]- entity 66: rp1-cfe-fe_config (1 pad, 1 link) type Node subtype V4L flags 0 device node name /dev/video7pad0: Source-> "pisp-fe":1 [ENABLED]
Time to put in a load of logging for what formats are and aren't getting configured.
It looks like the FPDlink and GMSL drivers reject setting the format on the source pad, and will just return the current format. video-mux will accept it under some situations. So I wonder if the format is getting messed up there.
Statistics: Posted by 6by9 — Fri Nov 22, 2024 1:33 pm