BPI-R3 won't boot - Loading MMC instead of SD

If you format with NTFS that implies you are creating a single partition covering all the card. As GPT is stored in the beginning as well as the end of the disk, most likely the backup GPT at the end of the disk survived the subsequent overwriting with the OpenWrt image…

On Windows I recommend to use Balena Etcher or similar tool to be on the safe side.

The failing image was creaed using dd command on my Mac which suffered form a heart attack. On Windows I used Balena but even after burning again yesterday / forelast day it kept failing. Only with todays snapshot it worked.

I’m having the same issue with Transcend 32 GB SD Card, rebooting from luci shows in serial console an attempt to boot via TFTP. PS: I did boot from NAND (1011), ran fsck.f2fs on /dev/mmcblk0p66 - no issues. Also parted doesn’t complain on issues with partitions. If I unplug the power socket and plug it back - it boots just fine.

The Banana Pi is configured as Access Point (Brige mode), the WAN port is connected to BT Smart Hub 2 (DHCP server + NAT Gateway). Banana Pi ackquires an IP from Hub via DHCP.

Tried another SD cards made by SAMSUNG, SunDisk - same result.

Banana Pi BPI-R3 V1.1 OpenWRT 23.05.4

Here is serial log:

F0: 102B 0000
FA: 1040 0000
FA: 1040 0000 [0200]
F9: 103F 0000
F3: 1001 0000 [0200]
F3: 1001 0000
F6: 300C 0028
F5: 0000 0000
V0: 0000 0000 [0001]
00: 0000 0000
BP: 2400 0041 [0000]
G0: 1190 0000
EC: 0000 0000 [3000]
T0: 0000 026C [010F]
Jump to BL

NOTICE:  BL2: v2.9(release):OpenWrt v2023-07-24-00ac6db3-2 (mt7986-sdmmc-ddr4)
NOTICE:  BL2: Built : 22:09:42, Mar 22 2024
NOTICE:  WDT: Cold boot
NOTICE:  WDT: disabled
NOTICE:  CPU: MT7986 (2000MHz)
NOTICE:  EMI: Using DDR4 settings
NOTICE:  EMI: Detected DRAM size: 2048MB
NOTICE:  EMI: complex R/W mem test passed
NOTICE:  BL2: Booting BL31
NOTICE:  BL31: v2.9(release):OpenWrt v2023-07-24-00ac6db3-2 (mt7986-sdmmc-ddr4)
NOTICE:  BL31: Built : 22:09:42, Mar 22 2024

U-Boot 2023.07.02-OpenWrt-r23809-234f1a2efa (Mar 22 2024 - 22:09:42 +0000)

CPU:   MediaTek MT7986
Model: BananaPi BPi-R3
DRAM:  2 GiB
Core:  53 devices, 24 uclasses, devicetree: embed
jedec_spi_nor spi_nor@0: unrecognized JEDEC id bytes: ff, ef, aa
MMC:   mmc@11230000: 0
Loading Environment from MMC... *** Error - No Valid Environment Area found
*** Warning - bad env area, using default environment

In:    serial@11002000
Out:   serial@11002000
Err:   serial@11002000
Loading Environment from MMC... *** Error - No Valid Environment Area found
*** Warning - bad env area, using default environment

Net:
Warning: ethernet@15100000 (eth0) using random MAC address - f6:58:5a:d2:57:67
eth0: ethernet@15100000
No EFI system partition
No EFI system partition
Failed to persist EFI variables
Saving Environment to MMC... Writing to redundant MMC(0)... failed
Failed (1)
Saving Environment to MMC... Writing to redundant MMC(0)... failed
Failed (1)
Button 'reset' not found (err=-16)

        ( ( ( OpenWrt ) ) )  [SD card]       U-Boot 2023.07.02-OpenWrt-r23809-23          
      1. Run default boot command.
      2. Boot system via TFTP.
      3. Boot production system from SD card.
      4. Boot recovery system from SD card.
      5. Load production system via TFTP then write to SD card.
      6. Load recovery system via TFTP then write to SD card.
      7. Install bootloader, recovery and production to NOR.
      8. Install bootloader, recovery and production to NAND.
      9. Reboot.
      a. Reset all settings to factory defaults.
      0. U-Boot console


  Press UP/DOWN to move, ENTER to select, ESC to quit
