Skip to content

ERROR: Device timeout detected, attempting a restart #927

Description

@karth1203

bug-reports.txt

The Raspberry Pi AI Camera using the IMX500 repeatedly stops streaming when an AI model is loaded.

The normal camera stream works, but when running an official IMX500 post-processing configuration such as MobileNet SSD or PoseNet, the network firmware uploads successfully and the camera later reports:

/dev/video4: Dequeue timer of 1000000.00us has expired!
Camera frontend has timed out!

!!!

The issue reproduces using the official rpicam-hello application without any custom Python application running.

It has been reproduced on two Raspberry Pi 5 systems with two IMX500 AI Camera modules.

Steps to reproduce

Stop any custom camera services:

sudo systemctl stop imx500_timeout_watchdog.service
sudo systemctl stop imx500.service

Run the official PoseNet pipeline:

rpicam-hello
-n
-t 600000
--post-process-file /usr/share/rpi-camera-assets/imx500_posenet.json
--viewfinder-width 1280
--viewfinder-height 720
--framerate 20

The PoseNet network firmware uploads successfully, but /dev/video4 eventually stops delivering frames and the camera frontend times out.

The same issue also occurs with:

rpicam-hello
-n
-t 600000
--post-process-file /usr/share/rpi-camera-assets/imx500_mobilenet_ssd.json
--viewfinder-width 1280
--viewfinder-height 720
--framerate 20

A normal camera test without an IMX500 AI model does not show the same timeout:

rpicam-hello
-n
-t 600000
--viewfinder-width 1280
--viewfinder-height 720
--framerate 20
Expected behaviour

The IMX500 camera should continue streaming for the full requested duration while running the official PoseNet or MobileNet SSD model.

Actual behaviour

The network firmware reaches 100%, the stream starts, and then the CFE stops receiving frames from /dev/video4. Restart attempts continue to produce the same timeout.

Bug report

The attached bug report was generated using:

sudo camera-bug-report
-t 360
-o /home/smartparkngo/imx500-posenet-bug-report.txt
-c "rpicam-hello -n -t 0 --post-process-file /usr/share/rpi-camera-assets/imx500_posenet.json --viewfinder-width 1280 --viewfinder-height 720 --framerate 20"

The bug-report command and capture date are included in the generated report.

System information
Hardware: Raspberry Pi 5 Model B Rev 1.1
OS: Debian GNU/Linux 12 Bookworm
Kernel: 6.12.96+rpt-rpi-2712
Architecture: aarch64
rpicam-apps: v1.9.0
libcamera: v0.5.2+99-bfd68f78
Boot firmware: 086b83e3, dated 2026-05-26
IMX500 RP2040 firmware: version 15
IMX500 main firmware: 02.03.00

The report confirms the Raspberry Pi model, OS, kernel, rpicam-apps, and libcamera versions.

All packages are fully updated to the latest versions available from the Raspberry Pi Bookworm repository:

rpicam-apps: 1.9.0-1bpo12+1
python3-picamera2: 0.3.31-1
libcamera0.5: 0.5.2+rpt20250903-1
bpo12+1
imx500-all: 1.9.0-1bpo12+1
imx500-firmware: 0.FF23+1
imx500-models: 1.9.0-1
bpo12+1
Additional context

The following have already been ruled out:

Custom Python detection code
MQTT processing
Snapshot/JPEG processing
systemd watchdog
Multiple processes accessing /dev/video4
MobileNet model specifically
PoseNet model specifically
Low system memory
CMA memory exhaustion

CMA was configured as 64 MB, with approximately 55 MB still free when the report was generated.

The camera is detected correctly and exposes the expected IMX500 modes:

2028x1520 at approximately 30 FPS
4056x3040 at approximately 10 FPS

The failure appears to be specific to the shared IMX500 AI-enabled streaming path rather than the custom application or an individual neural-network [model.](url)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions