Public bug reported:

This is for video4linux, libv4l or related.

There appears to be an issue in or around bcm2835-v4l2 not
detecting/configuring/exposing the second camera in Ubuntu Server
20.04.1 on the Raspberry Pi Compute Module 3+ hardware.

Followed the official instructions at
https://www.raspberrypi.org/documentation/hardware/computemodule/cmio-
camera.md and used the .dts file they supplied
(https://www.raspberrypi.org/documentation/hardware/computemodule/dt-
blob-dualcam.dts)

First, I confirmed that compiling the dt-blob.bin file and dropping it
to /boot/dt-blob.bin made it work in Raspberry Pi OS: I could capture
images from either of the cameras. (Expected behavior)

However, after switching to Ubuntu Server 20.04.1 (from
https://ubuntu.com/download/raspberry-pi) and compiling the same
suggested dual .dts and dropping it to /boot/firmware/dt-blob.bin the
system only provides /dev/video0. In both cases ‘start_x=1’ is present
in config.txt

It appears that the loop in
drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c is not
executed for each camera present and configured in RPi CM3+, resulting
in only one camera exposed to the end user. The value of
MAX_BCM2835_CAMERAS of 2 should be respected; something in the
code/default configuration/environment is affecting this functionality.

Here’s what I see in dmsg:

Raspberry Pi OS:

[    7.674728] videodev: Linux video capture interface: v2.00
[    7.740370] bcm2835-isp bcm2835-isp: Device node output[0] registered as 
/dev/video13
[    7.740908] bcm2835-isp bcm2835-isp: Device node capture[0] registered as 
/dev/video14
[    7.741486] bcm2835-isp bcm2835-isp: Device node capture[1] registered as 
/dev/video15
[    7.742841] bcm2835-isp bcm2835-isp: Device node stats[2] registered as 
/dev/video16
[    9.004310] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[    9.013003] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[    9.022054] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[    9.025325] bcm2835-v4l2: V4L2 device registered as video0 - stills mode > 
1280x720
[    9.033622] bcm2835-v4l2: Broadcom 2835 MMAL video capture ver 0.0.2 loaded.
[    9.062931] bcm2835-v4l2: V4L2 device registered as video1 - stills mode > 
1280x720
[    9.068984] bcm2835-v4l2: Broadcom 2835 MMAL video capture ver 0.0.2 loaded.

$ v4l2-ctl --list-devices
bcm2835-codec-decode (platform:bcm2835-codec):
        /dev/video10
        /dev/video11
        /dev/video12

bcm2835-isp (platform:bcm2835-isp):
        /dev/video13
        /dev/video14
        /dev/video15
        /dev/video16

mmal service 16.1 (platform:bcm2835-v4l2):
        /dev/video0
        /dev/video1

Ubuntu 20.04.1:

[   12.700652] videodev: Linux video capture interface: v2.00
[   12.995520] bcm2835-isp bcm2835-isp: Device node output[0] registered as 
/dev/video13
[   12.995871] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[   12.995953] bcm2835-isp bcm2835-isp: Device node capture[0] registered as 
/dev/video14
[   12.997342] bcm2835-isp bcm2835-isp: Device node capture[1] registered as 
/dev/video15
[   12.997740] bcm2835-isp bcm2835-isp: Device node stats[2] registered as 
/dev/video16
[   13.003552] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[   13.011487] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[   14.258871] bcm2835-v4l2: V4L2 device registered as video0 - stills mode > 
1280x720
[   14.264316] bcm2835-v4l2: Broadcom 2835 MMAL video capture ver 0.0.2 loaded.

$ v4l2-ctl --list-devices
bcm2835-codec-decode (platform:bcm2835-codec):
        /dev/video10
        /dev/video11
        /dev/video12

bcm2835-isp (platform:bcm2835-isp):
        /dev/video13
        /dev/video14
        /dev/video15
        /dev/video16

mmal service 16.1 (platform:bcm2835-v4l2):
        /dev/video0

Note the log line ‘V4L2 device registered as video1’ is not reported in
Ubuntu.

In terms of hardware the cameras are configured properly and detectable;
the hardware is exactly the same, the only difference is the OS which is
swapped by means of swapping microSD cards containing Raspberry Pi OS
and Ubuntu 20 respectively.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.1 LTS
Release:        20.04
Codename:       focal

** Affects: libv4l (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1904306

Title:
  bcm2835-v4l2 does not detect/expose the second camera on RPi Compute
  Module 3+ in Ubuntu Server 20.04.1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libv4l/+bug/1904306/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to