[BPI-R3 Mini] Boot from NAND fails

You really really really really have to build a custom bl2. NONE of the existing release binaries will work. The tool is working fine, but the bl2 image needs to be a special one specifically compiled for loading FIP via UART, otherwise it won’t work.

Can bpi or mtk release such binaries (if code is closed) for recovering r3mini?

Or do we only need some specific options set in atf and uboot?

this looks related:

plat/mediatek/mt7986/platform.mk:57:$(call MAKE_DEP,bl2,bl2_boot_ram,RAM_BOOT_DEBUGGER_HOOK RAM_BOOT_UART_DL)

seems it can be enabled via

plat/mediatek/apsoc_common/bl2/bl2_image.mk:32:ifeq ($(RAM_BOOT_UART_DL), 1)

:slight_smile:

It’s very easy to build the “special” bl2 from source:

git clone https://github.com/mtk-openwrt/arm-trusted-firmware.git
cd arm-trusted-firmware
make CROSS_COMPILE=aarch64-none-elf- PLAT=mt7986 DRAM_USE_DDR4=1 RAM_BOOT_UART_DL=1 BOOT_DEVICE=ram

Edit: LOL, there is even make menuconfig now in TF-A, that makes it extra easy.

1 Like

thx so i was on the right track :wink: will try it too when i’m back home

:rofl:

Yep, that worked pretty much out of the box, I’m now sitting in uboot, but I’m not sure yet where to take it from here

Edit: for completeness:

apt install device-tree-compiler # (Plus probably a ton of other stuff I already had)
git clone https://github.com/mtk-openwrt/arm-trusted-firmware.git bl2
mkdir -p bl2/gcc
cd bl2/gcc
curl -L 'https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-elf.tar.xz' | tar -xJv
cd .. 
make PATH="$PWD/gcc/arm-gnu-toolchain-13.2.Rel1-x86_64-aarch64-none-elf/bin:$PATH" CROSS_COMPILE=aarch64-none-elf- PLAT=mt7986 DRAM_USE_DDR4=1 RAM_BOOT_UART_DL=1 BOOT_DEVICE=ram
mtk_uartboot --aarch64 --payload /build/bl2/build/mt7986/release/bl2.bin --fip ../openwrt-mediatek-filogic-bananapi_bpi-r3-mini-emmc-bl31-uboot.fip

Great, so now you have many options, but it’s still a bit tricky, because the Airoha PHY firmware supposedly also cannot yet be loaded from anywhere, so you won’t have Ethernet in U-Boot. As you were loading the for-eMMC-build of U-Boot, it tries to find the Airoha PHY firmware in /dev/mmcblk0boot1. First thing is to store it there, so Ethernet works and then you can continue to load all the rest much faster via Ethernet.

This is how:

  1. Create concatenated firmware binary on your nearly Linux host:
cat /lib/firmware/airoha/EthMD32.dm.bin /lib/firmware/airoha/EthMD32.DSP.bin > /tmp/en8811h-firmware

(if the files don’t exist in your Linux installation you may download them from the linux-firmware repository)

  1. Use loady command in U-Boot to load this binary via YModem protocol (use lrzsz package on your host).
loady $loadaddr
  1. Write the binary data to the boot1 hardware partition of the eMMC
mmc partconf 0 1 2 2
mmc erase 0x0 0x120
mmc write $loadaddr 0x0 0x120
mmc partconf 0 1 1 0
  1. Call bootmenu and use the menu to write BL2, FIP and firmware to eMMC The first Ethernet port (near USB-C power connector) needs to be connected to your computer providing a TFTP server on static address 192.168.1.254/24. It should serve the r3-mini related files from Index of /snapshots/targets/mediatek/filogic/ or bin/targets/mediatek/filogic of your local build.

  2. If you want to run OpenWrt also from SPI-NAND:

tftpboot openwrt-mediatek-filogic-bananapi_bpi-r3-mini-snand-factory.bin
mtd erase spi-nand0
mtd write spi-nand0 $loadaddr $filesize
2 Likes

Progress? I at least make it to linux/initramfs now, but now we got new and exciting issues

[    2.708388] mtk-msdc 11230000.mmc: Final PAD_DS_TUNE: 0x14014
[    2.715317] mmc0: new HS400 MMC card at address 0001
[    2.721174] mmcblk0: mmc0:0001 008GB0 7.28 GiB 
[    2.727443] mmcblk0boot0: mmc0:0001 008GB0 4.00 MiB 
[    2.733287] mmcblk0boot1: mmc0:0001 008GB0 4.00 MiB 
[    2.738487] mmcblk0rpmb: mmc0:0001 008GB0 4.00 MiB, chardev (249:0)
[    2.999219] mtk-pcie-gen3 11280000.pcie: PCIe link down, current LTSSM state: detect.quiet (0x1)
[    3.008014] mtk-pcie-gen3: probe of 11280000.pcie failed with error -110
[    3.017897] FIT: Detected U-Boot 2024.01-OpenWrt-r25361-a86ff06d2e
[    3.024077] FIT: Selected configuration: "config-mt7986a-bananapi-bpi-r3-mini" (OpenWrt bananapi_bpi-r3-mini)
[    3.033978] FIT:           kernel sub-image 0x00001000..0x0056c283 "kernel-1" (ARM64 OpenWrt Linux-6.1.79) 
[    3.043707] FIT:          flat_dt sub-image 0x0056d000..0x005743b1 "fdt-1" (ARM64 OpenWrt bananapi_bpi-r3-mini device tree blob) 
[    3.055344] FIT:       filesystem sub-image 0x00575000..0x00a88fff "rootfs-1" (ARM64 OpenWrt bananapi_bpi-r3-mini rootfs) 
[    3.066706] block ubiblock0_4: mapped 1 uImage.FIT filesystem sub-image as /dev/fit0
[    3.076904] UBI: auto-attach mtd1
[    3.080218] ubi: mtd1 is already attached to ubi0
[    3.084908] UBI error: cannot attach mtd1
[    3.121835] VFS: Mounted root (squashfs filesystem) readonly on device 259:0.
# ...

[    3.731521] init: - preinit -
[    4.449243] mtk_soc_eth 15100000.ethernet eth0: validation of 2500base-x with support 00000000,00000000,000062e8 and advertisement 00000000,00000000,000062c0 failed: -EINVAL
[    4.464795] leds mdio-bus:0e:green:lan: Setting an LED's brightness failed (-524)
[    4.472356] leds mdio-bus:0e:yellow:lan: Setting an LED's brightness failed (-524)
[    4.519200] mtk_soc_eth 15100000.ethernet eth0: mtk_open: could not attach PHY: -22
ip: SIOCSIFFLAGS: Invalid argument


#But it boots! ...mostly

