[BPI-R3] Just got a bpi-r3 and having trouble setting it up

Hello. I’m a newbie around here, and I’m having trouble with this device.

So far, I followed the instructions in here: Banana Pi BPI-R3 - Banana Pi Wiki

The getting started page describes how to boot from an sd card, so I burned the openwrt image fom the mentioned link, adjusted the bootstrap pins all up, inserted the card and turned on the device. However, nothing happens and it just stays with the red pwr led on. After a while, I managed to connect to it via uart to get the output below:

F0: 102B 0000
FA: 1040 0000
FA: 1040 0000 [0200]
F9: 103F 0000
F3: 1001 0000 [0200]
F3: 1001 0000
F6: 300C 0028
F5: 4801 0000
00: 1005 0000
FA: 1040 0000
FA: 1040 0000 [0200]
F9: 103F 0000
F3: 1001 0000 [0200]
F3: 1001 0000
F6: 300C 0028
01: 102A 0001
02: 1005 0000
BP: 2000 00C0 [0001]
EC: 0000 0000 [3000]
T0: 0000 01A5 [010F]
System halt!

I also noticed that I can boot to nand and that the device came with some sort of openwrt install on it. However, that system won’t keep any configurations I do after reboot. I tried booting to that system, accessing it via ssh as root and following the tutorial in the wiki for writing an image to emmc. But there are no /dev/mmcblk0boot0 or /dev/mmcblk0 in there.

I’m really lost here on how to proceed. Can someone help me? I just want to run openwrt or other OS image on the device.

Thanks in advance,

Either your sdcard is not supported or something in the image is broken…try to reflash the unpacked image

I tried reflashing and using another sdcard, but got the same issue. I also tried using F3 to test both of them, and they seem to be ok. Still, they’re a bit old… I didn’t know some sdcards aren’t supported, can this be the case?

In a way, I’m as new as you are … . But I have an scientific view on such topics.

Can “we” exclude something: Is the R3 working? → As I remember, the new bpi-R3 has the Sinovoip openwrt version still installed. I’m not sure on which rom it is. Can you boot the R3 with this version to make sure that there is no R3-poblem?

Did you downloaded the open wrt version there?: https://firmware-selector.openwrt.org/?version=23.05.2&target=mediatek%2Ffilogic&id=bananapi_bpi-r3

Which programm do you use for burning? I use win32 disk imager.

Thank you for your answer.

Yes, the device is working and I can boot into nand to an openwrt environment, but I can’t do much from there, like writing an image to the emmc storage. I downloaded the sdcard.img.gz from that link and flashed it into the sd card using bpi-copy. I also tried using gnome disks for flashing, but the results were the same.

This sounds good! You said, you have tried 2 SDcards. With the R3 I had no problems, but I could remember on Windows installations from stick … . You may have to clean the card(s) before flashing? As I say I’m not experienced in such things. But we are using not the same programm for flashing firmware on SDcard!

I borrowed an sd card from a friend just to test it, and turns out it worked fine! Now I can boot to sd card normally.

If you don’t mind a couple more questions, now I want to flash the openwrt image to emmc. I’m following the same guide, and it asks to write the following images, like this:

First, boot from sdcard and flash mtk-bpi-r3-NAND-WAN1-SFP1-20220619-single-image.bin to /dev/mtdblock0. Then, boot from nand and flash bl2_emmc.img to /dev/mmcblk0boot0 and mtk-bpi-r3-EMMC-WAN1-SFP1-20220619-single-image.img to /dev/mmcblk0.

But the images in here all have different filenames and extensions, so I’m unsure on which ones I have to flash. Could any of you point me to the right images?

This is an intersesing question! I never think about this … .

I took the


and booted it from SD Card. And than I followed the guide. What I can say → it is working :+1: . Is ist right :thinking:

For me this files (EMMC, SNAND and NOR) are for direct flashing. I did not even know how …

In me thinking if you run the system from one scource than you kopie it to the other space. Or in better words the bootloader does this job.

With Sysupgrade you can flash the new system during openwrt runs.

It could be a bit difficult at the first time to kopie the system as the guide says. Don’t give up after first try. Good luck

I got a bit confused. Are you using the sd card, or did you flash the sdcard image to emmc?

I would say both! Yes, the Image is on the SDcard.

After you booting from SDCard I’m not sure that we can say SDCard image any more. In layman’s therms, if you look with the “systems eyes” on the running system, it dosn’t matter from which scoure it is booted. Maybe this is not right … but i looked on this “problem” in this way. The different Images are just for the matching Storage formats. You can copie it like you kopie the SDcard Image. But if you run openwrt respectively bootloader you copie the system from one to another place like copy a file from HDD/SSD to USB-Stick. The different storage format is recognized by the system and the Information themself is not SD, NOR, SNAND … . I know its an easy way to look on this!

But crystal clear → I downloaded the SDCARD.IMG.GZ kopied it to SCcard and booted from SDcard.

I did it! I connected to the device via uart while booting to sd card, and used the menu to install is to nand. Then, booted to nand and did the same, but choosing the option to install to emmc. It worked fine.

For any other newbies like me having trouble with that, you can connect the gns, rx and tx pins in the bpi-r3, near the bootstrap switches, to an uart cable (I used an arduino uno with reset pin connected to gnd as a uart cable) and use a software like tio to access the boot menu.

Thank you all for the help, and sorry for bothering.

1 Like

Be careful with arduino…it is 5v ttl and all bpi boards need 3v3 you can brick your board with higher voltage

Oh, thank you for the warning, I will be more careful with that. I thought uart communication worked with standardized voltage levels and just connected it without a second thought. It apparently didn’t cause any problems, Should I be worried about it now?

If it still works, count yourself lucky. Still make sure the voltage is not higher then 3.3V, or it may still break down beyond repair.

UART simply stands for ‘universal asynchronous receiver / transmitter’, there’s no voltage levels defined within it. The common formats for it are RS232 (+/-12v signalling generally), RS422/485 (differential signalling +/-6V)… however often for short ‘on-board’ communication just normal board voltages are used, like +3.3V/+5V etc… depending on the board, will use different voltages. As noted, the arduinos typically use +5V, other boards often use +3.3V, some lower power boards use +2.5V… it depends on the logic family used, and the board voltages.

If running +5V UART into a +3.3V board, you may damage the board by forcing +5V to places it shouldn’t be… this may not just be the Rx input on the board, but may be the entire +3.3V power rail (since there is often just a forward diode from Rx input to power supply). Generally there will be a high-ish value resistor inline on the Tx pin, and sometimes a lowish value resistor inline on the Rx pin. These can often save the day when hooking up different voltage levels like +5V / +3.3V…