Bug 12680 - Serial console on RPi4B - infinite U-Boot loop
Summary: Serial console on RPi4B - infinite U-Boot loop
Status: CLOSED FIXED
Alias: None
Product: IPFire
Classification: Unclassified
Component: --- (show other bugs)
Version: 2
Hardware: aarch64 Unspecified
: - Unknown - Crash
Assignee: Arne.F
QA Contact:
URL: https://community.ipfire.org/t/ipfire...
Keywords:
: 12684 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-08-27 21:52 UTC by Jon
Modified: 2025-07-02 15:25 UTC (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jon 2021-08-27 21:52:54 UTC
It's Groundhog Day all over again...

With the serial console enabled I cannot get the IPFire CU159 on an RPi4B (only 1 GB RAM) to boot.

These are set correctly for me:
• uENV.txt - SERIAL-CONSOLE=ON
• config.txt enable_uart=1

---

U-Boot 2021.07 (Aug 09 2021 - 09:19:51 +0000) RPi4 - IPFire.

U-Boot 2021.07 (Aug 09 2021 - 09:19:51 +0000) RPi4 - IPFire.org

DRAM:  998 MiB
RPI 4 Model B (0xa03111)
MMC:   mmcnr@7e300000: 1, emmc2@7e340000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@7d580000
PCIe BRCM: link up, 5.0 Gbps x1 (SSC)
starting USB...
Bus xhci_pci: Register 5000420 NbrPorts 5
Starting the controller
Port not available.
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0 is current device
"Synchronous Abort" handler, esr 0x96000044
elr: 000000000009df64 lr : 000000000009e4c8 (reloc)
elr: 000000003e36ef64 lr : 000000003e36f4c8
x0 : 000000003df5e800 x1 : 6f6f625f726f665f
x2 : 7665645f6e006900 x3 : 000000003e3d27d8
x4 : 000000003df5e860 x5 : 000000000000005d
x6 : 000000003e3d27e8 x7 : 0000000000000010
x8 : fffffffffffffff0 x9 : 0000000000000008
x10: 00000000ffffffd0 x11: 000000000000000a
x12: 000000000001869f x13: 000000003df40da8
x14: 000000003df40eb0 x15: 0000000000000002
x16: 000000003e37119c x17: 0cc49240c2e78984
x18: 000000003df4cd90 x19: 0000000000000060
x20: 000000003e3d2218 x21: 0000000000000030
x22: 000000000000000b x23: 000000003e3d2218
x24: 0000000000000001 x25: 0000000000000060
x26: 000000003df56660 x27: 000000003e3c6aab
x28: 000000000000003b x29: 000000003df3fef0

Code: b2400021 f9000481 f9400c01 f8410c02 (f9000c41) 
Resetting CPU ...

resetting ...


U-Boot 2021.07 (Aug 09 2021 - 09:19:51 +0000) RPi4 - IPFire.org

DRAM:  998 MiB
RPI 4 Model B (0xa03111)
MMC:   mmcnr@7e300000: 1, emmc2@7e340000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@7d580000
PCIe BRCM: link up, 5.0 Gbps x1 (SSC)
starting USB...
Bus xhci_pci: Register 5000420 NbrPorts 5
Starting the controller
Port not available.
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0 is current device
"Synchronous Abort" handler, esr 0x96000044
elr: 000000000009df64 lr : 000000000009e4c8 (reloc)
elr: 000000003e36ef64 lr : 000000003e36f4c8
x0 : 000000003df5e800 x1 : 6f6f625f726f665f
x2 : 7665645f6e006900 x3 : 000000003e3d27d8
x4 : 000000003df5e860 x5 : 000000000000005d
x6 : 000000003e3d27e8 x7 : 0000000000000010
x8 : fffffffffffffff0 x9 : 0000000000000008
x10: 00000000ffffffd0 x11: 000000000000000a
x12: 000000000001869f x13: 000000003df40da8
x14: 000000003df40eb0 x15: 0000000000000002
x16: 000000003e37119c x17: 0cc49240c2e78984
x18: 000000003df4cd90 x19: 0000000000000060
x20: 000000003e3d2218 x21: 0000000000000030
x22: 000000000000000b x23: 000000003e3d2218
x24: 0000000000000001 x25: 0000000000000060
x26: 000000003df56660 x27: 000000003e3c6aab
x28: 000000000000003b x29: 000000003df3fef0

Code: b2400021 f9000481 f9400c01 f8410c02 (f9000c41) 
Resetting CPU ...

resetting ...


U-Boot 2021.07 (Aug 09 2021 - 09:19:51 +0000) RPi4 - IPFire.org

DRAM:  998 MiB
Comment 1 Craig Setera 2021-08-27 23:00:01 UTC
FWIW... I'm using a 4G RPi4B+ and seeing the same failures trying to boot with serial console and no monitor.

I have validated that I can get further with a monitor connected based on this https://github.com/lueschem/edi-pi/issues/22 ,  But, I'm still unable to fully boot.  Disabling console gets me even further, but gets hung up looping:

invalid bus width
error -22 whilst initialising SD Card
Comment 2 Jon 2021-08-28 16:12:09 UTC
(In reply to Jon from comment #0)
> It's Groundhog Day all over again...

This is referring to the infinite U-Boot loop.  Hopefully I didn't offend with my odd sense of humor!
Comment 3 Arne.F 2021-12-26 17:42:36 UTC
Looks like a known bug with board revision 1.4!

Please retry this with core162 which ship updated firmware binaries from the RPi foundation.
Comment 4 Jon 2021-12-26 19:22:26 UTC
None of the RPi4B boards I have is "board revision 1.4".  I think they are all 1.1 / 1.2.

I'll test CU 162.
Comment 5 Jon 2021-12-26 23:54:00 UTC
Tested on:
Hardware	: BCM2711
Revision	: c03111
Model		: Raspberry Pi 4 Model B Rev 1.1

with these settings:
• uENV.txt - SERIAL-CONSOLE=ON
• config.txt enable_uart=1

The RPi4B does NOT infinite loop in serial console mode.

But, the RPi4B gets the the `Starting kernel ...` line and the serial console no longer works.


`
U-Boot 2021.07 (Aug 09 2021 - 09:19:51 +0000) RPi4 - IPFire.org

DRAM:  3.9 GiB
RPI 4 Model B (0xc03111)
MMC:   mmcnr@7e300000: 1, mmc@7e340000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   eth0: ethernet@7d580000
PCIe BRCM: link up, 5.0 Gbps x1 (SSC)
starting USB...
Bus xhci_pci: Register 5000420 NbrPorts 5
Starting the controller
USB XHCI 1.00
scanning bus xhci_pci for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
2451 bytes read in 14 ms (170.9 KiB/s)
## Executing script at 02400000
113 bytes read in 7 ms (15.6 KiB/s)
Load uEnv.txt...
...
Set console to ttyAMA0,115200n8
27210240 bytes read in 1206 ms (21.5 MiB/s)
26497 bytes read in 25 ms (1 MiB/s)

7683916 bytes read in 357 ms (20.5 MiB/s)
Ramdisk loaded...
Unknown command 'bootz' - try 'help'
Moving Image from 0x80000 to 0x200000, end=1cc0000
## Loading init Ramdisk from Legacy Image at 02700000 ...
   Image Name:   
   Image Type:   AArch64 Linux RAMDisk Image (lzma compressed)
   Data Size:    7683852 Bytes = 7.3 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02600000
   Booting using the fdt blob at 0x2600000
   Loading Device Tree to 000000003df33000, end 000000003df3c780 ... OK

Starting kernel ...
`

It does not like the `bootz` command but I am not sure if the matters...
Comment 6 Peter Müller 2022-05-08 09:30:53 UTC
*** Bug 12684 has been marked as a duplicate of this bug. ***
Comment 7 Peter Müller 2022-12-17 17:06:10 UTC
Apologies for having missed this: Upcoming Core Update 172 updates u-boot, as well as the ARM firmware conglomerate. Do these introduce any improvements?

Thank you in advance for testing and reporting back.

https://blog.ipfire.org/post/ipfire-2-27-core-update-172-is-available-for-testing
Comment 8 Jon 2022-12-31 00:29:42 UTC
As they relate to the Serial Console?  Not at this moment.  This is what I see - the serial console gets stuck at "Starting kernel ..."

Tested with:
CU 172 (stable)
RPi4B

These are the settings for me:
• uENV.txt - SERIAL-CONSOLE=ON
• config.txt enable_uart=1

---

U-Boot 2022.10 (Dec 27 2022 - 13:59:35 +0000) RPi4 - IPFire.org

DRAM:  3.9 GiB
RPI 4 Model B (0xc03111)
Core:  205 devices, 16 uclasses, devicetree: board
MMC:   mmcnr@7e300000: 1, mmc@7e340000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   eth0: ethernet@7d580000
PCIe BRCM: link up, 5.0 Gbps x1 (SSC)
starting USB...
Bus xhci_pci: Register 5000420 NbrPorts 5
Starting the controller
USB XHCI 1.00
scanning bus xhci_pci for devices... 4 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
2824 bytes read in 10 ms (275.4 KiB/s)
## Executing script at 02400000
114 bytes read in 6 ms (18.6 KiB/s)
Load uEnv.txt...
...
Set console to ttyAMA0,115200n8
27808256 bytes read in 1178 ms (22.5 MiB/s)
27222 bytes read in 21 ms (1.2 MiB/s)

15815306 bytes read in 676 ms (22.3 MiB/s)
Ramdisk loaded...
Unknown command 'bootz' - try 'help'
Moving Image from 0x80000 to 0x200000, end=1d60000
## Loading init Ramdisk from Legacy Image at 02700000 ...
   Image Name:   
   Image Type:   AArch64 Linux RAMDisk Image (lzma compressed)
   Data Size:    15815242 Bytes = 15.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02600000
   Booting using the fdt blob at 0x2600000
   Loading Device Tree to 000000003df2c000, end 000000003df35a55 ... OK

Starting kernel ...
Comment 9 Jon 2022-12-31 00:31:21 UTC
Also, the RPi4B does boot A-OK and I can access IPFire WebGUI.  Very brief testing looks OK so far.
Comment 10 Adolf Belka 2025-07-02 15:25:10 UTC
(In reply to Jon from comment #9)
> Also, the RPi4B does boot A-OK and I can access IPFire WebGUI.  Very brief
> testing looks OK so far.

Based on the above and that there has been no further input into this bug in the last 2.5 years it looks like the bug was fixed.