Skip to content

CSI camera

Frank Bauernöppel edited this page Feb 20, 2017 · 38 revisions

Tested with RasPi Cam V2 which connects to the MIPI CSI-2 interface on connector J3.

Installation and Configuration

Power off and connect camera module connect to CSI connector.

When (re-)booting, config.txt must contain a line

start_x=1

otherwise, the camera cannot be used and you get a ENOMEM error.

raspistill for still imaging (testing)

First still image test:

raspistill -o raspistill.jpg
file raspistill.jpg

But this is BCM specific, better enable V4L2 device:

video for linux (v4l2) device driver

modprobe bcm2835-v4l2

Now, the device /dev/video0 can be used. Print device info:

v4l2-ctl --device=0 --all

or check supported video formats:

v4l2-ctl --list-formats-ext

Finally, the driver could also be removed:

modprobe -r bcm2835-v4l2

using gstreamer

gstreamer could be used with raspivid as video source (cf. https://www.raspberrypi.org/forums/viewtopic.php?t=49278&p=664616), but this would be a RasPi specific solution. So we prefer using gstreamer with a V4l2 video source.

using raspivid

using uv4l

Closed source - neither recommended, nor tested. Claims to support WebRTC https://www.linux-projects.org/uv4l/

using cvlc

using a USB camera (webcam) instead of CSI camera

USB has a device class for webcams: UVC UVC support is included in the RasPi image and works plug-and-play.

Tested with Microsoft LifeCam Studio webcam, when V4L2 driver for CSI camera was also loaded

Connect webcam to USB, check kernel log:

root@raspberrypi3:~# dmesg | tail
[ 4016.669518] usb 1-1.4: New USB device found, idVendor=045e, idProduct=0772
[ 4016.673681] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 4016.677794] usb 1-1.4: Product: Microsoft\xffffffc2\xffffffae LifeCam Studio(TM)
[ 4016.681753] usb 1-1.4: Manufacturer: Microsoft
[ 4016.694515] hid-generic 0003:045E:0772.0001: hiddev0,hidraw0: USB HID v1.01 Device [Microsoft Microsoft\xffffffc2\xffffffae LifeCam Studio(TM)] on usb-3f980000.usb-1.4/input4
[ 4016.724801] uvcvideo: Found UVC 1.00 device Microsoft\xffffffc2\xffffffae LifeCam Studio(TM) (045e:0772)
[ 4016.788227] input: Microsoft\xffffffc2\xffffffae LifeCam Studio(TM) as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/input/input0
[ 4016.796404] usbcore: registered new interface driver uvcvideo
[ 4016.800554] USB Video Class driver (1.1.1)
[ 4017.154916] usbcore: registered new interface driver snd-usb-audio

A new video device was created: /dev/video1. This video device works similar to the CSI cam /dev/video0, but there will be differences because different cameras might handle different image sizes, pixel formats, etc.. There may even be differences between different UVC cams, good luck!

Clone this wiki locally