root@(none):/# ifconfig eth0 192.168.1.5
[  108.389252] mtk_soc_eth 15100000.ethernet eth0: validation of 2500base-x with support 00000000,00000000,000062e8 and advertisement 00000000,00000000,000062c0 failed: -EINVAL
[  108.404801] leds mdio-bus:0e:green:lan: Setting an LED's brightness failed (-524)
[  108.412352] leds mdio-bus:0e:yellow:lan: Setting an LED's brightness failed (-524)
[  108.419960] leds cgroup.procs: Setting an LED's brightness failed (-524)
[  108.426649] Unable to handle kernel access to user memory outside uaccess routines at virtual address 0000000000000008
[  108.437324] Mem abort info:
[  108.440106]   ESR = 0x0000000096000005
[  108.443837]   EC = 0x25: DABT (current EL), IL = 32 bits
[  108.449129]   SET = 0, FnV = 0
[  108.452172]   EA = 0, S1PTW = 0
[  108.455297]   FSC = 0x05: level 1 translation fault
[  108.460158] Data abort info:
[  108.463022]   ISV = 0, ISS = 0x00000005
[  108.466840]   CM = 0, WnR = 0
[  108.469795] user pgtable: 4k pages, 39-bit VAs, pgdp=0000000040fc8000
[  108.476216] [0000000000000008] pgd=0800000042956003, p4d=0800000042956003, pud=0800000042956003, pmd=0000000000000000
[  108.486807] Internal error: Oops: 0000000096000005 [#1] SMP
[  108.492360] Modules linked in:
[  108.495400] CPU: 2 PID: 1831 Comm: ifconfig Not tainted 6.1.77 #0
[  108.501474] Hardware name: Bananapi BPi-R3 Mini (DT)
[  108.506419] pstate: 00400005 (nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[  108.513360] pc : kernfs_find_and_get_ns+0x1c/0x70
[  108.518053] lr : sysfs_unmerge_group+0x20/0x64
[  108.522481] sp : ffffffc00b7ab870
[  108.525778] x29: ffffffc00b7ab870 x28: ffffff8001035940 x27: 0000000000000000
[  108.532894] x26: 0501a8c000001043 x25: ffffff800119b800 x24: 0000000000000000
[  108.540009] x23: 0000000000000080 x22: 0000000000000000 x21: ffffffc0088e5978
[  108.547125] x20: ffffffc0088e5858 x19: 0000000000000000 x18: 00000000000000d1
[  108.554240] x17: 2064656c69616620 x16: 7373656e74686769 x15: ffffffc008b89aa0
[  108.561355] x14: 0129e875afe29226 x13: ffffffc008887720 x12: 00000000dbfbb796
[  108.568470] x11: 00000000000002d6 x10: 00000000000008c0 x9 : ffffffc00b7ab760
[  108.575586] x8 : ffffff8000c6f2e0 x7 : 0000000000000002 x6 : 0000000000000001
[  108.582701] x5 : 000000193c715800 x4 : 0000000000000000 x3 : ffffff8000c6e9c0
[  108.589815] x2 : 0000000000000000 x1 : ffffffc0088e5978 x0 : 0000000000000000
[  108.596931] Call trace:
[  108.599362]  kernfs_find_and_get_ns+0x1c/0x70
[  108.603704]  sysfs_unmerge_group+0x20/0x64
[  108.607783]  dpm_sysfs_remove+0x2c/0x70
[  108.611605]  device_del+0xa4/0x440
[  108.614994]  device_unregister+0x14/0x30
[  108.618900]  led_classdev_unregister+0x84/0xf0
[  108.623330]  phy_remove+0x38/0x90
[  108.626633]  device_remove+0x68/0x7c
[  108.630195]  device_release_driver_internal+0x1d4/0x240
[  108.635403]  device_release_driver+0x14/0x20
[  108.639657]  phy_detach+0xc4/0x15c
[  108.643044]  phylink_fwnode_phy_connect+0xe4/0x100
[  108.647817]  phylink_of_phy_connect+0x18/0x20
[  108.652156]  mtk_open+0x34/0xa20
[  108.655372]  __dev_open+0x10c/0x1a4
[  108.658850]  __dev_change_flags+0x138/0x190
[  108.663017]  dev_change_flags+0x20/0x60
[  108.666838]  devinet_ioctl+0x38c/0x680
[  108.670572]  inet_ioctl+0x228/0x240
[  108.674046]  sock_ioctl+0x2c8/0x430
[  108.677524]  __arm64_sys_ioctl+0x4b8/0xedc
[  108.681607]  invoke_syscall.constprop.0+0x4c/0xe0
[  108.686294]  do_el0_svc+0x40/0xd0
[  108.689593]  el0_svc+0x14/0x4c
[  108.692635]  el0t_64_sync_handler+0xec/0x120
[  108.696889]  el0t_64_sync+0x14c/0x150
[  108.700538] Code: aa0003f3 a9025bf5 aa0103f5 aa0203f6 (f9400400) 
[  108.706611] ---[ end trace 0000000000000000 ]---
[  108.713773] Kernel panic - not syncing: Oops: Fatal exception
[  108.719500] SMP: stopping secondary CPUs
[  108.723408] Kernel Offset: disabled
[  108.726879] CPU features: 0x00000,00000004,0000400b
[  108.731739] Memory Limit: none
[  108.737243] Rebooting in 3 seconds..

Cut down as much as I could, lmk if you want me to upload the full dmesg somewhere

You are missing kmod-phy-airoha-en8811h. And yes, kernel LED core shouldn’t crash when trying to configure a LED on a PHY which doesn’t have a driver yet, anyway, but that’s another problem…

…May have found the issue :upside_down_face:

brw-------    1 root     root      179,   0 Jan  1  1970 mmcblk0
brw-------    1 root     root      179,   8 Jan  1  1970 mmcblk0boot0
brw-------    1 root     root      179,  16 Jan  1  1970 mmcblk0boot1
crw-------    1 root     root      249,   0 Jan  1  1970 mmcblk0rpmb

mmcblk0 is supposed to have. partitions. on it right

Alright, I think I’ve got the partitions set back up on emmc by writing the gpt to 0x0, but it’s still not loading the firmware.

root@(none):/dev# dd if=mmcblk0boot1 bs=144k count=1 | md5sum
7b143b746e9b786396249bec507fd566  -
[    3.564207] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    3.571560] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    3.577812] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020000000..0x002fffffff -> 0x0020000000
[    3.628346] mtk-msdc 11230000.mmc: Final PAD_DS_TUNE: 0x14014
[    3.635275] mmc0: new HS400 MMC card at address 0001
[    3.641108] mmcblk0: mmc0:0001 008GB0 7.28 GiB 
[    3.647437] Alternate GPT is invalid, using primary GPT.
[    3.653484]  mmcblk0: p1 p2 p3 p4 p5 p128
[    3.658608] mmcblk0boot0: mmc0:0001 008GB0 4.00 MiB 
[    3.664399] mmcblk0boot1: mmc0:0001 008GB0 4.00 MiB 
[    3.669589] mmcblk0rpmb: mmc0:0001 008GB0 4.00 MiB, chardev (249:0)
[    3.919193] mtk-pcie-gen3 11280000.pcie: PCIe link down, current LTSSM state: detect.quiet (0x1)
[    3.927984] mtk-pcie-gen3: probe of 11280000.pcie failed with error -110
[    3.935820] FIT: Detected U-Boot 2024.01-OpenWrt-r25361-a86ff06d2e

[    4.572609] init: - preinit -
[    4.819221] mtk_soc_eth 15100000.ethernet eth0: validation of 2500base-x with support 00000000,00000000,000062e8 and advertisement 00000000,00000000,000062c0 failed: -EINVAL
[    4.834769] leds mdio-bus:0e:green:lan: Setting an LED's brightness failed (-524)
[    4.842396] leds mdio-bus:0e:yellow:lan: Setting an LED's brightness failed (-524)
[    4.889176] mtk_soc_eth 15100000.ethernet eth0: mtk_open: could not attach PHY: -22
ip: SIOCSIFFLAGS: Invalid argument

[   13.509216] mtk_soc_eth 15100000.ethernet eth0: validation of 2500base-x with support 00000000,00000000,000062e8 and advertisement 00000000,00000000,000062c0 failed: -EINVAL
[   13.524770] leds mdio-bus:0e:green:lan: Setting an LED's brightness failed (-524)
[   13.532345] leds mdio-bus:0e:yellow:lan: Setting an LED's brightness failed (-524)
[   13.539971] Unable to handle kernel access to user memory outside uaccess routines at virtual address 0000000000000068
[   13.550648] Mem abort info:
[   13.553427]   ESR = 0x0000000096000005
[   13.557159]   EC = 0x25: DABT (current EL), IL = 32 bits
[   13.562459]   SET = 0, FnV = 0
[   13.565498]   EA = 0, S1PTW = 0
[   13.568623]   FSC = 0x05: level 1 translation fault
[   13.573486] Data abort info:
[   13.576351]   ISV = 0, ISS = 0x00000005
[   13.580174]   CM = 0, WnR = 0
[   13.583126] user pgtable: 4k pages, 39-bit VAs, pgdp=0000000043e2b000
[   13.589550] [0000000000000068] pgd=08000000453f4003, p4d=08000000453f4003, pud=08000000453f4003, pmd=0000000000000000
[   13.600143] Internal error: Oops: 0000000096000005 [#1] SMP
[   13.605696] Modules linked in: pppoe ppp_async nft_fib_inet nf_flow_table_inet pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_objref nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack mt7915e mt76_connac_lib mt76 mac80211 cfg80211 slhc nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c compat crypto_safexcel pwm_fan sha1_generic seqiv md5 des_generic libdes authencesn authenc leds_gpio xhci_plat_hcd xhci_pci xhci_mtk_hcd xhci_hcd gpio_button_hotplug usbcore usb_common
[   13.665949] CPU: 3 PID: 1558 Comm: netifd Not tainted 6.1.77 #0
[   13.671850] Hardware name: Bananapi BPi-R3 Mini (DT)
[   13.676796] pstate: 00400005 (nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   13.683737] pc : led_classdev_unregister+0x10/0xf0
[   13.688517] lr : phy_remove+0x38/0x90
[   13.692167] sp : ffffffc00b30b9f0
[   13.695464] x29: ffffffc00b30b9f0 x28: ffffff8000929940 x27: 0000000000000000
[   13.702580] x26: 0000007fea8da278 x25: 0000000000001003 x24: ffffffc0088fb1e0
[   13.709696] x23: 0000000000000080 x22: ffffff8000924880 x21: ffffff8000924c18
[   13.716811] x20: ffffff8000924800 x19: 0000000000000018 x18: 0000000000000002
[   13.723927] x17: 2064656c69616620 x16: 7373656e74686769 x15: 75622d6f69646d2f
[   13.731042] x14: 0000000000000004 x13: ffffff8000025910 x12: 0000000000000000
[   13.738157] x11: ffffff800045be10 x10: ffffff800045bd98 x9 : ffffff8000025910
[   13.745273] x8 : ffffff800045bdc0 x7 : 0000000000000000 x6 : 0000000000000008
[   13.752387] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000001
[   13.759503] x2 : ffffffffffffffff x1 : ffffff80018ca550 x0 : 0000000000000018
[   13.766619] Call trace:
[   13.769051]  led_classdev_unregister+0x10/0xf0
[   13.773477]  phy_remove+0x38/0x90
[   13.776779]  device_remove+0x68/0x7c
[   13.780342]  device_release_driver_internal+0x1d4/0x240
[   13.785549]  device_release_driver+0x14/0x20
[   13.789804]  phy_detach+0xc4/0x15c
[   13.793191]  phylink_fwnode_phy_connect+0xe4/0x100
[   13.797964]  phylink_of_phy_connect+0x18/0x20
[   13.802303]  mtk_open+0x34/0xa20
[   13.805519]  __dev_open+0x10c/0x1a4
[   13.808996]  __dev_change_flags+0x138/0x190
[   13.813164]  dev_change_flags+0x20/0x60
[   13.816984]  dev_ifsioc+0x434/0x454
[   13.820461]  dev_ioctl+0x144/0x4d0
[   13.823849]  sock_ioctl+0x1ac/0x430
[   13.827326]  __arm64_sys_ioctl+0x4b8/0xedc
[   13.831410]  invoke_syscall.constprop.0+0x4c/0xe0
[   13.836098]  do_el0_svc+0x40/0xd0
[   13.839397]  el0_svc+0x14/0x4c
[   13.842439]  el0t_64_sync_handler+0xec/0x120
[   13.846693]  el0t_64_sync+0x14c/0x150
[   13.850344] Code: a9be7bfd 910003fd a90153f3 aa0003f3 (f9402800) 
[   13.856416] ---[ end trace 0000000000000000 ]---
[   13.863897] Kernel panic - not syncing: Oops: Fatal exception
[   13.869624] SMP: stopping secondary CPUs
[   13.873532] Kernel Offset: disabled
[   13.877002] CPU features: 0x00000,00000004,0000400b
[   13.881863] Memory Limit: none
[   13.887688] Rebooting in 3 seconds..

Edit: I’m also noticing that there’s no /lib/firmware/airoha in whatever rootfs this is sourcing

Please delete .config and start over with make menuconfig again. Then all packages (en8811h-firmware, kmod-phy-airoha-en8811h, …) needed for the R3 mini will be automatically selected. Or use images available for download from openwrt.org first and then move to your own builds once you verified that everything is fine with official builds: Index of /snapshots/targets/mediatek/filogic/

The prod itb I was using was official from feb 16, I downloaded the mar2 build, and now that’s working fine. The recovery itb I believe is mar 1 though, and does not have anything in /lib/firmware

-rw-rw-r-- 1 kevok kevok 7471104 Mar  1 20:50 openwrt-mediatek-filogic-bananapi_bpi-r3-mini-initramfs-recovery.itb
9826ea59f03b34141965dfa1e3ff3710966e65f690d39576c89d50bca271cdff  openwrt-mediatek-filogic-bananapi_bpi-r3-mini-initramfs-recovery.itb
   Using 'config-mt7986a-bananapi-bpi-r3-mini' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-6.1.79
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x460000e8
     Data Size:    4159484 Bytes = 4 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x44000000
     Entry Point:  0x44000000
     Hash algo:    crc32
     Hash value:   2e100e09
     Hash algo:    sha1
     Hash value:   4cfd88627246c3f61a4fc7dbca612bfbe5c3e78a
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading ramdisk from FIT Image at 46000000 ...
   Using 'config-mt7986a-bananapi-bpi-r3-mini' configuration
   Trying 'initrd-1' ramdisk subimage
     Description:  ARM64 OpenWrt bananapi_bpi-r3-mini initrd
     Type:         RAMDisk Image
     Compression:  uncompressed
     Data Start:   0x463f7a24
     Data Size:    3217448 Bytes = 3.1 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    crc32
     Hash value:   120db180
     Hash algo:    sha1
     Hash value:   097a5cb894d96a039b1b37d39a98cfa2fd8e455c
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 46000000 ...
   Using 'config-mt7986a-bananapi-bpi-r3-mini' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt bananapi_bpi-r3-mini device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x4670935c
     Data Size:    29618 Bytes = 28.9 KiB
     Architecture: AArch64
     Load Address: 0x43f00000
     Hash algo:    crc32
     Hash value:   3ed0f0c3
     Hash algo:    sha1
     Hash value:   bb9aed0610920343bc7471dcdd89985a1e436f52
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Loading fdt from 0x4670935c to 0x43f00000
   Booting using the fdt blob at 0x43f00000
Working FDT set to 43f00000
   Uncompressing Kernel Image
   Loading Ramdisk to be4b1000, end be7c2828 ... OK
   Loading Device Tree to 000000```

Alright, I spent some more time fiddling around with it today, and I believe we’re in the clear :partying_face: Thank you so much for your help Daniel and Frank, the uartboot trick worked wonders :green_heart:

2 Likes

made a quick test, seems to load the bl2+fip and exits, i have to open minicom after fip is transferred (had expected that the tool also show console or i can use both simultanously)

but to make it possible for other users i upload my binaries here (2024-04-bpi emmc without autoboot)

bpi-r3mini_ram_fip.bin (309,6 KB) bpi-r3mini_ram_bl2.bin (185,3 KB)

$ ./mtk_uartboot -s /dev/ttyUSB5 --aarch64 --payload bpi-r3mini_ram_bl2.bin --fip bpi-r3mini_ram_fip.bin
mtk_uartboot - 0.1.1
Using serial port: /dev/ttyUSB5
Handshake...
hw code: 0x7986
hw sub code: 0x8a00
hw ver: 0xca01
sw ver: 0x1
Baud rate set to 460800
sending payload to 0x201000...
Checksum: 0x3460
Setting baudrate back to 115200
Jumping to 0x201000 in aarch64...
Waiting for BL2. Message below:
==================================
NOTICE:  BL2: v2.9(release):v2.9.0-357-g553a16af808e ram
NOTICE:  BL2: Built : 16:06:32, Mar  3 2024
NOTICE:  WDT: Cold boot
NOTICE:  WDT: disabled
NOTICE:  CPU: MT7986 (2002MHz)
NOTICE:  EMI: Using DDR4 settings
NOTICE:  EMI: Detected DRAM size: 2048MB
NOTICE:  EMI: complex R/W mem test passed
NOTICE:  Starting UART download handshake ...
==================================
BL2 UART DL version: 0x10
Baudrate set to: 921600
FIP sent.
==================================
NOTICE:  Received FIP 0x4d6b5 @ 0x40400000 ...
==================================

documented also in my wiki: en:bpi-r3mini:start [FW-WEB Wiki]

Thx for @dangowrt for giving informations on this way

1 Like

You can build fip with bootmenu count down disabled

image

Thx,i just disabled the bootcmd which loads uenv.txt and then called bootmenu.i think it’s enough for this rescue version

hello guys, i’ve received today my BPI-R3 Mini and i’m trying to load OpenWrt snapshot but I cannot succeed.

Now i’ve have already uploaded BL2 and BL3, I boot the initram from snapshot but looks like it’s missing airhoa firmware inside, so openwrt crash and I cannot flash sysupgrade.

Any hints? I need to build my own openwrt? Trying to use and ImmortalWrt Initram, firmware are present and the BPI boot, but I cannot flash sysupgrade, or… it’s flashed but when reboot doesnt’ start and go directly to bootmenu (may be because BL2 and BL3 are from latest OpenWrt instead of ImmortalWrt)

Thanks in advance!

A bit more logs will be good…like from the nand boot and then from the initrd,missing firmware should not crash firmware…only network should not work because driver exists on startup,but maybe there is a bug there.

Afaik you cannot mix immortalwrt and openwrt…they use different install ways

This is the bootlog using initramfs from OpenWrt site:

Tx, Rx Polarity(0xca0f8): 01a01503
MD32 FW Version(0x3b3c) : 23112102
LED initialize OK !
EN8811H initialize OK ! (v1.0.4)
ethernet@15100000 Waiting for PHY auto negotiation to complete..... done
AN mode!
SPEED 1000/100!
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-mini-initramfs-recovery.itb'.
Load address: 0x46000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ######################################################
         1.1 MiB/s
done
Bytes transferred = 7471104 (720000 hex)
## Loading kernel from FIT Image at 46000000 ...
   Using 'config-mt7986a-bananapi-bpi-r3-mini' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-6.1.82
     Type:         Kernel Image
     Compression:  lzma compressed
     Data Start:   0x460000e8
     Data Size:    4143751 Bytes = 4 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x44000000
     Entry Point:  0x44000000
     Hash algo:    crc32
     Hash value:   b0cae2c6
     Hash algo:    sha1
     Hash value:   5da33650585ea311e1cfaa52b5ceb6d043fd8a87
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading ramdisk from FIT Image at 46000000 ...
   Using 'config-mt7986a-bananapi-bpi-r3-mini' configuration
   Trying 'initrd-1' ramdisk subimage
     Description:  ARM64 OpenWrt bananapi_bpi-r3-mini initrd
     Type:         RAMDisk Image
     Compression:  uncompressed
     Data Start:   0x463f3cb0
     Data Size:    3230268 Bytes = 3.1 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: unavailable
     Entry Point:  unavailable
     Hash algo:    crc32
     Hash value:   885e6d5d
     Hash algo:    sha1
     Hash value:   dc1fddda5b9ecb7ae3dc4d60cc0dc5b248715663
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 46000000 ...
   Using 'config-mt7986a-bananapi-bpi-r3-mini' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt bananapi_bpi-r3-mini device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x467087fc
     Data Size:    29618 Bytes = 28.9 KiB
     Architecture: AArch64
     Load Address: 0x43f00000
     Hash algo:    crc32
     Hash value:   3ed0f0c3
     Hash algo:    sha1
     Hash value:   bb9aed0610920343bc7471dcdd89985a1e436f52
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Loading fdt from 0x467087fc to 0x43f00000
   Booting using the fdt blob at 0x43f00000
Working FDT set to 43f00000
   Uncompressing Kernel Image
   Loading Ramdisk to be4b7000, end be7cba3c ... OK
   Loading Device Tree to 00000000be4ac000, end 00000000be4b63b1 ... OK
Working FDT set to be4ac000
Add 'ramoops@42ff0000' node failed: FDT_ERR_EXISTS
set /chosen/rootdisk to bootrom media: rootdisk-emmc (phandle 0x00000038)

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.82 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 13.2.0 r25820-46efc77502) 13.2.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Fri Apr  5 07:28:00 2024
[    0.000000] Machine model: Bananapi BPi-R3 Mini
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000042ffffff]
[    0.000000]   node   0: [mem 0x0000000043000000-0x000000004302ffff]
[    0.000000]   node   0: [mem 0x0000000043030000-0x000000004fbfffff]
[    0.000000]   node   0: [mem 0x000000004fc00000-0x000000004ffbffff]
[    0.000000]   node   0: [mem 0x000000004ffc0000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.4
[    0.000000] percpu: Embedded 18 pages/cpu s33896 r8192 d31640 u73728
[    0.000000] pcpu-alloc: s33896 r8192 d31640 u73728 alloc=18*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: kernel page table isolation disabled by kernel configuration
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] Kernel command line: root=/dev/fit0 rootwait
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 2036752K/2097152K available (8512K kernel code, 892K rwdata, 2468K rodata, 448K init, 306K bss, 60400K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 640 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x000000000c080000
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 13.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns
[    0.000000] sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns
[    0.000136] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=130000)
[    0.000143] pid_max: default: 32768 minimum: 301
[    0.000361] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.000373] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.001057] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.001346] cblist_init_generic: Setting adjustable number of callback queues.
[    0.001349] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.001440] rcu: Hierarchical SRCU implementation.
[    0.001441] rcu:     Max phase no-delay instances is 1000.
[    0.001752] smp: Bringing up secondary CPUs ...
[    0.002012] Detected VIPT I-cache on CPU1
[    0.002061] cacheinfo: Unable to detect cache hierarchy for CPU 1
[    0.002068] GICv3: CPU1: found redistributor 1 region 0:0x000000000c0a0000
[    0.002093] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.002365] Detected VIPT I-cache on CPU2
[    0.002400] cacheinfo: Unable to detect cache hierarchy for CPU 2
[    0.002404] GICv3: CPU2: found redistributor 2 region 0:0x000000000c0c0000
[    0.002415] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.002669] Detected VIPT I-cache on CPU3
[    0.002699] cacheinfo: Unable to detect cache hierarchy for CPU 3
[    0.002703] GICv3: CPU3: found redistributor 3 region 0:0x000000000c0e0000
[    0.002712] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.002738] smp: Brought up 1 node, 4 CPUs
[    0.002742] SMP: Total of 4 processors activated.
[    0.002744] CPU features: detected: 32-bit EL0 Support
[    0.002746] CPU features: detected: CRC32 instructions
[    0.002768] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.002771] CPU: All CPU(s) started at EL2
[    0.002772] alternatives: applying system-wide alternatives
[    0.005951] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.005968] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.006100] pinctrl core: initialized pinctrl subsystem
[    0.006741] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.007006] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[    0.007036] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.007063] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.007418] thermal_sys: Registered thermal governor 'fair_share'
[    0.007420] thermal_sys: Registered thermal governor 'bang_bang'
[    0.007422] thermal_sys: Registered thermal governor 'step_wise'
[    0.007424] thermal_sys: Registered thermal governor 'user_space'
[    0.007466] ASID allocator initialised with 65536 entries
[    0.007800] pstore: Registered ramoops as persistent store backend
[    0.007802] ramoops: using 0x10000@0x42ff0000, ecc: 0
[    0.016822] cryptd: max_cpu_qlen set to 1000
[    0.017995] SCSI subsystem initialized
[    0.018088] libata version 3.00 loaded.
[    0.019016] clocksource: Switched to clocksource arch_sys_counter
[    0.019584] NET: Registered PF_INET protocol family
[    0.019717] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.020779] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.020797] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.020804] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.020873] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear)
[    0.021206] TCP: Hash tables configured (established 16384 bind 16384)
[    0.021292] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.021319] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.021447] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.021468] PCI: CLS 0 bytes, default 64
[    0.021657] Unpacking initramfs...
[    0.039953] workingset: timestamp_bits=46 max_order=19 bucket_order=0
[    0.042783] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.042792] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.064730] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.066243] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    0.066261] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    0.066269] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020000000..0x002fffffff -> 0x0020000000
[    0.066360] /soc/pcie@11280000: Failed to get clk index: 0 ret: -517
[    0.066368] mtk-pcie-gen3 11280000.pcie: failed to get clocks
[    0.069166] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.070986] printk: console [ttyS0] disabled
[    0.091137] 11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 116, base_baud = 2500000) is a ST16650V2
[    0.640120] Freeing initrd memory: 3152K
[    0.643034] printk: console [ttyS0] enabled
[    0.849549] 11003000.serial: ttyS1 at MMIO 0x11003000 (irq = 117, base_baud = 1625000) is a ST16650V2
[    0.859373] mtk_rng 1020f000.rng: registered RNG driver
[    0.864831] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.873274] loop: module loaded
[    0.877723] spi spi0.0: setup: ignoring unsupported mode bits a00
[    0.884105] spi-nand spi0.0: Winbond SPI NAND was found.
[    0.889417] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    0.901492] 2 fixed-partitions partitions found on MTD device spi0.0
[    0.908082] Creating 2 MTD partitions on "spi0.0":
[    0.912890] 0x000000000000-0x000000200000 : "bl2"
[    0.919593] 0x000000200000-0x000008000000 : "ubi"
[    1.024249] ubi0: default fastmap pool size: 50
[    1.028779] ubi0: default fastmap WL pool size: 25
[    1.033563] ubi0: attaching mtd1
[    3.153651] ubi0: scanning is finished
[    3.181313] ubi0: attached mtd1 (name "ubi", size 126 MiB)
[    3.186794] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    3.193655] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    3.200424] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    3.207363] ubi0: good PEBs: 1008, bad PEBs: 0, corrupted PEBs: 0
[    3.213438] ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128
[    3.220639] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1642748947
[    3.229750] ubi0: available PEBs: 493, total reserved PEBs: 515, PEBs reserved for bad PEB handling: 20
[    3.239124] ubi0: background thread "ubi_bgt0d" started, PID 226
[    3.242842] block ubiblock0_1: created from ubi0:1(rootfs)
[    3.250612] ubiblock: device ubiblock0_1 (rootfs) set to be root filesystem
[    3.390254] mtk_soc_eth 15100000.ethernet: generated random MAC address 65:74:68:25:64:00
[    3.520782] mtk_soc_eth 15100000.ethernet eth0: mediatek frame engine at 0xffffffc00d700000, irq 121
[    3.530550] mtk_soc_eth 15100000.ethernet eth1: mediatek frame engine at 0xffffffc00d700000, irq 121
[    3.540098] i2c_dev: i2c /dev entries driver
[    3.546197] mtk-wdt 1001c000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[    3.554733] NET: Registered PF_INET6 protocol family
[    3.560356] Segment Routing with IPv6
[    3.564023] In-situ OAM (IOAM) with IPv6
[    3.567974] NET: Registered PF_PACKET protocol family
[    3.573052] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    3.586074] 8021q: 802.1Q VLAN Support v1.8
[    3.591320] pstore: Using crash dump compression: deflate
[    3.604069] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    3.611440] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    3.617694] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020000000..0x002fffffff -> 0x0020000000
[    3.648184] mtk-msdc 11230000.mmc: Final PAD_DS_TUNE: 0x14014
[    3.655101] mmc0: new HS400 MMC card at address 0001
[    3.660848] mmcblk0: mmc0:0001 008GB0 7.28 GiB 
[    3.667626] mmcblk0boot0: mmc0:0001 008GB0 4.00 MiB 
[    3.673472] mmcblk0boot1: mmc0:0001 008GB0 4.00 MiB 
[    3.678646] mmcblk0rpmb: mmc0:0001 008GB0 4.00 MiB, chardev (249:0)
[    3.959027] mtk-pcie-gen3 11280000.pcie: PCIe link down, current LTSSM state: detect.quiet (0x1)
[    3.967821] mtk-pcie-gen3: probe of 11280000.pcie failed with error -110
[    3.975946] UBI: auto-attach mtd1
[    3.979264] ubi: mtd1 is already attached to ubi0
[    3.983950] UBI error: cannot attach mtd1
[    3.988517] Freeing unused kernel memory: 448K
[    4.029055] Run /init as init process
[    4.032701]   with arguments:
[    4.035652]     /init
[    4.037910]   with environment:
[    4.041041]     HOME=/
[    4.043385]     TERM=linux
[    4.148899] init: Console is alive
[    4.152415] init: - watchdog -
[    4.159128] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    4.169856] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.186058] init: - preinit -
[    4.339151] mtk_soc_eth 15100000.ethernet eth0: validation of 2500base-x with support 00000000,00000000,000062e8 and advertisement 00000000,00000000,000062c0 failed: -EINVAL
[    4.354701] leds mdio-bus:0e:green:lan: Setting an LED's brightness failed (-524)
[    4.362245] leds mdio-bus:0e:yellow:lan: Setting an LED's brightness failed (-524)
[    4.409017] mtk_soc_eth 15100000.ethernet eth0: mtk_open: could not attach PHY: -22
ip: SIOCSIFFLAGS: Invalid argument
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    6.439015] random: crng init done
[    6.493340] procd: - early -
[    6.496270] procd: - watchdog -
[    7.016195] procd: - watchdog -
[    7.019490] procd: - ubus -
[    7.072966] procd: - init -
Please press Enter to activate this console.
[    7.188896] kmodloader: loading kernel modules from /etc/modules.d/*
[    7.201914] crypto-safexcel 10320000.crypto: EIP97:230(0,1,4,4)-HIA:270(0,5,5),PE:150/433(alg:7fcdfc00)/0/0/0
[    7.216397] Loading modules backported from Linux version v6.6.15-0-g51f354b815c4
[    7.223927] Backport generated by backports.git 193becf2
[    7.304094] urngd: v1.0.2 started.
[    7.552428] mt798x-wmac 18000000.wifi: Direct firmware load for mediatek/mt7986_rom_patch.bin failed with error -2
[    7.562776] mt798x-wmac 18000000.wifi: Falling back to sysfs fallback for: mediatek/mt7986_rom_patch.bin
[    7.589410] mt798x-wmac: probe of 18000000.wifi failed with error -12
[    7.610260] PPP generic driver version 2.4.2
[    7.615103] NET: Registered PF_PPPOX protocol family
[    7.621833] kmodloader: done loading kernel modules from /etc/modules.d/*
[   11.929057] mtk_soc_eth 15100000.ethernet eth0: validation of 2500base-x with support 00000000,00000000,000062e8 and advertisement 00000000,00000000,000062c0 failed: -EINVAL
[   11.944608] leds mdio-bus:0e:green:lan: Setting an LED's brightness failed (-524)
[   11.952176] leds mdio-bus:0e:yellow:lan: Setting an LED's brightness failed (-524)
[   11.959791]  uevent: Setting an LED's brightness failed (-524)
[   11.979015] Unable to handle kernel access to user memory outside uaccess routines at virtual address 0000000000000000
[   11.989684] Mem abort info:
[   11.992462]   ESR = 0x0000000096000045
[   11.996194]   EC = 0x25: DABT (current EL), IL = 32 bits
[   12.001490]   SET = 0, FnV = 0
[   12.004527]   EA = 0, S1PTW = 0
[   12.007652]   FSC = 0x05: level 1 translation fault
[   12.012514] Data abort info:
[   12.015379]   ISV = 0, ISS = 0x00000045
[   12.019199]   CM = 0, WnR = 1
[   12.022151] user pgtable: 4k pages, 39-bit VAs, pgdp=0000000046f10000
[   12.028571] [0000000000000000] pgd=0800000043c7d003, p4d=0800000043c7d003, pud=0800000043c7d003, pmd=0000000000000000
[   12.039162] Internal error: Oops: 0000000096000045 [#1] SMP
[   12.044715] Modules linked in: pppoe ppp_async nft_fib_inet nf_flow_table_inet pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_objref nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack mt7915e mt76_connac_lib mt76 mac80211 cfg80211 slhc nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c compat crypto_safexcel sha512_arm64 sha1_ce sha1_generic seqiv md5 des_generic libdes authencesn authenc leds_gpio gpio_button_hotplug aquantia
[   12.101325] CPU: 1 PID: 1589 Comm: netifd Not tainted 6.1.82 #0
[   12.107226] Hardware name: Bananapi BPi-R3 Mini (DT)
[   12.112172] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   12.119111] pc : __mutex_lock.constprop.0+0xdc/0x4fc
[   12.124064] lr : __mutex_lock.constprop.0+0x4ec/0x4fc
[   12.129098] sp : ffffffc009e4b8d0
[   12.132396] x29: ffffffc009e4b8d0 x28: ffffff8000928940 x27: 0000000000000000
[   12.139512] x26: ffffff800645b890 x25: 0000000000000124 x24: ffffffc0088daac8
[   12.146627] x23: 0000000000000080 x22: ffffff800645b888 x21: 0000000000000002
[   12.153743] x20: ffffffc009e4b920 x19: ffffff800645b880 x18: 00000000000000d2
[   12.160858] x17: 2064656c69616620 x16: 7373656e74686769 x15: ffffffc008b59ac0
[   12.167973] x14: 000030f7dfd2efcd x13: 00c3e45f5ff74ea6 x12: 00000000c12c4cc9
[   12.175089] x11: 000000000000017f x10: 00000000000008c0 x9 : ffffffc009e4b830
[   12.182204] x8 : ffffff8006954fa0 x7 : 0000000000000001 x6 : 0000000000000001
[   12.189320] x5 : 00000002c8d60000 x4 : 0000000000000001 x3 : ffffffc0080a6910
[   12.196435] x2 : ffffff8006954680 x1 : ffffff8006954680 x0 : 0000000000000000
[   12.203551] Call trace:
[   12.205983]  __mutex_lock.constprop.0+0xdc/0x4fc
[   12.210583]  __mutex_lock_slowpath+0x10/0x20
[   12.214836]  mutex_lock+0x34/0x40
[   12.218136]  device_del+0x3c/0x440
[   12.221525]  device_unregister+0x14/0x30
[   12.225431]  led_classdev_unregister+0x84/0xf0
[   12.229859]  phy_remove+0x38/0x90
[   12.233162]  device_remove+0x68/0x7c
[   12.236724]  device_release_driver_internal+0x1cc/0x230
[   12.241931]  device_release_driver+0x14/0x20
[   12.246186]  phy_detach+0xc4/0x15c
[   12.249573]  phylink_fwnode_phy_connect+0xcc/0x100
[   12.254351]  phylink_of_phy_connect+0x18/0x20
[   12.258691]  mtk_open+0x34/0xa20
[   12.261906]  __dev_open+0x104/0x1a0
[   12.265381]  __dev_change_flags+0x138/0x190
[   12.269547]  dev_change_flags+0x20/0x60
[   12.273367]  dev_ifsioc+0xf8/0x40c
[   12.276755]  dev_ioctl+0x28c/0x49c
[   12.280142]  sock_ioctl+0x30c/0x424
[   12.283618]  __arm64_sys_ioctl+0x1b0/0xe80
[   12.287701]  invoke_syscall.constprop.0+0x4c/0xe0
[   12.292389]  do_el0_svc+0x40/0xd0
[   12.295688]  el0_svc+0x14/0x4c
[   12.298732]  el0t_64_sync_handler+0x10c/0x120
[   12.303071]  el0t_64_sync+0x14c/0x150
[   12.306720] Code: f9000e74 d5384101 a90503fa f90033e1 (f9000014) 
[   12.312793] ---[ end trace 0000000000000000 ]---
[   12.320017] Kernel panic - not syncing: Oops: Fatal exception
[   12.325744] SMP: stopping secondary CPUs
[   12.329652] Kernel Offset: disabled

Only way to avoid crash to boot in failsafe, otherwise it will reboot each time with this dump (that should be related to missing ethernet firmware). So now i’m stuck in this way, also trying to flash sysupgrade from uboot give this:

EN8811H PHY ready!
EN8811H Mode 1 !
Tx, Rx Polarity(0xca0f8): 01a01503
MD32 FW Version(0x3b3c) : 23112102
LED initialize OK !
EN8811H initialize OK ! (v1.0.4)
ethernet@15100000 Waiting for PHY auto negotiation to complete...... done
AN mode!
SPEED 1000/100!
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-mini-squashfs-sysupgrade.itb'.
Load address: 0x46000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ###################
         2.2 MiB/s
done
Bytes transferred = 20316977 (1360331 hex)

## Checking Image at 46000000 ...
   FIT image found
   FIT description: ARM64 OpenWrt FIT (Flattened Image Tree)
    Image 0 (kernel-1)
     Description:  ARM64 OpenWrt Linux-6.1.82
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x46001000
     Data Size:    5650324 Bytes = 5.4 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x44000000
     Entry Point:  0x44000000
     Hash algo:    crc32
     Hash value:   eb36019e
     Hash algo:    sha1
     Hash value:   393917b447dc008a640e61087a2c4e1c3eef1c54
    Image 1 (fdt-1)
     Description:  ARM64 OpenWrt bananapi_bpi-r3-mini device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x46565000
     Data Size:    29618 Bytes = 28.9 KiB
     Architecture: AArch64
     Load Address: 0x43f00000
     Hash algo:    crc32
     Hash value:   3ed0f0c3
     Hash algo:    sha1
     Hash value:   bb9aed0610920343bc7471dcdd89985a1e436f52
    Image 2 (rootfs-1)
     Description:  ARM64 OpenWrt bananapi_bpi-r3-mini rootfs
     Type:         Filesystem Image
     Compression:  uncompressed
     Data Start:   0x4656d000
     Data Size:    14589952 Bytes = 13.9 MiB
     Hash algo:    crc32
     Hash value:   6b9546ea
     Hash algo:    sha1
     Hash value:   255e6e24a0494b716c6fc317c0b95b586f4d100c
    Default Configuration: 'config-mt7986a-bananapi-bpi-r3-mini'
    Configuration 0 (config-mt7986a-bananapi-bpi-r3-mini)
     Description:  OpenWrt bananapi_bpi-r3-mini
     Kernel:       kernel-1
     FDT:          fdt-1
     Loadables:    rootfs-1
## Checking hash(es) for FIT Image at 46000000 ...
   Hash(es) for Image 0 (kernel-1): crc32+ sha1+ 
   Hash(es) for Image 1 (fdt-1): crc32+ sha1+ 
   Hash(es) for Image 2 (rootfs-1): crc32+ sha1+ 
Press ENTER to return to menu 

Then i can abort tftp from initram again (may be missing uboot env?), and the sysfs is stuck here:

## Loading kernel from FIT Image at 46000000 ...
   Using 'config-mt7986a-bananapi-bpi-r3-mini' configuration
   Trying 'kernel-1' kernel subimage
     Description:  ARM64 OpenWrt Linux-6.1.82
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x46001000
     Data Size:    5650324 Bytes = 5.4 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x44000000
     Entry Point:  0x44000000
     Hash algo:    crc32
     Hash value:   eb36019e
     Hash algo:    sha1
     Hash value:   393917b447dc008a640e61087a2c4e1c3eef1c54
   Verifying Hash Integrity ... crc32+ sha1+ OK
## Loading fdt from FIT Image at 46000000 ...
   Using 'config-mt7986a-bananapi-bpi-r3-mini' configuration
   Trying 'fdt-1' fdt subimage
     Description:  ARM64 OpenWrt bananapi_bpi-r3-mini device tree blob
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x46565000
     Data Size:    29618 Bytes = 28.9 KiB
     Architecture: AArch64
     Load Address: 0x43f00000
     Hash algo:    crc32
     Hash value:   3ed0f0c3
     Hash algo:    sha1
     Hash value:   bb9aed0610920343bc7471dcdd89985a1e436f52
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Loading fdt from 0x46565000 to 0x43f00000
   Booting using the fdt blob at 0x43f00000
Working FDT set to 43f00000
## Loading loadables from FIT Image at 46000000 ...
   Trying 'rootfs-1' loadables subimage
     Description:  ARM64 OpenWrt bananapi_bpi-r3-mini rootfs
     Type:         Filesystem Image
     Compression:  uncompressed
     Data Start:   0x4656d000
     Data Size:    14589952 Bytes = 13.9 MiB
     Hash algo:    crc32
     Hash value:   6b9546ea
     Hash algo:    sha1
     Hash value:   255e6e24a0494b716c6fc317c0b95b586f4d100c
   Verifying Hash Integrity ... crc32+ sha1+ OK
   Uncompressing Kernel Image
   Loading Device Tree to 00000000be7c1000, end 00000000be7cb3b1 ... OK
Working FDT set to be7c1000
Add 'ramoops@42ff0000' node failed: FDT_ERR_EXISTS
set /chosen/rootdisk to bootrom media: rootdisk-emmc (phandle 0x00000038)

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.82 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 13.2.0 r25736-d1eb0bec39) 13.2.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Tue Apr  2 16:35:55 2024
[    0.000000] Machine model: Bananapi BPi-R3 Mini
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000042ffffff]
[    0.000000]   node   0: [mem 0x0000000043000000-0x000000004302ffff]
[    0.000000]   node   0: [mem 0x0000000043030000-0x000000004fbfffff]
[    0.000000]   node   0: [mem 0x000000004fc00000-0x000000004ffbffff]
[    0.000000]   node   0: [mem 0x000000004ffc0000-0x00000000bfffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x00000000bfffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.4
[    0.000000] percpu: Embedded 18 pages/cpu s33896 r8192 d31640 u73728
[    0.000000] pcpu-alloc: s33896 r8192 d31640 u73728 alloc=18*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: kernel page table isolation disabled by kernel configuration
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
[    0.000000] Kernel command line: root=/dev/fit0 rootwait
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 2039912K/2097152K available (8512K kernel code, 892K rwdata, 2468K rodata, 448K init, 306K bss, 57240K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 640 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x000000000c080000
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 13.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns
[    0.000000] sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns
[    0.000136] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=130000)
[    0.000143] pid_max: default: 32768 minimum: 301
[    0.000360] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.000372] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.001055] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.001348] cblist_init_generic: Setting adjustable number of callback queues.
[    0.001351] cblist_init_generic: Setting shift to 2 and lim to 1.
[    0.001443] rcu: Hierarchical SRCU implementation.
[    0.001445] rcu:     Max phase no-delay instances is 1000.
[    0.001751] smp: Bringing up secondary CPUs ...
[    0.002008] Detected VIPT I-cache on CPU1
[    0.002056] cacheinfo: Unable to detect cache hierarchy for CPU 1
[    0.002063] GICv3: CPU1: found redistributor 1 region 0:0x000000000c0a0000
[    0.002088] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.002362] Detected VIPT I-cache on CPU2
[    0.002395] cacheinfo: Unable to detect cache hierarchy for CPU 2
[    0.002399] GICv3: CPU2: found redistributor 2 region 0:0x000000000c0c0000
[    0.002410] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.002663] Detected VIPT I-cache on CPU3
[    0.002695] cacheinfo: Unable to detect cache hierarchy for CPU 3
[    0.002698] GICv3: CPU3: found redistributor 3 region 0:0x000000000c0e0000
[    0.002708] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.002732] smp: Brought up 1 node, 4 CPUs
[    0.002736] SMP: Total of 4 processors activated.
[    0.002738] CPU features: detected: 32-bit EL0 Support
[    0.002740] CPU features: detected: CRC32 instructions
[    0.002764] CPU features: emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching
[    0.002767] CPU: All CPU(s) started at EL2
[    0.002769] alternatives: applying system-wide alternatives
[    0.005988] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.006006] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.006142] pinctrl core: initialized pinctrl subsystem
[    0.006779] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.007042] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations
[    0.007071] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.007097] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.007453] thermal_sys: Registered thermal governor 'fair_share'
[    0.007455] thermal_sys: Registered thermal governor 'bang_bang'
[    0.007457] thermal_sys: Registered thermal governor 'step_wise'
[    0.007458] thermal_sys: Registered thermal governor 'user_space'
[    0.007499] ASID allocator initialised with 65536 entries
[    0.007836] pstore: Registered ramoops as persistent store backend
[    0.007838] ramoops: using 0x10000@0x42ff0000, ecc: 0
[    0.016826] cryptd: max_cpu_qlen set to 1000
[    0.018001] SCSI subsystem initialized
[    0.018095] libata version 3.00 loaded.
[    0.019013] clocksource: Switched to clocksource arch_sys_counter
[    0.019567] NET: Registered PF_INET protocol family
[    0.019697] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.020759] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[    0.020779] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.020787] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.020855] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear)
[    0.021190] TCP: Hash tables configured (established 16384 bind 16384)
[    0.021275] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.021302] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.021429] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.021451] PCI: CLS 0 bytes, default 64
[    0.022484] workingset: timestamp_bits=46 max_order=19 bucket_order=0
[    0.025317] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.025324] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.046951] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    0.048406] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    0.048426] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    0.048435] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020000000..0x002fffffff -> 0x0020000000
[    0.048526] /soc/pcie@11280000: Failed to get clk index: 0 ret: -517
[    0.048535] mtk-pcie-gen3 11280000.pcie: failed to get clocks
[    0.051362] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.053263] printk: console [ttyS0] disabled
[    0.073419] 11002000.serial: ttyS0 at MMIO 0x11002000 (irq = 116, base_baud = 2500000) is a ST16650V2
[    0.799165] printk: console [ttyS0] enabled
[    0.823983] 11003000.serial: ttyS1 at MMIO 0x11003000 (irq = 117, base_baud = 1625000) is a ST16650V2
[    0.833794] mtk_rng 1020f000.rng: registered RNG driver
[    0.839264] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.847658] loop: module loaded
[    0.852148] spi spi0.0: setup: ignoring unsupported mode bits a00
[    0.858479] spi-nand spi0.0: Winbond SPI NAND was found.
[    0.863791] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64
[    0.872048] 2 fixed-partitions partitions found on MTD device spi0.0
[    0.878556] Creating 2 MTD partitions on "spi0.0":
[    0.883343] 0x000000000000-0x000000200000 : "bl2"
[    0.890030] 0x000000200000-0x000008000000 : "ubi"
[    0.996285] ubi0: default fastmap pool size: 50
[    1.000821] ubi0: default fastmap WL pool size: 25
[    1.005595] ubi0: attaching mtd1
[    3.126445] ubi0: scanning is finished
[    3.154092] ubi0: attached mtd1 (name "ubi", size 126 MiB)
[    3.159583] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    3.166438] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    3.173207] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    3.180150] ubi0: good PEBs: 1008, bad PEBs: 0, corrupted PEBs: 0
[    3.186222] ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128
[    3.193427] ubi0: max/mean erase counter: 2/0, WL threshold: 4096, image sequence number: 1642748947
[    3.202536] ubi0: available PEBs: 493, total reserved PEBs: 515, PEBs reserved for bad PEB handling: 20
[    3.211914] ubi0: background thread "ubi_bgt0d" started, PID 227
[    3.221588] block ubiblock0_1: created from ubi0:1(rootfs)
[    3.227067] ubiblock: device ubiblock0_1 (rootfs) set to be root filesystem
[    3.360241] mtk_soc_eth 15100000.ethernet: generated random MAC address 65:74:68:25:64:00
[    3.480709] mtk_soc_eth 15100000.ethernet eth0: mediatek frame engine at 0xffffffc009580000, irq 121
[    3.490496] mtk_soc_eth 15100000.ethernet eth1: mediatek frame engine at 0xffffffc009580000, irq 121
[    3.500050] i2c_dev: i2c /dev entries driver
[    3.506125] mtk-wdt 1001c000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[    3.514670] NET: Registered PF_INET6 protocol family
[    3.520255] Segment Routing with IPv6
[    3.523923] In-situ OAM (IOAM) with IPv6
[    3.527861] NET: Registered PF_PACKET protocol family
[    3.532933] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    3.545991] 8021q: 802.1Q VLAN Support v1.8
[    3.551200] pstore: Using crash dump compression: deflate
[    3.563927] mtk-pcie-gen3 11280000.pcie: host bridge /soc/pcie@11280000 ranges:
[    3.571284] mtk-pcie-gen3 11280000.pcie: Parsing ranges property...
[    3.577539] mtk-pcie-gen3 11280000.pcie:      MEM 0x0020000000..0x002fffffff -> 0x0020000000
[    3.638173] mtk-msdc 11230000.mmc: Final PAD_DS_TUNE: 0x14014
[    3.645095] mmc0: new HS400 MMC card at address 0001
[    3.650988] mmcblk0: mmc0:0001 008GB0 7.28 GiB 
[    3.657806] mmcblk0boot0: mmc0:0001 008GB0 4.00 MiB 
[    3.663614] mmcblk0boot1: mmc0:0001 008GB0 4.00 MiB 
[    3.668779] mmcblk0rpmb: mmc0:0001 008GB0 4.00 MiB, chardev (249:0)
[    3.919033] mtk-pcie-gen3 11280000.pcie: PCIe link down, current LTSSM state: detect.quiet (0x1)
[    3.927823] mtk-pcie-gen3: probe of 11280000.pcie failed with error -110
[    3.935977] UBI: auto-attach mtd1
[    3.939290] ubi: mtd1 is already attached to ubi0
[    3.943974] UBI error: cannot attach mtd1
[    3.948429] Waiting for root device /dev/fit0...

this is the current UBI layout, that seems wrong to me:

root@OpenWrt:/# ubinfo --all
UBI version:                    1
Count of UBI devices:           1
UBI control device major/minor: 10:127
Present UBI devices:            ubi0

ubi0
Volumes count:                           3
Logical eraseblock size:                 126976 bytes, 124.0 KiB
Total amount of logical eraseblocks:     1008 (127991808 bytes, 122.0 MiB)
Amount of available logical eraseblocks: 493 (62599168 bytes, 59.6 MiB)
Maximum count of volumes                 128
Count of bad physical eraseblocks:       0
Count of reserved physical eraseblocks:  20
Current maximum erase counter value:     2
Minimum input/output unit size:          2048 bytes
Character device major/minor:            250:0
Present volumes:                         0, 1, 2

Volume ID:   0 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        30 LEBs (3809280 bytes, 3.6 MiB)
State:       OK
Name:        kernel
Character device major/minor: 250:1
-----------------------------------
Volume ID:   1 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        362 LEBs (45965312 bytes, 43.8 MiB)
State:       OK
Name:        rootfs
Character device major/minor: 250:2
-----------------------------------
Volume ID:   2 (on ubi0)
Type:        dynamic
Alignment:   1
Size:        97 LEBs (12316672 bytes, 11.7 MiB)
State:       OK
Name:        rootfs_data
Character device major/minor: 250:3

i think GPT is wrong on the MMC… how can I write it on the eMMC? NAND is not booting… it doesn’t find BL2, so I’ve to write using U-Boot commands :frowning: