RPi 4 boot failure with 162 and 163

I have a new RPi 4, which is therefore likely to have the 1.4 firmware.

I’ve tried installing IPFire 162 and 163 (the latter from the nightly builds) via several mSDs (16GB class 10, 64GB class 10 and class 4).

Every installation attempt ends in a looping error;
mmc1: ADMA error: 0x02000000
mmc1: Error -5 whilst initialising SD card

The mSD cards were loaded via the traditional dd method. eg;
sudo dd if=ipfire-2.27.2gb-ext4.aarch64-full-core162.img of=/dev/sdg status=progress bs=1M oflag=sync

I’m reasonably confident that the RPi4 and the mSD cards work correctly, as I’ve been able to use the cards to successfully install Raspberry PI OS (32 and 64 bit) and Ubuntu server (64 bit) on the RPi4. And the same cards have been used to install IPFire successfully on a RPi3B.

Following this post, I decompiled bcm2711-rpi-4-b.dtb, edited, and recompiled the file. The error remained unchanged, however.

Is the looping error another manifestation of the known issue with IPFire booting on the Rpi4 1.4 firmware?

Any ideas re workarounds/experiments/speculations gratefully accepted.

Hello Lincoln - Welcome to the IPFire Community!

See the Note on this Wiki page:

1 Like

Hi Jon,

I had read that. Among other things, it said;

If you have the Revision 1.4 board, please try the Core Update 162 build at:
www.ipfire.org - IPFire 2.27 - Core Update 162
and report if it works.

Hence this bug report.

Ahh! Thank you!!

Please add bug reports to bugzilla. That will help make sure the Development team reviews this information.

Login using your IPFire email address and the IPFire password.

Information to add a bug report in IPFire Bugzilla:

Done; “Bug 12771 - RPi 4 boot failure with builds 162 and 163

1 Like

Looks like the µSD slot is still buggy with 1.4 hardware. I have tested only boot from a SSD via USB/SATA adapter and this works since core162.

Have you installed the latest firmware with raspian?

I’ve not updated the firmware - I’ll give that a try.

Could you point me to a link re setting up to boot from SSD rather than the mSD card?

Copy the image in the same way like for the µSD card but to an SSD. The RPi4 also try to boot from USB if there is no µSD inserted.

1 Like

Yep, worked like a charm! :slight_smile:
Many thanks.

For others who may be interested, I…

  1. Updated the RPi4 eeprom as per this James Chambers page (The flashing of an update of the eeprom firmware requires a recent RaspberryOS image.) Depending on your RPi4 version, you may find that this step is unnecessary in your case.
  2. dd’d the 163 image to a µSD as before.
  3. Installed the µSD in a USB adapter, and slotted the adapter into one of the RPi4 USB sockets. (And made sure there was no µSD card in the RPi4 µSD slot.)
  4. Booted the RPi4.
  5. Watched IPFire boot and install without a hitch.

IPFire has subsequently booted from the USB port without problems. (It still doesn’t boot from the µSD slot.)

One caveat (of course): The flashing of an update of the eeprom firmware requires that the RPi4 be rebooted into RaspberryOS to complete the process. In my case, I had to move the µSD to the USB port in order for the reboot to work. The RPi4 booted RaspberryOS from the µSD slot after that.

1 Like

Hi All,

I would like to understand what is going here as I am also affected by this and finding things a little confusing and contradicting.

I have read this thread as well as the older IPFire 2.27 - Core Update 159 - Raspberry pi 4? - #90 by keg6676 thread.

I have a brand new Pi 4B 4GB. I tried to load the latest IPFire and got the same
“error -22 whilst initialising SD Card invalid bus width” other got. After trying a few versions I tried a standard Raspberry Pi OS that I previously used (not the latest), and it worked. Booting to the desktop without any issues.

I have not tried boot in IPFire from USB, but plan to shortly.

What this suggests to me is that this is not a hardware for firmware issue but rather a Software OS issue, but all threads talk about flashing to the latest firmware or trying different memory cards or switching to USB boot as a workaround.

So I would just like to try understand what the cause is. Does anyone know yet what the causes is? Why does Raspberry Pi OS boot just fine but not IPFire?

Other links of interest I found that could be related.

Thanks

Im not sure. I have retested my 8GB RPi4 and it boot without problems from a 32GB Samsung EVO µSD Card. (at my knowledge all 8GB boards are rev 1.4)

Raspberry Pi OS use a configured and patched kernel for RPi only. IPFire use a nearly stock kernel that is configured for many boards (KVM, Cavium, RockChip …) and depend on u-boot (native or uEFI).

Also the images ships a part of the RPi firmware on the disks and Raspberry Pi OS has of course the newest. This is the only part that i have changed between core161 and 162 to get the USB boot working.