-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Open
Labels
Close within 30 daysIssue will be closed within 30 days unless requested to stay openIssue will be closed within 30 days unless requested to stay open
Description
Description
On Raspberry Pi 5 running Pi OS Trixie (Debian 13), the firmware mailbox property interface does not process any requests. All requests return status 0x00000000 ("request not processed") instead of 0x80000000 ("success"). This breaks:
- vcgencmd — all commands fail with
ioctl_set_msg failed:-1 - raspberrypi-clk — probe fails with error -22 at boot, disabling CPU frequency scaling
- vc4-drm — "Couldn't stop firmware display driver: -22"
System Info
Pi: Raspberry Pi 5 Model B Rev 1.1 (16GB)
OS: Debian GNU/Linux 13 (trixie)
Kernel: 6.12.62+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.12.62-1+rpt1
EEPROM: Wed 5 Nov 17:37:18 UTC 2025 (1762364238) — up to date
raspi-firmware: 1:1.20250915-1
raspi-utils-core: 20251120-1
Boot log evidence
All firmware property requests return status 0x00000000:
raspberrypi-firmware soc@107c000000:firmware: Request 0x00000001 returned status 0x00000000
raspberrypi-firmware soc@107c000000:firmware: Request 0x00000003 returned status 0x00000000
raspberrypi-firmware soc@107c000000:firmware: Request 0x00030046 returned status 0x00000000
raspberrypi-firmware soc@107c000000:firmware: Request 0x00010007 returned status 0x00000000
This causes the clock driver probe failure:
raspberrypi-clk soc@107c000000:firmware:clocks: probe with driver raspberrypi-clk failed with error -22
vc4-drm axi:gpu: [drm] Couldn't stop firmware display driver: -22
strace of vcgencmd
openat(AT_FDCWD, "/dev/vcio", O_RDONLY) = 3
ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x64, 0, 0x8), 0x7fffe7ae1770) = -1 EINVAL (Invalid argument)
Even sudo vcgencmd measure_temp and a custom C program opening /dev/vcio with O_RDWR produce the same EINVAL — the error comes from rpi_firmware_property_list() in the kernel because buf[1] != RPI_FIRMWARE_STATUS_SUCCESS.
What was ruled out
- Permissions:
/dev/vcioiscrw-rw---- root:video, user is invideogroup,sudoalso fails - EEPROM: Updated to latest (Nov 2025)
- Kernel: Upgraded from 6.12.47 to 6.12.62, no change
- Package conflict:
raspi-utils-core20251120-1 only, nolibraspberrypi-bin - ioctl encoding: Confirmed
0xC0086400matches_IOWR(100, 0, char*)on aarch64
config.txt
Default config with one addition — Hailo AI HAT+ overlay:
dtoverlay=vc4-kms-v3d
max_framebuffers=2
disable_fw_kms_setup=1
arm_64bit=1
arm_boost=1
[all]
dtoverlay=hailo-ai,cma_size=256
Symptoms
- No
/sys/devices/system/cpu/cpufreq/directory (cpufreq governor not loaded) - No
get_throttledin sysfs - Continuous firmware request spam in dmesg:
Request 0x00030087 returned status 0x00000000andRequest 0x00038087 returned status 0x00000000(~2 per ms) - Temperature reporting works via sysfs (
/sys/class/thermal/thermal_zone0/temp), hwmon, and Hailo Python API — only the firmware mailbox path is broken
Expected behavior
vcgencmd measure_temp should return the SoC temperature. raspberrypi-clk should probe successfully, enabling CPU frequency scaling.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Close within 30 daysIssue will be closed within 30 days unless requested to stay openIssue will be closed within 30 days unless requested to stay open