Camera (OV5647) does not work on RPI 4b on RPI 4B

Camera model

'innomaker Raspberry Pi Camera Module 5MP 1080P OV5647'
Here is the link: innomaker Raspberry Pi Camera Module 5MP 1080P OV5647 Sensor with M12 FOV90 IR Filter LEN for Raspberry Pi 4, Pi 3 B+, Pi 3, Pi 2, Pi B+, Pi A, Pi Zero: Amazon.de: Computer & Zubehör

What is the problem?

Unfortunately there is no video stream. After connecting the camera it still worked, but only with 480p resolution. All tips that allowed me to modify the 'octopi.txt' (e.g. camera_raspi_options="-x 1920 -y 1080 -fps 30") did not work because there was no such commented out entry. After I removed all adjustments from the file, nothing worked anymore. Unfortunately I can't solve it.
Here is some more information:

  • OctoPrint version '1.10.3'

  • OctoPi 'Build 2024.11.05.092907 with "webcamd", based on OctoPi 1.0.0, running on Raspberry Pi 4 Model B Rev 1.5'

  • last entry in webcamd.log:
    'Starting up webcamDaemon...

--- Configuration: ----------------------------
cfg_file: /boot/octopi.txt
camera: auto
usb options: -r 640x480 -f 10
raspi options: -fps 10
http options: -w ./www-octopi -n --listen 127.0.0.1

Explicitly set USB device:

Found video devices:
/dev/video10
/dev/video11
/dev/video12
/dev/video13
/dev/video14
/dev/video15
/dev/video16
/dev/video18
/dev/video19
/dev/video20
/dev/video21
/dev/video22
/dev/video23
/dev/video31
config file='/boot/octopi.txt':USB device was not set in options, starting MJPG-streamer with the first found video device: /dev/video10
<13>Nov 14 18:32:37 root: Starting USB webcam
Checking for VL805 (Raspberry Pi 4)...

  • It seems that you don't have VL805 (Raspberry Pi 4).
    There should be no problems with USB (a.k.a. select() timeout)
    Running ./mjpg_streamer -o output_http.so -w ./www-octopi -n --listen 127.0.0.1 -i input_uvc.so -r 640x480 -f 10 -d /dev/video10
    MJPG Streamer Version.: 2.0
    i: Using V4L2 device.: /dev/video10
    i: Desired Resolution: 640 x 480
    i: Frames Per Second.: 10
    i: Format............: JPEG
    i: TV-Norm...........: DEFAULT
    Error opening device /dev/video10: video capture not supported.
    Init v4L2 failed !! exit fatal
    i: init_VideoIn failed
    Done bringing up all configured video devices
    Scanning again in two minutes
    Found video devices:
    /dev/video0
    /dev/video10
    /dev/video11
    /dev/video12
    /dev/video13
    /dev/video14
    /dev/video15
    /dev/video16
    /dev/video18
    /dev/video19
    /dev/video20
    /dev/video21
    /dev/video22
    /dev/video23
    /dev/video31
    config file='/boot/octopi.txt':USB device was not set in options, starting MJPG-streamer with the first found video device: /dev/video0
    <13>Nov 14 18:34:50 root: Starting USB webcam
    Checking for VL805 (Raspberry Pi 4)...
  • It seems that you don't have VL805 (Raspberry Pi 4).
    There should be no problems with USB (a.k.a. select() timeout)
    Running ./mjpg_streamer -o output_http.so -w ./www-octopi -n --listen 127.0.0.1 -i input_uvc.so -r 640x480 -f 10 -d /dev/video0
    MJPG Streamer Version.: 2.0
    i: Using V4L2 device.: /dev/video0
    i: Desired Resolution: 640 x 480
    i: Frames Per Second.: 10
    i: Format............: JPEG
    i: TV-Norm...........: DEFAULT
    i: Could not obtain the requested pixelformat: MJPG , driver gave us: YUYV
    ... will try to handle this by checking against supported formats.
    ... Falling back to YUV mode (consider using -yuv option). Note that this requires much more CPU power
    Unable to query that the FPS change is supported
    : Inappropriate ioctl for device
    UVCIOC_CTRL_ADD - Error at Pan (relative): Inappropriate ioctl for device (25)
    UVCIOC_CTRL_ADD - Error at Tilt (relative): Inappropriate ioctl for device (25)
    UVCIOC_CTRL_ADD - Error at Pan Reset: Inappropriate ioctl for device (25)
    UVCIOC_CTRL_ADD - Error at Tilt Reset: Inappropriate ioctl for device (25)
    UVCIOC_CTRL_ADD - Error at Pan/tilt Reset: Inappropriate ioctl for device (25)
    UVCIOC_CTRL_ADD - Error at Focus (absolute): Inappropriate ioctl for device (25)
    UVCIOC_CTRL_MAP - Error at Pan (relative): Inappropriate ioctl for device (25)
    UVCIOC_CTRL_MAP - Error at Tilt (relative): Inappropriate ioctl for device (25)
    UVCIOC_CTRL_MAP - Error at Pan Reset: Inappropriate ioctl for device (25)
    UVCIOC_CTRL_MAP - Error at Tilt Reset: Inappropriate ioctl for device (25)
    UVCIOC_CTRL_MAP - Error at Pan/tilt Reset: Inappropriate ioctl for device (25)
    UVCIOC_CTRL_MAP - Error at Focus (absolute): Inappropriate ioctl for device (25)
    UVCIOC_CTRL_MAP - Error at LED1 Mode: Inappropriate ioctl for device (25)
    UVCIOC_CTRL_MAP - Error at LED1 Frequency: Inappropriate ioctl for device (25)
    UVCIOC_CTRL_MAP - Error at Disable video processing: Inappropriate ioctl for device (25)
    UVCIOC_CTRL_MAP - Error at Raw bits per pixel: Inappropriate ioctl for device (25)
    o: www-folder-path......: ./www-octopi/
    o: HTTP TCP port........: 8080
    o: HTTP Listen Address..: 127.0.0.1
    o: username:password....: disabled
    o: commands.............: disabled
    libv4l2: error turning on stream: Invalid argument
    Unable to start capture: Invalid argument
    i: Can't enable video in first time
    i: cleaning up resources allocated by input thread
    Done bringing up all configured video devices

Goodbye...'

Can someone help me with this?

Reimage octoprint on a blank SD card, using the version with the new camera stack.

Did you ever find an answer? The separate image for the camera stack doesn't seem to be an option any longer.

The Raspberry Pi Imager v1.8.5 still lists two versions of OctoPi, (stable) and (new camera stack) under "Other specific-purpose OS, 3D printing, OctoPi".

Searching this forum for "OV5647" will yield numerous topics, some of them with solutions.

I'm an idiot and was looking at the wrong thing.

Thanks for pointing it out more clearly for the feeble minded like myself.

2 Likes