spi-nand: spi_nand spi_nand@1: Winbond SPI NAND was found.
spi-nand: spi_nand spi_nand@1: 128 MiB, block size: 128 KiB, page size: 2048, OO          B size: 64
jedec_spi_nor spi_nor@0: unrecognized JEDEC id bytes: 00, ef, aa
'spi-nand0' is now active device
* spi-nand0
  - device: spi_nand@1
  - parent: spi@1100a000
  - driver: spi_nand
  - type: NAND flash
  - block size:        0x20000 bytes
  - page size:         0x800 bytes
  - OOB size:          64 bytes
  - OOB available:     24 bytes
  - 0x000000000000-0x000008000000 : "spi-nand0"
          - 0x000000000000-0x000000080000 : "bl2"
          - 0x000000080000-0x000000380000 : "factory"
          - 0x000000380000-0x000000580000 : "fip"
          - 0x000000580000-0x000008000000 : "ubi"
* spi-nand0
  - device: spi_nand@1
  - parent: spi@1100a000
  - driver: spi_nand
  - type: NAND flash
  - block size:        0x20000 bytes
  - page size:         0x800 bytes
  - OOB size:          64 bytes
  - OOB available:     24 bytes
  - 0x000000000000-0x000008000000 : "spi-nand0"
          - 0x000000000000-0x000000080000 : "bl2"
          - 0x000000080000-0x000000380000 : "factory"
          - 0x000000380000-0x000000580000 : "fip"
          - 0x000000580000-0x000008000000 : "ubi"
* spi-nand0
  - device: spi_nand@1
  - parent: spi@1100a000
  - driver: spi_nand
  - type: NAND flash
  - block size:        0x20000 bytes
  - page size:         0x800 bytes
  - OOB size:          64 bytes
  - OOB available:     24 bytes
  - 0x000000000000-0x000008000000 : "spi-nand0"
          - 0x000000000000-0x000000080000 : "bl2"
          - 0x000000080000-0x000000380000 : "factory"
          - 0x000000380000-0x000000580000 : "fip"
          - 0x000000580000-0x000008000000 : "ubi"
* spi-nand0
  - device: spi_nand@1
  - parent: spi@1100a000
  - driver: spi_nand
  - type: NAND flash
  - block size:        0x20000 bytes
  - page size:         0x800 bytes
  - OOB size:          64 bytes
  - OOB available:     24 bytes
  - 0x000000000000-0x000008000000 : "spi-nand0"
          - 0x000000000000-0x000000080000 : "bl2"
          - 0x000000080000-0x000000380000 : "factory"
          - 0x000000380000-0x000000580000 : "fip"
          - 0x000000580000-0x000008000000 : "ubi"
Using ethernet@15100000 device
TFTP from server 192.168.1.254; our IP address is 192.168.1.1
Filename 'openwrt-mediatek-filogic-bananapi_bpi-r3-initramfs-recovery.itb'.
Load address: 0x46000000
Loading: * spi-nand0
  - device: spi_nand@1
  - parent: spi@1100a000
  - driver: spi_nand
  - type: NAND flash
  - block size:        0x20000 bytes
  - page size:         0x800 bytes
  - OOB size:          64 b▒▒Using ethernet@15100000 device
TFTP from server 192.168.1.254; our IP address is 192.168.1.1
Filename 'openwrt-mediatek-filogic-bananapi_bpi-r3-initramfs-recovery.itb'.
Load address: 0x46000000
Loading: *
ARP Retry count exceeded; starting again
Wrong Image Format for bootm command
ERROR: can't get kernel image!
* spi-nand0
  - device: spi_nand@1
  - parent: spi@1100a000
  - driver: spi_nand
  - type: NAND flash
  - block size:        0x20000 bytes
  - page size:         0x800 bytes
  - OOB size:          64 bytes
  - OOB available:     24 bytes
  - 0x000000000000-0x000008000000 : "spi-nand0"
          - 0x000000000000-0x000000080000 : "bl2"
          - 0x000000080000-0x000000380000 : "factory"
          - 0x000000380000-0x000000580000 : "fip"
          - 0x000000580000-0x000008000000 : "ubi"

Any idea why this might happen ?

as in the existing threads i guess that the recovery-from-tftp is triggerened by previous errors

Saving Environment to MMC... Writing to redundant MMC(0)... failed
Failed (1)
Saving Environment to MMC... Writing to redundant MMC(0)... failed
Failed (1)
Button 'reset' not found (err=-16)

not sure why these happen exactly