Bpi-r3 mini wrong uboot.fip - brick board?

Please help. I tried to upload openwrt to emmc in brp-r3 mini according to the instructions found on the forum (https://github.com/openwrt/openwrt/commit/b03d3644cfe9eb8db2a3441c55c84b076ba7cd08). The installation was carried out using the NAND system. Unfortunately, by mistake I uploaded the uboot.fip file intended for nand (it should have been for emmc). The mmc board starts, but shows the menu for NAND, the system after switching to NAND shows the message failed to load image. I have completely damaged the board, is there any way to save it?

try this https://forum.banana-pi.org/t/bpi-r3-mini-nand-flash-problem/16958/13

In worst case (if both devices are not booting till uboot to fix) you can do boot from ram as described here:

Thank you for your answer. I use ch340. After issuing the command, nothing happens.

/mtk_uartboot -s /dev/ttyUSB0 --aarch64 --payload bpi-r3mini_ram_bl2.bin --fip bpi-r3mini_ram_fip.bin mtk_uartboot - 0.1.1 Using serial port: /dev/ttyUSB0 Handshake…

When i power on when command is active I have:

hw code: 0x7986 thread ‘main’ panicked at src/bootrom.rs:47:13: returned data isn’t the same. Tx: [252] Rx: [254] note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

I’m a beginner. Can you guide me step by step and write what I should do next after booting from RAM?

are you sure your ch340 is 3v3 ttl level? 5v will brick the board

you have to use the right uart device, first issue the command and the boot up the device

I use the model recommended by the wiki for r3 mini - black version https://pl.aliexpress.com/item/1005005643914508.html?gatewayAdapt=glo2pol

is this the right uart device? and you have started the mtk-command before powering on r3mini?

i have wrote down all i’ve done in detail with binaries in the linked thread.

yes, this is right uart device and started mtk command before poweering on. Again i have error:

mtk_uartboot - 0.1.1
Using serial port: /dev/ttyUSB0
Handshake...
hw code: 0x7986
hw sub code: 0x8a00
hw ver: 0xca01
sw ver: 0x1
thread 'main' panicked at src/bootrom.rs:47:13:
returned data isn't the same. Tx: [220] Rx: [221]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
zsh: IOT instruction  sudo ./mtk_uartboot -s /dev/ttyUSB0 --aarch64 --payload bpi-r3mini_ram_bl2.bi

I use manjaro.

please put output in code-tags…it seems your command is stripped off…are both files in same directory and command is pointing to them without typos?

you can try to add the RUST_BACKTRACE=1 after sudo…have not tried that, but maybe it gives more information

[legion5 router]# RUST_BACKTRACE=1 ./mtk_uartboot -s /dev/ttyUSB0 --aarch64 --payload bpi-r3mini_ram_bl2.bin --fip bpi-r3mini_ram_fip.bin
mtk_uartboot - 0.1.1
Using serial port: /dev/ttyUSB0
Handshake...
hw code: 0x7986
thread 'main' panicked at src/bootrom.rs:47:13:
returned data isn't the same. Tx: [252] Rx: [254]
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Przerwane (zrzut pamięci)

[legion5 router]# RUST_BACKTRACE=full ./mtk_uartboot -s /dev/ttyUSB0 --aarch64 --payload bpi-r3mini_ram_bl2.bin --fip bpi-r3mini_ram_fip.bin
mtk_uartboot - 0.1.1
Using serial port: /dev/ttyUSB0
Handshake...
hw code: 0x7986
hw sub code: 0x8a00
hw ver: 0xca01
sw ver: 0x1
thread 'main' panicked at src/bootrom.rs:47:13:
returned data isn't the same. Tx: [216] Rx: [248]
stack backtrace:
   0:     0x7fecba22cac6 - <unknown>
   1:     0x7fecba30f940 - <unknown>
   2:     0x7fecba22abbf - <unknown>
   3:     0x7fecba22c8a4 - <unknown>
   4:     0x7fecba22dc87 - <unknown>
   5:     0x7fecba22d9e9 - <unknown>
   6:     0x7fecba22e118 - <unknown>
   7:     0x7fecba22dff2 - <unknown>
   8:     0x7fecba22cfc6 - <unknown>
   9:     0x7fecba22dd50 - <unknown>
  10:     0x7fecba1b71b5 - <unknown>
  11:     0x7fecba1befe1 - <unknown>
  12:     0x7fecba1bf3b8 - <unknown>
  13:     0x7fecba1b9244 - <unknown>
  14:     0x7fecba1c54a3 - <unknown>
Przerwane (zrzut pamięci)

Operation performed as root. Without results… I’m helpless

Normally you do not need root,only access to the serial device.

Maybe you have a chance to boot an ubuntu livecd and try with it? It was working for me in ubuntu 22.04 (installed)

Maybe try setting speed/parity?

are u still able to boot from emmc, even it shows a wrong nand menu? if yes I think u can restore the board.

Yes I see wrong menu. How can I save the board? With uboot? The problem is that the arrow keys do not work in putty and I cannot select any option. I’m a beginner in building routers and I may make simple mistakes…

try another terminal than putty, and check if you can access the console of uboot, then run the command of nand info and check if there is an output, otherwise my advice to run a VM of debian or ubuntu to follow @frank-w procedure to recover from bricked board

Also, you did mention in first post, that system shows the message failed to load image. which means u can access the console of uboot in nand mode?

boot from nand

boot from emmc

So uboot on emmc seems to be intact…have you tried 0 if arrowkeys not working? Menucode is not different between bootdevices,only what you can select.uboot console is always there if not disabled. Maybe strg+c or escape also works to exit the menu and land on console

I tried the proposed solutions today on another PC with Ubuntu. I have exactly the same problems as before (arrow keys not working, mtk_uartboot command error). This looks like a bug with my ch340. Please tell me what serial interface you use?

I use cp2104 (2102 not working) and ftdi…i hope you zave not killed your debug-uart rx with 5v tx of your adapter

You’re right. I measured my ch350 cable - it has 5v on tx and rx. Does this mean total destruction? Is there a chance of saving? I am very sad because I bought the ch340 cable from the link from the Getting Started with BPI-R3 wiki