Skip to content

Troubleshooting

Marijn edited this page Aug 18, 2026 · 13 revisions

Raspberry PI Camera Module Not Detected

Make sure that:

  • you have connected the camera to the right port, the Raspberry PI has two identical ports for the camera module and for the display module
  • the ribbon cable is fully inserted, correctly oriented, and not damaged
  • you are using a genuine Raspberry Pi camera module supported by your camera stack

Legacy MMAL camera stack

Applies to:

  • Raspberry Pi OS Buster and earlier
  • Raspberry Pi OS Bullseye with the Legacy Camera option enabled (raspi-config → Interface Options → Legacy Camera)
  • Only supported by Motion version 4.6 and earlier
  • Not compatible with the Raspberry Pi Camera Module 3

Make sure that:

  • the bcm2835-v4l2 kernel module is loaded (for example by adding it to /etc/modules) and reboot afterwards
  • you have enabled the camera using raspi-config
  • you have allocated at least 128 MB of RAM to the GPU
  • the command raspistill -o cam.jpg captures an image from the camera, without complaining

Libcamera camera stack

Applies to:

  • Raspberry Pi OS Bullseye and later
  • 64-bit operating systems only (an upstream issue currently prevents this approach from working on 32-bit systems)
  • Motion 4.7.1
  • After following the official installation instructions

The libcamera camera stack is not yet natively supported by Motion 4.7. The recommended approach is to use libcamerify, which provides a V4L2 compatibility layer, allowing the camera to be added to motionEye as a V4L2 device.

Before configuring motionEye, verify that the camera is detected and that both commands complete without complaining:

rpicam-hello --list-cameras
rpicam-hello

Then install the required packages:

sudo apt install libcamera-v4l2 libcamera-tools

Configure the motionEye service to start through libcamerify:

sudo sed -i 's|^ExecStart=/usr/local/bin/meyectl|ExecStart=/usr/bin/libcamerify /usr/local/bin/meyectl|' /etc/systemd/system/motioneye.service
sudo systemctl daemon-reload
sudo systemctl restart motioneye

After adding the camera in motionEye, make sure the listed "Camera Device" in the "Video Device" section of the GUI matches the device node (/dev/video*) reported by v4l2-ctl --list-devices for your camera. With only a single camera attached, this will usually be /dev/video0.

Raspberry PI NoIR cameras

When using a Raspberry Pi NoIR camera with the libcamera camera stack, the image may appear blue or green due to incorrect colour balance. This is because the default libcamera tuning file is intended for standard camera modules. NoIR cameras require a dedicated *_noir.json tuning file, which can be selected manually by setting an environment variable in the motionEye systemd service.

First, determine your camera model:

rpicam-hello --list-cameras

Then list the available tuning files. The location depends on your Raspberry Pi model:

# Raspberry Pi 4 and earlier
ls /usr/share/libcamera/ipa/rpi/vc4/

# Raspberry Pi 5 and later
ls /usr/share/libcamera/ipa/rpi/pisp/

Edit the motionEye systemd service:

sudo nano /etc/systemd/system/motioneye.service

Under the [Service] section, add the following environment variable, replacing /vc4/ov5647_noir.json with the correct path and NoIR tuning file for your camera:

Environment=LIBCAMERA_RPI_TUNING_FILE=/usr/share/libcamera/ipa/rpi/vc4/ov5647_noir.json

Finally, reload the systemd configuration and restart motionEye:

sudo systemctl daemon-reload
sudo systemctl restart motioneye

Camera Frame Keeps Showing No Camera Symbol

Make sure you have set the "Frame Rate Dimmer" preference to a value greater than 0.

Getting The Log File

Assuming you're using systemd to run motionEye, the following command will generate the motioneye.log file that you can attach to an issue or simply, to see what's going on under the hood:

journalctl -u motioneye > motioneye.log

Clone this wiki locally