-
Notifications
You must be signed in to change notification settings - Fork 228
Description
Describe the bug
I'm exploring the vcio mailbox interface using Ubuntu 25.04 stock install on a number of hardware boards. On Pi 4B all the requests work fine. On Pi5 they sometimes fail with a message such as this one (in dmesg):
[45217.909762] raspberrypi-firmware soc@107c000000:firmware: Request 0x00000001 returned status 0x80000001
The status code implies the videocore firmware failed to parse the request.
The request I sent is, I believe, properly formatted and aligned.
Address of b[0]: 0x40000ca000
Size of request buffer: 1936
2025/04/24 19:41:05 property request
addr _0 _1 _2 _3 | _4 _5 _6 _7 | _8 _9 _A _B | _C _D _E _F
000_ 90 07 .. .. | .. .. .. .. | 01 .. .. .. | 04 .. .. ..
001_ .. .. .. .. | .. .. .. .. | 01 .. 01 .. | 04 .. .. ..
002_ .. .. .. .. | .. .. .. .. | 03 .. 01 .. | 06 .. .. ..
003_ .. .. .. .. | .. .. .. .. | .. .. .. .. | 02 .. 01 ..
004_ 04 .. .. .. | .. .. .. .. | .. .. .. .. | 04 .. 01 ..
005_ 08 .. .. .. | .. .. .. .. | .. .. .. .. | .. .. .. ..
006_ 01 .. 05 .. | .. 04 .. .. | .. .. .. .. | .. .. .. ..
....
046_ .. .. .. .. | .. .. .. .. | .. .. .. .. | 06 .. 03 ..
047_ 08 .. .. .. | .. .. .. .. | .. .. .. .. | .. .. .. ..
048_ 0A .. 03 .. | 08 .. .. .. | .. .. .. .. | .. .. .. ..
049_ .. .. .. .. | 03 .. 03 .. | 08 .. .. .. | .. .. .. ..
04a_ 01 .. .. .. | .. .. .. .. | 03 .. 03 .. | 08 .. .. ..
04b_ .. .. .. .. | 02 .. .. .. | .. .. .. .. | 03 .. 03 ..
04c_ 08 .. .. .. | .. .. .. .. | 03 .. .. .. | .. .. .. ..
04d_ 03 .. 03 .. | 08 .. .. .. | .. .. .. .. | 04 .. .. ..
04e_ .. .. .. .. | 08 .. 03 .. | 08 .. .. .. | .. .. .. ..
04f_ 01 .. .. .. | .. .. .. .. | 08 .. 03 .. | 08 .. .. ..
050_ .. .. .. .. | 02 .. .. .. | .. .. .. .. | 08 .. 03 ..
051_ 08 .. .. .. | .. .. .. .. | 03 .. .. .. | .. .. .. ..
052_ 08 .. 03 .. | 08 .. .. .. | .. .. .. .. | 04 .. .. ..
053_ .. .. .. .. | 05 .. 03 .. | 08 .. .. .. | .. .. .. ..
054_ 01 .. .. .. | .. .. .. .. | 05 .. 03 .. | 08 .. .. ..
055_ .. .. .. .. | 02 .. .. .. | .. .. .. .. | 05 .. 03 ..
056_ 08 .. .. .. | .. .. .. .. | 03 .. .. .. | .. .. .. ..
057_ 05 .. 03 .. | 08 .. .. .. | .. .. .. .. | 04 .. .. ..
058_ .. .. .. .. | 47 .. 03 .. | 08 .. .. .. | .. .. .. ..
059_ 04 .. .. .. | .. .. .. .. | 47 .. 03 .. | 08 .. .. ..
05a_ .. .. .. .. | 03 .. .. .. | .. .. .. .. | 47 .. 03 ..
05b_ 08 .. .. .. | .. .. .. .. | 05 .. .. .. | .. .. .. ..
05c_ 47 .. 03 .. | 08 .. .. .. | .. .. .. .. | 05 .. .. ..
05d_ .. .. .. .. | 47 .. 03 .. | 08 .. .. .. | .. .. .. ..
05e_ 06 .. .. .. | .. .. .. .. | 47 .. 03 .. | 08 .. .. ..
05f_ .. .. .. .. | 07 .. .. .. | .. .. .. .. | 47 .. 03 ..
060_ 08 .. .. .. | .. .. .. .. | 08 .. .. .. | .. .. .. ..
061_ 47 .. 03 .. | 08 .. .. .. | .. .. .. .. | 09 .. .. ..
062_ .. .. .. .. | 47 .. 03 .. | 08 .. .. .. | .. .. .. ..
063_ 0A .. .. .. | .. .. .. .. | 47 .. 03 .. | 08 .. .. ..
064_ .. .. .. .. | 0B .. .. .. | .. .. .. .. | 47 .. 03 ..
065_ 08 .. .. .. | .. .. .. .. | 0C .. .. .. | .. .. .. ..
066_ 47 .. 03 .. | 08 .. .. .. | .. .. .. .. | 0D .. .. ..
067_ .. .. .. .. | 47 .. 03 .. | 08 .. .. .. | .. .. .. ..
068_ 0E .. .. .. | .. .. .. .. | 02 .. 03 .. | 08 .. .. ..
069_ .. .. .. .. | 04 .. .. .. | .. .. .. .. | 02 .. 03 ..
06a_ 08 .. .. .. | .. .. .. .. | 03 .. .. .. | .. .. .. ..
06b_ 02 .. 03 .. | 08 .. .. .. | .. .. .. .. | 05 .. .. ..
06c_ .. .. .. .. | 02 .. 03 .. | 08 .. .. .. | .. .. .. ..
06d_ 05 .. .. .. | .. .. .. .. | 02 .. 03 .. | 08 .. .. ..
06e_ .. .. .. .. | 06 .. .. .. | .. .. .. .. | 02 .. 03 ..
06f_ 08 .. .. .. | .. .. .. .. | 07 .. .. .. | .. .. .. ..
070_ 02 .. 03 .. | 08 .. .. .. | .. .. .. .. | 08 .. .. ..
071_ .. .. .. .. | 02 .. 03 .. | 08 .. .. .. | .. .. .. ..
072_ 09 .. .. .. | .. .. .. .. | 02 .. 03 .. | 08 .. .. ..
073_ .. .. .. .. | 0A .. .. .. | .. .. .. .. | 02 .. 03 ..
074_ 08 .. .. .. | .. .. .. .. | 0B .. .. .. | .. .. .. ..
075_ 02 .. 03 .. | 08 .. .. .. | .. .. .. .. | 0C .. .. ..
076_ .. .. .. .. | 02 .. 03 .. | 08 .. .. .. | .. .. .. ..
077_ 0D .. .. .. | .. .. .. .. | 02 .. 03 .. | 08 .. .. ..
078_ .. .. .. .. | 0E .. .. .. | .. .. .. .. | .. .. .. ..
2025/04/24 19:41:05 property response
addr _0 _1 _2 _3 | _4 _5 _6 _7 | _8 _9 _A _B | _C _D _E _F
000_ 90 07 .. .. | .. .. .. .. | 01 .. .. .. | 04 .. .. ..
001_ .. .. .. .. | .. .. .. .. | 01 .. 01 .. | 04 .. .. ..
002_ .. .. .. .. | .. .. .. .. | 03 .. 01 .. | 06 .. .. ..
003_ .. .. .. .. | .. .. .. .. | .. .. .. .. | 02 .. 01 ..
004_ 04 .. .. .. | .. .. .. .. | .. .. .. .. | 04 .. 01 ..
005_ 08 .. .. .. | .. .. .. .. | .. .. .. .. | .. .. .. ..
006_ 01 .. 05 .. | .. 04 .. .. | .. .. .. .. | .. .. .. ..
....
046_ .. .. .. .. | .. .. .. .. | .. .. .. .. | 06 .. 03 ..
047_ 08 .. .. .. | .. .. .. .. | .. .. .. .. | .. .. .. ..
048_ 0A .. 03 .. | 08 .. .. .. | .. .. .. .. | .. .. .. ..
049_ .. .. .. .. | 03 .. 03 .. | 08 .. .. .. | .. .. .. ..
04a_ 01 .. .. .. | .. .. .. .. | 03 .. 03 .. | 08 .. .. ..
04b_ .. .. .. .. | 02 .. .. .. | .. .. .. .. | 03 .. 03 ..
04c_ 08 .. .. .. | .. .. .. .. | 03 .. .. .. | .. .. .. ..
04d_ 03 .. 03 .. | 08 .. .. .. | .. .. .. .. | 04 .. .. ..
04e_ .. .. .. .. | 08 .. 03 .. | 08 .. .. .. | .. .. .. ..
04f_ 01 .. .. .. | .. .. .. .. | 08 .. 03 .. | 08 .. .. ..
050_ .. .. .. .. | 02 .. .. .. | .. .. .. .. | 08 .. 03 ..
051_ 08 .. .. .. | .. .. .. .. | 03 .. .. .. | .. .. .. ..
052_ 08 .. 03 .. | 08 .. .. .. | .. .. .. .. | 04 .. .. ..
053_ .. .. .. .. | 05 .. 03 .. | 08 .. .. .. | .. .. .. ..
054_ 01 .. .. .. | .. .. .. .. | 05 .. 03 .. | 08 .. .. ..
055_ .. .. .. .. | 02 .. .. .. | .. .. .. .. | 05 .. 03 ..
056_ 08 .. .. .. | .. .. .. .. | 03 .. .. .. | .. .. .. ..
057_ 05 .. 03 .. | 08 .. .. .. | .. .. .. .. | 04 .. .. ..
058_ .. .. .. .. | 47 .. 03 .. | 08 .. .. .. | .. .. .. ..
059_ 04 .. .. .. | .. .. .. .. | 47 .. 03 .. | 08 .. .. ..
05a_ .. .. .. .. | 03 .. .. .. | .. .. .. .. | 47 .. 03 ..
05b_ 08 .. .. .. | .. .. .. .. | 05 .. .. .. | .. .. .. ..
05c_ 47 .. 03 .. | 08 .. .. .. | .. .. .. .. | 05 .. .. ..
05d_ .. .. .. .. | 47 .. 03 .. | 08 .. .. .. | .. .. .. ..
05e_ 06 .. .. .. | .. .. .. .. | 47 .. 03 .. | 08 .. .. ..
05f_ .. .. .. .. | 07 .. .. .. | .. .. .. .. | 47 .. 03 ..
060_ 08 .. .. .. | .. .. .. .. | 08 .. .. .. | .. .. .. ..
061_ 47 .. 03 .. | 08 .. .. .. | .. .. .. .. | 09 .. .. ..
062_ .. .. .. .. | 47 .. 03 .. | 08 .. .. .. | .. .. .. ..
063_ 0A .. .. .. | .. .. .. .. | 47 .. 03 .. | 08 .. .. ..
064_ .. .. .. .. | 0B .. .. .. | .. .. .. .. | 47 .. 03 ..
065_ 08 .. .. .. | .. .. .. .. | 0C .. .. .. | .. .. .. ..
066_ 47 .. 03 .. | 08 .. .. .. | .. .. .. .. | 0D .. .. ..
067_ .. .. .. .. | 47 .. 03 .. | 08 .. .. .. | .. .. .. ..
068_ 0E .. .. .. | .. .. .. .. | 02 .. 03 .. | 08 .. .. ..
069_ .. .. .. .. | 04 .. .. .. | .. .. .. .. | 02 .. 03 ..
06a_ 08 .. .. .. | .. .. .. .. | 03 .. .. .. | .. .. .. ..
06b_ 02 .. 03 .. | 08 .. .. .. | .. .. .. .. | 05 .. .. ..
06c_ .. .. .. .. | 02 .. 03 .. | 08 .. .. .. | .. .. .. ..
06d_ 05 .. .. .. | .. .. .. .. | 02 .. 03 .. | 08 .. .. ..
06e_ .. .. .. .. | 06 .. .. .. | .. .. .. .. | 02 .. 03 ..
06f_ 08 .. .. .. | .. .. .. .. | 07 .. .. .. | .. .. .. ..
070_ 02 .. 03 .. | 08 .. .. .. | .. .. .. .. | 08 .. .. ..
071_ .. .. .. .. | 02 .. 03 .. | 08 .. .. .. | .. .. .. ..
072_ 09 .. .. .. | .. .. .. .. | 02 .. 03 .. | 08 .. .. ..
073_ .. .. .. .. | 0A .. .. .. | .. .. .. .. | 02 .. 03 ..
074_ 08 .. .. .. | .. .. .. .. | 0B .. .. .. | .. .. .. ..
075_ 02 .. 03 .. | 08 .. .. .. | .. .. .. .. | 0C .. .. ..
076_ .. .. .. .. | 02 .. 03 .. | 08 .. .. .. | .. .. .. ..
077_ 0D .. .. .. | .. .. .. .. | 02 .. 03 .. | 08 .. .. ..
078_ .. .. .. .. | 0E .. .. .. | .. .. .. .. | .. .. .. ..
2025/04/24 19:41:05 Cannot get properties: cannot exchange property message: cannot invoke ioctl: invalid argument
Asking for fewer properties with one request seems to work better (on Pi 5):
2025/04/24 19:43:03 property request
addr _0 _1 _2 _3 | _4 _5 _6 _7 | _8 _9 _A _B | _C _D _E _F
000_ 30 .. .. .. | .. .. .. .. | 01 .. .. .. | 04 .. .. ..
001_ .. .. .. .. | .. .. .. .. | 02 .. 03 .. | 08 .. .. ..
002_ .. .. .. .. | 0E .. .. .. | .. .. .. .. | .. .. .. ..
Address of b[0]: 0x400012c000
Size of request buffer: 48
2025/04/24 19:43:03 property response
addr _0 _1 _2 _3 | _4 _5 _6 _7 | _8 _9 _A _B | _C _D _E _F
000_ 30 .. .. .. | .. .. .. 80 | 01 .. .. .. | 04 .. .. ..
001_ 04 .. .. 80 | 0D 1D CF 67 | 02 .. 03 .. | 08 .. .. ..
002_ 08 .. .. 80 | 0E .. .. .. | .. .. .. .. | .. .. .. ..
2025/04/24 19:43:03 FirmwareRevision : 0x400010e0b0
2025/04/24 19:43:03 ClockRate : PixelBVB 0Hz
Still, on Pi 4 with latest firmware none of this ever fails.
The device where this fails uses latest firmware (updated from default to check but without success):
zyga@pi5-1:~$ sudo rpi-eeprom-update
BOOTLOADER: up to date
CURRENT: Mon Mar 10 17:10:37 UTC 2025 (1741626637)
LATEST: Mon Mar 10 17:10:37 UTC 2025 (1741626637)
RELEASE: latest (/usr/lib/firmware/raspberrypi/bootloader-2712/latest)
Use raspi-config to change the release.
Steps to reproduce the behaviour
Ask for a number of properties at once. Attached is a binary Go program that computes and performs the ioctl.
Device (s)
Raspberry Pi 5
Bootloader configuration.
[all]
BOOT_UART=1
POWER_OFF_ON_HALT=0
BOOT_ORDER=0xf146
System
I'm running freshly released Ubuntu 25.04
zyga@pi5-1:~$ vcgencmd bootloader_version
2025/03/10 17:10:37
version 2bb2ae640058a2f3aa8dcbdc2da33302e509668d (release)
timestamp 1741626637
update-time 1745514716
capabilities 0x0000007f
zyga@pi5-1:~$ vcgencmd version
2025/03/10 17:10:37
Copyright (c) 2012 Broadcom
version 2bb2ae64 (release) (embedded)
zyga@pi5-1:~$ uname -a
Linux pi5-1 6.14.0-1005-raspi #5-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 5 14:33:30 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux
Bootloader logs
No response
USB boot
No response
NVMe boot
No response
Network (TFTP boot)
No response