Skip to content

vcio mailbox tag requests fail on pi5 rev d04170 with latest firmware #698

@zyga

Description

@zyga

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.

pipropinsight.tar.gz

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

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