[BPI-R3 Mini] Boot from NAND fails

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

loadb is to send file over Kermit, but you can use also load (XMODEM) or loady (YMODEM), $loadaddr is RAM embedded address to store the file uploaded over Kermit/Xmodem/YModem.

I think you can also load OpenWrt over Kermit/Xmodem/YModem but will take lot of time (30/40mins), so TFTP is preferred :slight_smile:

ah, ok, then i can also load the file from usb to $loadaddr via fatload, right? basicly the file needs to be in ram at $loadaddr

then install-method is left…is there a way in the menu without tftp to install the squashfs-sysupgrade.itb?

No BL3 bootmenu support only TFTP I’ve seen that Uboot had also and USB subsystem, may be is possible to load stuff from it

I’ll take a look tomorrow and let you know, in that case we can also restore using USB instead of TFTP :slight_smile:

it looks like we can override the boot_tftp_production to do usb start;fatload usb 0:1 $loadaddr $bootfile_upg instead of the tftpboot

so user have to do this override and set bootfile_upg to the filename on the usb :slight_smile:

but of course it would be nice if the menu would support it ootb…tftp is not enduser friedly…as dev useful, but as r3mini supports usb (and network is a bit buggy) usb-load would be more useful for users imho

May be we can create a PR to add also USB option But it should be tested I think…

I’ll try on my unit just to be sure it works :slight_smile:

2 Likes

Good afternoon, I tried to flash according to the instructions on ImmortalWRT, but I got this… Flashed eMMC, NAND untouched. How can I restore it? I tried mtk_uartboot, but it stops at “Handshake…” I use CH340G (3.3v) for recovery. log.txt (8,9 КБ)

I hope the translation from Russian is correct to understand the problem. I’m sorry if I wrote in the wrong topic, it was more similar, as I think, to my problem.

you have to use the special ram bl2 i’ve posted above as payload and board needs to start in the moment when mtkuart is active

Yes, I turn on the board at this moment when mtk_uartboot is enabled, but nothing happens. Aren’t these files designed for NAND?

the files need to be local on the pc where you start mtk_uartboot…in same folder as the exe file you start.

mhm, looks right…make sure, no other application is accessing the com3 (not open putty in parallel or such)

if COM3 is busy, it gives an error, could it be the CH340G? I’m thinking of ordering another UART adapter and trying it, I saw somewhere that a person had such a problem that he couldn’t flash this adapter. Next, he bought FT232 and he managed to flash it, he also saw a video using PL2303TA

ch340 are mostly 5V (but you checked already) and profilic are unstable…i had no problems with ftdi and my cp2104 (cp2102 has issues with wifi)