[BPI-R2] Ubuntu 18.4 with kernel 4.14.48

If bootable sdcard is inseted r2 boots from it else it boots from emmc…

Newer hardware have a switch above sd-slot to change behaviour


First let me apologize for being a little slow on the uptake and say thank you for assistance thus far. Ive included a topology for my LAN and how I am configured. Referencing that I have questions as I still cant seem to get any ping responses. 1.) Referencing my setup what should eth0 ip be? 2.) What should I make lan0 be, something within my LAN domain yes? 3.) What Should the default route be? 4.) What should the echo nameserver command value be?

Again Thank You. -Brian-


When all else fails reboot the BPI-R2 and re-verify settings. I should have known.


Ip-configuration on desktop is wrong…you have 2 interfaces in same subnet…why is your desktop between? Then if r2 is behind your desktop your netgear does not know net between desktop and r2…here you need a static route. 3rd: default route setup have to contain next-hop not local interface ip

Regarding eth0 i said this has no ip-configuration…


I had the second IP on my desktop as a way of isolating the testing and playing but also being able to touch the Internet. With that being said I now have all 5 ethernet ports working (wan, lan0, lan1, lan2, lan3). Has there been any further development by yourself or anyone else on getting the builtin Wireless Port working?

but you cannot use the same subnet on more than 1 Interface. your desktop does not know where to send a packet if it got a packet for that subnet…basics of routing :slight_smile: you have simply luck if it works

for wifi see R2 internal Wifi/BT (MT6625L) - Kernel 4.14+

nearly every kernel on my github-repo has wifi-driver built-in (4.17-wlan in testing, 4.18 working). But you still need wifi-tools, because i do not know how to build in these options done by these tools.

I upgraded the kernel to 4.18-rc2-wlan (with my RT8812au chipset support) to emmc booting to serial console shows boot menu:

*** U-Boot Boot Menu ***

 1. Reload Bootmenu.
 2. Load Environment.
 3. Boot Linux from SD.
 4. Boot Kernel 4.4.
 5. Boot Kernel 4.9.
 6. Boot Kernel 4.14.
 7. Boot Kernel 4.16.
 U-Boot console

Press UP/DOWN to move, ENTER to select

default it starts in: 4.14.48-bpi-r2-main

how to add my kernel to boot menu?

I copied uImage to /boot/bananapi/bpi-r2/linux and kernel modules to /lib/modules (folder named 4.18.0-rc2-bpi-r2-wlan)

you have to modify BPI-BOOT/bananapi/bpi-r2/linux/uEnv.txt

if you want to default booting your kernel you change kernel-param…if your kernel-binary is named uImage your kernel-param should look like these:


this is in my (maybe not in the image) uEnv.txt on top, after that i have the line for changing this var to pointing to 4.14.48


so just comment out the second line with #


if your uImage have another name add a 3rd line after the second like this:


so last assignment is loaded. if you want default booting 4.14.48 and want to add a separate menuentry for 4.18 (and like in my case for 4.17) you can add these menu-entries like this:


boot417=run newloadenv; setenv kernel ${kernel417}; printenv; run newboot
bootmenu_7=8. Boot kernel 4.17.=run boot417
boot418=run newloadenv; setenv kernel ${kernel418}; printenv; run newboot
bootmenu_8=9. Boot kernel 4.18.=run boot418

for this additional menuentries you have to reload bootmenu (first entry in menu) because uEnv.txt is not loaded before display the menu.

HTH Frank

This is my uEnv.txt

uEnv.txt (1,7 KB)

when I will do Bootmenu reload and then choose 4.18 this is what I have got:

[ 3.237142] Waiting for root device /dev/mmcblk0p2…

but in uEnv root is set to /dev/mmcblk1p2 … what I did wrong?

Do you boot from sd or emmc? Sd is mmcblk0 and emmc mmcblk1…i guess your root-var is wrong.

You have a “B” before your root-var.more below there is a linebreak before txt. Also you set differen filenames for 4.18 (kernel=uImage_4.18-rc2-wlan [overridden by next line] vs. kernel418=uImage_4_18-rc2-wlan)

What is your right filename?

Great. Corrected and it’s working. Time to check wifi …

For wifi just unpack thid to rootfs: https://drive.google.com/open?id=1MJxfHCpR-ph5YJu-_yMTCH5YG9rL6HHY create a /etc/hostapd/hostapd_ap0.conf and run wifi.sh

I am know able to manually configure the WiFi (manually using ip commands) and i cant get it to be be an AP.

Take a look in /usr/local/sbin/wifi.sh…you have to use wmttools to create ap0-device,set ip to it and run hostapd (+restart dnsmasq so it can listen to the new ap0-device)

OK I have finally got the ap0 to come up i see it from my other computer, I try connecting to it but it fails when trying to assign an IP. Ill work more on it tomorrow. I do have a different question however. Does anyone know what the LED’s mean? Green,Red and Blue? I have also experienced some weirdness with it when I have it plugged in to my HDMI monitor sometimes it has a blue background briefly during boot sometimes it has a light blue background. Ive noticed that when its light blue usually ill have to reboot as the ethernet ports wont work. When it boots and is green 80% of the time its good to go. Any idea on that?

Wanted to also say thanks A TON Frank couldn’t have gotten here without you man!


  • is ip set to ap0?
  • is dnsmasq configured for this interface and same subnet as IP from ap0?

which LEDs do you mean? you have 3 near power-connector and 3 near GPIO-header

red led near gpio seems to be only a power-indicator (cannot be switched on/off), the other leds can be manipulated via debugfs…i don’t know if they have special meaning while booting. in strock-kernel these are always on, with my kernel (LED-Fix) they are always off (due to dts-setting default off)

hey there. I’ve been working with this build on a daily basis and so far so good. Only had 2 shutdowns but after days. One thing is bothering me though, is the absence of usbserial drivers, unfortunately I can’t find them anywhere. In 4.4.70 they were working flawlessly, but I’m a noob in linux and don’t know how to port them (working with 4.14.48). I need to plug a cp210x device but is not showing anywhere. All help is appreciated.

you have not to port them…only enabling :slight_smile: and rebuild kernel from my repo

  │ Symbol: USB_SERIAL_CP210X [=n]                                                                     │  
  │ Type  : tristate
1 Like

I could easily enable usbserial drivers and now working fine. However, I’m getting again unexpected shutdowns around 2 days of inactivity. I’m using my BPI-R2 for logging purposes and it is normal to leave it long periods of time without observing. What can you recommend me to stop these shutdowns?

Try to log via debug-uart to get the cause

Have you these shutdowns with 4.4 or 4.14? I have 4.14 running for 15+days without shutdown

1 Like