Repository navigation
Troubleshooting
- Raspberry PI Camera Module Not Detected
- Legacy MMAL camera stack
- Libcamera camera stack
- Raspberry Pi NoIR cameras
- Camera Frame Keeps Showing No Camera Symbol
- Getting The Log File
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
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-v4l2kernel 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.jpgcaptures an image from the camera, without complaining
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.
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-camerasThen 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.serviceUnder 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.jsonFinally, reload the systemd configuration and restart motionEye:
sudo systemctl daemon-reload
sudo systemctl restart motioneyeMake sure you have set the "Frame Rate Dimmer" preference to a value greater than 0.
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
home | installation | faq