[U-Boot] 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 ...
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
On 10/15/2017 04:36 AM, Jonathan Gray wrote:
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 ...
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 ...

Hi Heinrich,
On Sun, Oct 15, 2017 at 1:33 AM, Heinrich Schuchardt xypron.glpk@gmx.de wrote:
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).
Agreed. I have just sent a patch with your suggestion.
Thanks
participants (3)
-
Fabio Estevam
-
Heinrich Schuchardt
-
Jonathan Gray