-
Notifications
You must be signed in to change notification settings - Fork 5.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pi5 failed to contact RP1 firmware #6642
Comments
That's interesting - it looks like a dependency/ordering issue, and not one I've seen before:
I get:
The code for communicating with the firmware exists in the firmware module, so I thought that would enforce an ordering. Some investigation is required. |
Thanks for your reply. |
Yes - in the working case the order is reversed:
|
Seeing that on reboot as well /custom kernel on a Pi5 DUT, trying to get an overlay to work)
|
It's really strange. I can't get it to fail in that way without hacks - even with a massive delay in the firmware driver, the pio driver waits. Anyway, I'm just testing a fix. |
seems quite random. Seen it frequently on reboots (running 'sudo reboot' on CLI) |
If the RP1 firmware has reported an error then return that from the PIO probe function, otherwise defer the probing. Link: raspberrypi#6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
To avoid pointless retries, let the probe function succeed if the firmware interface is configured correctly but the firmware is incompatible. The value of the private drvdata field holds the outcome. Link: raspberrypi#6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
is there a way to fix this? I keep getting this error and I can't boot the OS, should I be worried that I will loose data on my raspberry? |
I don't understand why this affecting some people while I can't reproduce it without hacking the driver, but regardless, #6645 should fix the issue. After about 40 minutes you should be able to install a trial kernel with |
And no, you shouldn't worry - it would only affect you if you wanted to use piolib to drive the GPIOs. |
I have no idea if and how below is related but I just wanted to state that I'm not making use of piolib for accessing GPIO's.
|
You should know that WiFi and Bluetooth information and warning messages are unrelated. |
To avoid pointless retries, let the probe function succeed if the firmware interface is configured correctly but the firmware is incompatible. The value of the private drvdata field holds the outcome. Link: raspberrypi#6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
It seems after applying BTW, can I safely stay at this firmware and wait for the next stable release offered by apt? Or do I need a |
You should be fine with this kernel until the next proper release - I'm not aware of any new issues. |
If the RP1 firmware has reported an error then return that from the PIO probe function, otherwise defer the probing. Link: raspberrypi#6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
To avoid pointless retries, let the probe function succeed if the firmware interface is configured correctly but the firmware is incompatible. The value of the private drvdata field holds the outcome. Link: raspberrypi#6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
If the RP1 firmware has reported an error then return that from the PIO probe function, otherwise defer the probing. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
To avoid pointless retries, let the probe function succeed if the firmware interface is configured correctly but the firmware is incompatible. The value of the private drvdata field holds the outcome. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
If the RP1 firmware has reported an error then return that from the PIO probe function, otherwise defer the probing. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
To avoid pointless retries, let the probe function succeed if the firmware interface is configured correctly but the firmware is incompatible. The value of the private drvdata field holds the outcome. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
If the RP1 firmware has reported an error then return that from the PIO probe function, otherwise defer the probing. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
To avoid pointless retries, let the probe function succeed if the firmware interface is configured correctly but the firmware is incompatible. The value of the private drvdata field holds the outcome. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
If the RP1 firmware has reported an error then return that from the PIO probe function, otherwise defer the probing. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
To avoid pointless retries, let the probe function succeed if the firmware interface is configured correctly but the firmware is incompatible. The value of the private drvdata field holds the outcome. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
I can confirm the error happens on my PI 5 too:
I am running the latest firmware:
|
A week ago I also started receiving these errors during bootup: rp1-pio 1f00178000.pio: error -ENOENT: failed to contact RP1 firmware At the same time I also started getting protocol errors for the wireless mouse and wireless keyboard Changing to wired devices there are no mouse or keyboard errors but still have the rp1-pio error I have performed the "sudo rpi-update pulls/6645" and no change was observed. |
What does |
Support for the RP1 firmware mailbox API is rolling out to Pi 5 EEPROM images. For most users, the fact that the PIO is not available is no cause for alarm. Change the message to a warning, so that it does not appear with "quiet" in cmdline.txt. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Support for the RP1 firmware mailbox API is rolling out to Pi 5 EEPROM images. For most users, the fact that the PIO is not available is no cause for alarm. Change the message to a warning, so that it does not appear with "quiet" in cmdline.txt. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Support for the RP1 firmware mailbox API is rolling out to Pi 5 EEPROM images. For most users, the fact that the PIO is not available is no cause for alarm. Change the message to a warning, so that it does not appear with "quiet" in cmdline.txt. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Support for the RP1 firmware mailbox API is rolling out to Pi 5 EEPROM images. For most users, the fact that the PIO is not available is no cause for alarm. Change the message to a warning, so that it does not appear with "quiet" in cmdline.txt. Link: raspberrypi#6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
If the RP1 firmware has reported an error then return that from the PIO probe function, otherwise defer the probing. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
To avoid pointless retries, let the probe function succeed if the firmware interface is configured correctly but the firmware is incompatible. The value of the private drvdata field holds the outcome. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Support for the RP1 firmware mailbox API is rolling out to Pi 5 EEPROM images. For most users, the fact that the PIO is not available is no cause for alarm. Change the message to a warning, so that it does not appear with "quiet" in cmdline.txt. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
I also had the error message “failed to contact rp1 firmware“. |
If the RP1 firmware has reported an error then return that from the PIO probe function, otherwise defer the probing. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
To avoid pointless retries, let the probe function succeed if the firmware interface is configured correctly but the firmware is incompatible. The value of the private drvdata field holds the outcome. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Support for the RP1 firmware mailbox API is rolling out to Pi 5 EEPROM images. For most users, the fact that the PIO is not available is no cause for alarm. Change the message to a warning, so that it does not appear with "quiet" in cmdline.txt. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
If the RP1 firmware has reported an error then return that from the PIO probe function, otherwise defer the probing. Link: raspberrypi/linux#6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
To avoid pointless retries, let the probe function succeed if the firmware interface is configured correctly but the firmware is incompatible. The value of the private drvdata field holds the outcome. Link: raspberrypi/linux#6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Support for the RP1 firmware mailbox API is rolling out to Pi 5 EEPROM images. For most users, the fact that the PIO is not available is no cause for alarm. Change the message to a warning, so that it does not appear with "quiet" in cmdline.txt. Link: raspberrypi/linux#6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
I'm also seeing this error sometimes, but only on Pi5 with NVMe (non-boot) drive attached.
I have 2 such Pi5's and one symptom is that sometimes reboot or power off does not complete and the Pi never reaches the halt state (red LED). Two other Pi5's w/o NVMe drive are fine. Pi5 with NVMe drive
Pi5 w/o NVMe drive
PCIe controller: Pimoroni NVMe Base for Raspberry Pi 5 NVMe stick: Crucial P3 1TB PCIe Gen3 3D NAND NVMe M.2 SSD |
It's possible that the presence of the NVME drive changes the timing of the boot procedure. Between 6.6.74 and 6.6.75 the RP1 PIO and firmware drivers were improved to cope with arbitrary startup order. I can't tell whether or not the kernel you have includes that patch, but you can ensure that it does by running |
Makes sense. The kernel we use is the official release package so not patched. |
If the RP1 firmware has reported an error then return that from the PIO probe function, otherwise defer the probing. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
To avoid pointless retries, let the probe function succeed if the firmware interface is configured correctly but the firmware is incompatible. The value of the private drvdata field holds the outcome. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Support for the RP1 firmware mailbox API is rolling out to Pi 5 EEPROM images. For most users, the fact that the PIO is not available is no cause for alarm. Change the message to a warning, so that it does not appear with "quiet" in cmdline.txt. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
If the RP1 firmware has reported an error then return that from the PIO probe function, otherwise defer the probing. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
To avoid pointless retries, let the probe function succeed if the firmware interface is configured correctly but the firmware is incompatible. The value of the private drvdata field holds the outcome. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Support for the RP1 firmware mailbox API is rolling out to Pi 5 EEPROM images. For most users, the fact that the PIO is not available is no cause for alarm. Change the message to a warning, so that it does not appear with "quiet" in cmdline.txt. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
If the RP1 firmware has reported an error then return that from the PIO probe function, otherwise defer the probing. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
To avoid pointless retries, let the probe function succeed if the firmware interface is configured correctly but the firmware is incompatible. The value of the private drvdata field holds the outcome. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Support for the RP1 firmware mailbox API is rolling out to Pi 5 EEPROM images. For most users, the fact that the PIO is not available is no cause for alarm. Change the message to a warning, so that it does not appear with "quiet" in cmdline.txt. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
If the RP1 firmware has reported an error then return that from the PIO probe function, otherwise defer the probing. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
To avoid pointless retries, let the probe function succeed if the firmware interface is configured correctly but the firmware is incompatible. The value of the private drvdata field holds the outcome. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Support for the RP1 firmware mailbox API is rolling out to Pi 5 EEPROM images. For most users, the fact that the PIO is not available is no cause for alarm. Change the message to a warning, so that it does not appear with "quiet" in cmdline.txt. Link: #6642 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
Describe the bug
dmesg says:
...
rp1-pio 1f00178000.pio: error -ENOENT: failed to contact RP1 firmware [ 3.957885] rp1-pio: probe of 1f00178000.pio failed with error -2
...
Although nothing strange occurred.
The OS still works fine without reboot.
Steps to reproduce the behaviour
It randomly occurs after
sudo reboot --halt
and then manually press the on-board power button to power on (with default eeprom config).It also randomly occurs when use raspi-config to change power off behavior to "full power off" and then reboot/poweroff.(Sorry I cannot remember whether it is reboot or poweroff)Update: It also occurs after a suddenly plug-out the usb-c power cable and then plug-in back.
It seems only poweroff-related behaviors will trigger this bug. I tested 30 times reboot, no bugs occurred.Update2: reboot can indeed also trigger this bug, only less frequent.
Device (s)
Raspberry Pi 5
System
Raspberry Pi reference 2024-11-19 Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 891df1e21ed2b6099a2e6a13e26c91dea44b34d4, stage4
2025/01/22 00:16:51
Copyright (c) 2012 Broadcom version a7753063 (release) (embedded)
Linux rpi5 6.6.74+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.6.74-1+rpt1 (2025-01-27) aarch64 GNU/Linux
Logs
1.txt
Additional context
Can it be safely ignored?
The text was updated successfully, but these errors were encountered: