[BPI-R3 Mini] Boot from NAND fails

…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:

I would restore nand bl2 before make anything on bootable mmc

Writing gpt from uboot is not that easy…easiest way would be booting linux with initrd or flashing existing gpt block image…i’m not sure how openwrt installer in nand does it. Uboot basicly supports writing gpt but it uses a complex environment variable as sheme which is written.

How to flash back BL2 on NAND? Mkuboot? Because I don’t have uboot prompt on the nand :frowning:

ok i was able to fix NAND and the flash eMMC correctly…

now i’ve a problem on 5Ghz Wifi… it doesn’t seem to publish any SSID

Interface phy1-ap0
        ifindex 9
        wdev 0x100000005
        addr 82:0c:43:26:60:00
        type AP
        wiphy 1
        txpower 23.00 dBm
        multicast TXQ:
                qsz-byt qsz-pkt flows   drops   marks   overlmt hashcol tx-bytes        tx-packets
                0       0       0       0       0       0       0       0               0

Does it work at 160Mhz?

good to hear you have restored uboot on both and now able to boot in linux :slight_smile:

now it is time to open new thread with your wifi settings, hostapd logs and some output of iw showing your regdomain and resulting output :wink:

maybe you can tell users how exactly you have done the nand-restore with openwrt?

yes sure, i’ll write up a summary tomorrow :slight_smile: regarding Wi-Fi ok, i’ve tested at 80Mhz and it’s working, but not at 160Mhz… so may be something strange with DFS or Country code…

For these multichannel you have to look into regdomain and iw whats possible…also possible that some channels taged with radar detection and so maybe other signals block your 160mbit config,but please open a new thread about this

Here is what i’ve done to restore the NAND part:

using mtk_uartboot to load bpi-r3mini_ram_bl2.bin (185,3 KB) sent by @frank-w and FIP from OpenWrt Snapshot openwrt-mediatek-filogic-bananapi_bpi-r3-mini-snand-bl31-uboot.fip (i’ve done it on a Mac):

./mtk_uartboot -s /dev/cu.usbserial-AB0NV0CO --aarch64 --payload bpi-r3mini_ram_bl2.bin --fip openwrt-mediatek-filogic-bananapi_bpi-r3-mini-snand-bl31-uboot.fip

Then connected to UART with new OpenWrt U-Boot, Enter to U-Boot Console and create a “en8811h-fw” UBI volume with the following command, this will give you ability to use TFTP later to restore all stuff faster:

ubi create en8811h-fw 256000

Then send the EthMD32.bin (144 KB) with kermit using:

loadb $loaddr

And write it into UBI volume:

ubi write $loadaddr en8811h-fw 256000

Go back to bootmenu and select option Load BL31+U-Boot FIP via TFTP then write to NAND, this will load openwrt-mediatek-filogic-bananapi_bpi-r3-mini-snand-bl31-uboot.fip from TFTP and write it into NAND

Now select option Load production system via TFTP then write to NAND to load openwrt-mediatek-filogic-bananapi_bpi-r3-mini-squashfs-sysupgrade.itb from TFTP and restore it into NAND

Restart the U-Boot and it should boot with new OpenWrt from NAND. To install same sysupgrade on the eMMC i’ve followed instruction on this commit

Hope it can helps other if they had same issue :slight_smile:

1 Like

Ah,ok,you used the ram bl2 way…thought there is a way from emmc uboot to reflash nand…but good to know fip can be the the openwrt fip. Is there a way wo install from local storage? Imho not much users have a tftp server. What is kermit? And how you get the firmware to $loadaddr ? Do not know the loadb command