efi_loader triggers fec_mxc messages when booting off mmc
After the recent changes to add SimpleNetworkProtocol to efi_loader when booting off mmc via an efi payload that doesn't use SimpleNetworkProtocol U-Boot's fec_mxc driver will now display various "error frame" messages.
U-Boot SPL 2017.11-rc1-00277-g7b342d8c5d (Oct 15 2017 - 12:55:50) Trying to boot from MMC1
U-Boot 2017.11-rc1-00277-g7b342d8c5d (Oct 15 2017 - 12:55:50 +1100)
CPU: Freescale i.MX6Q rev1.5 996 MHz (running at 792 MHz) CPU: Extended Commercial temperature grade (-20C to 105C) at 32C Reset cause: WDOG Board: MX6 Cubox-i DRAM: 2 GiB MMC: FSL_SDHC: 0 No panel detected: default to HDMI Display: HDMI (1024x768) In: serial Out: serial Err: serial Net: FEC Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
reading /imx6q-cubox-i.dtb
37669 bytes read in 20 ms (1.8 MiB/s)
Found EFI removable media binary efi/boot/bootarm.efi Scanning disks on usb...
Scanning disks on mmc...
MMC Device 1 not found
MMC Device 2 not found
MMC Device 3 not found
Scanning disks on sata...
Found 6 disks
reading efi/boot/bootarm.efi
67372 bytes read in 32 ms (2 MiB/s)
## Starting EFI application at 12000000 ...
Quoted 1 line
Quoted 1 line
OpenBSD/armv7 BOOTARM 1.0
error frame: 0x8f57ec40 0x00003d74 error frame: 0x8f57ec40 0x00007079 error frame: 0x8f57ec40 0x00006964 error frame: 0x8f57ec40 0x00006f6f error frame: 0x8f57ec40 0x0000726f error frame: 0x8f57ec40 0x00002074 error frame: 0x8f57ec40 0x00006f6f boot> error frame: 0x8f57ec40 0x00007465 error frame: 0x8f57ec80 0x00007220 error frame: 0x8f57ec80 0x00006374 error frame: 0x8f57ec80 0x00007261 error frame: 0x8f57ec80 0x00006f64 error frame: 0x8f57ec80 0x0000385f error frame: 0x8f57ec80 0x00002d31 error frame: 0x8f57ec80 0x00006431 error frame: 0x8f57ec80 0x0000302d error frame: 0x8f57ecc0 0x00003233 error frame: 0x8f57ecc0 0x00006e49 error frame: 0x8f57ecc0 0x00006e6f error frame: 0x8f57ecc0 0x00007472 error frame: 0x8f57ecc0 0x0000622c error frame: 0x8f57ecc0 0x00006f6c error frame: 0x8f57ecc0 0x00003030 error frame: 0x8f57ecc0 0x00003030 error frame: 0x8f57ed00 0x0000645f error frame: 0x8f57ed00 0x00006966 error frame: 0x8f57ed00 0x0000642f error frame: 0x8f57ed00 0x00006274 error frame: 0x8f57ed00 0x0000746e error frame: 0x8f57ed00 0x00006466 error frame: 0x8f57ed00 0x00006d69 error frame: 0x8f57ed00 0x00006f62 error frame: 0x8f57ed40 0x00000062 error frame: 0x8f57ed40 0x0000463d error frame: 0x8f57ed40 0x00006461 error frame: 0x8f57ed40 0x00003336 error frame: 0x8f57ed40 0x0000383a error frame: 0x8f57ed40 0x00007464 error frame: 0x8f57ed40 0x00007830 error frame: 0x8f57ed40 0x00003030 error frame: 0x8f57ed80 0x00006464 error frame: 0x8f57ed80 0x00003831 error frame: 0x8f57ed80 0x00003d68 error frame: 0x8f57ed80 0x00006666 error frame: 0x8f57ed80 0x00006461 error frame: 0x8f57ed80 0x00003030 error frame: 0x8f57ed80 0x00006674 error frame: 0x8f57edc0 0x00003678 error frame: 0x8f57edc0 0x00002d78 error frame: 0x8f57edc0 0x00006966 error frame: 0x8f57edc0 0x0000313d error frame: 0x8f57edc0 0x00000030 error frame: 0x8f57edc0 0x0000657a error frame: 0x8f57edc0 0x0000693d error frame: 0x8f57ee00 0x00002420 error frame: 0x8f57ee00 0x0000616e error frame: 0x8f57ee00 0x00004d55 error frame: 0x8f57ee00 0x00005241 error frame: 0x8f57ee00 0x00006574 error frame: 0x8f57ee00 0x00007261 error frame: 0x8f57ee00 0x0000203d error frame: 0x8f57ee00 0x00007420
booting sd0a:/bsd: 3926840+164812+561396|[283058+90+521360+245040]=0x571a54 Writing to MMC(0)... done
OpenBSD/armv7 booting ...
Hello Jonathan,
the only place where I can find a string 'error frame:' is in drivers/net/fec_mxc (line 885).
It indicates that any of the following conditions was met Frame length violation
Nonoctet align frame
Receive BD status: CRC error
Receive FIFO overrun
Receive BD status: Frame is truncated
A receive FIFO overrun can be expected if network packages are not processed.
With the network patches we check if a package is available quite often.
I think that printf should be replaced by debug here like in other drivers (drivers/net/ethoc.c:383).
Further drivers that will print an error message if an overrun occurs are:drivers/net/mvneta.c:952 (Marvell Armada 385 network interface) drivers/net/mvpp2.c:4458 (Marvell Armada 375/7K/8K network interface)
Best regards
Heinrich
Quoted 109 lines · Jonathan Gray
After the recent changes to add SimpleNetworkProtocol to
efi_loaderwhen booting off mmc via an efi payload that doesn't use SimpleNetworkProtocol U-Boot'sfec_mxcdriver will now display various "error frame" messages.U-Boot SPL 2017.11-rc1-00277-g7b342d8c5d (Oct 15 2017 - 12:55:50) Trying to boot from MMC1
U-Boot 2017.11-rc1-00277-g7b342d8c5d (Oct 15 2017 - 12:55:50 +1100)
CPU: Freescale i.MX6Q rev1.5 996 MHz (running at 792 MHz) CPU: Extended Commercial temperature grade (-20C to 105C) at 32C Reset cause: WDOG Board: MX6 Cubox-i DRAM: 2 GiB MMC: FSL_SDHC: 0 No panel detected: default to HDMI Display: HDMI (1024x768) In: serial Out: serial Err: serial Net: FEC Hit any key to stop autoboot: 0switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
reading /imx6q-cubox-i.dtb
37669 bytes read in 20 ms (1.8 MiB/s)
Found EFI removable media binary efi/boot/bootarm.efi Scanning disks on usb...
Scanning disks on mmc...
MMC Device 1 not found
MMC Device 2 not found
MMC Device 3 not found
Scanning disks on sata...
Found 6 disks
reading efi/boot/bootarm.efi
67372 bytes read in 32 ms (2 MiB/s)
## Starting EFI application at 12000000 ...Quoted 1 line
Quoted 1 line
OpenBSD/armv7 BOOTARM 1.0
error frame:
0x8f57ec400x00003d74error frame:0x8f57ec400x00007079error frame:0x8f57ec400x00006964error frame:0x8f57ec400x00006f6ferror frame:0x8f57ec400x0000726ferror frame:0x8f57ec400x00002074error frame:0x8f57ec400x00006f6fboot> error frame:0x8f57ec400x00007465error frame:0x8f57ec800x00007220error frame:0x8f57ec800x00006374error frame:0x8f57ec800x00007261error frame:0x8f57ec800x00006f64error frame:0x8f57ec800x0000385ferror frame:0x8f57ec800x00002d31error frame:0x8f57ec800x00006431error frame:0x8f57ec800x0000302derror frame:0x8f57ecc00x00003233error frame:0x8f57ecc00x00006e49error frame:0x8f57ecc00x00006e6ferror frame:0x8f57ecc00x00007472error frame:0x8f57ecc00x0000622cerror frame:0x8f57ecc00x00006f6cerror frame:0x8f57ecc00x00003030error frame:0x8f57ecc00x00003030error frame:0x8f57ed000x0000645ferror frame:0x8f57ed000x00006966error frame:0x8f57ed000x0000642ferror frame:0x8f57ed000x00006274error frame:0x8f57ed000x0000746eerror frame:0x8f57ed000x00006466error frame:0x8f57ed000x00006d69error frame:0x8f57ed000x00006f62error frame:0x8f57ed400x00000062error frame:0x8f57ed400x0000463derror frame:0x8f57ed400x00006461error frame:0x8f57ed400x00003336error frame:0x8f57ed400x0000383aerror frame:0x8f57ed400x00007464error frame:0x8f57ed400x00007830error frame:0x8f57ed400x00003030error frame:0x8f57ed800x00006464error frame:0x8f57ed800x00003831error frame:0x8f57ed800x00003d68error frame:0x8f57ed800x00006666error frame:0x8f57ed800x00006461error frame:0x8f57ed800x00003030error frame:0x8f57ed800x00006674error frame:0x8f57edc00x00003678error frame:0x8f57edc00x00002d78error frame:0x8f57edc00x00006966error frame:0x8f57edc00x0000313derror frame:0x8f57edc00x00000030error frame:0x8f57edc00x0000657aerror frame:0x8f57edc00x0000693derror frame:0x8f57ee000x00002420error frame:0x8f57ee000x0000616eerror frame:0x8f57ee000x00004d55error frame:0x8f57ee000x00005241error frame:0x8f57ee000x00006574error frame:0x8f57ee000x00007261error frame:0x8f57ee000x0000203derror frame:0x8f57ee000x00007420booting sd0a:/bsd: 3926840+164812+561396|[283058+90+521360+245040]=0x571a54 Writing to MMC(0)... done
OpenBSD/armv7 booting ...
Hi Heinrich,
Quoted 12 lines · Heinrich Schuchardt
Hello Jonathan,
the only place where I can find a string 'error frame:' is in
drivers/net/fec_mxc(line 885).It indicates that any of the following conditions was met Frame length violation
Nonoctet align frame
Receive BD status: CRC error
Receive FIFO overrun
Receive BD status: Frame is truncated
Quoted 7 lines
A receive FIFO overrun can be expected if network packages are not processed.
With the network patches we check if a package is available quite often.
I think that printf should be replaced by debug here like in other drivers (
drivers/net/ethoc.c:383).
Agreed. I have just sent a patch with your suggestion.
Thanks