Difference between revisions of "Banana Pi BPI-R1"

From Banana Pi Wiki
Jump to: navigation, search
(Image Release)
(Image Release)
Line 215: Line 215:
===Officeal OpenWRT==
===Officeal OpenWRT===
*wiki : https://wiki.openwrt.org/toh/lamobo/r1
*wiki : https://wiki.openwrt.org/toh/lamobo/r1
*openwrt support for allwinner :https://wiki.openwrt.org/doc/hardware/soc/soc.allwinner.sunxi?s[]=banana&s[]=pi
*openwrt support for allwinner :https://wiki.openwrt.org/doc/hardware/soc/soc.allwinner.sunxi?s[]=banana&s[]=pi
*image download : https://downloads.openwrt.org/chaos_calmer/15.05/sunxi/generic/uboot-sunxi-Lamobo_R1/
*image download : https://downloads.openwrt.org/chaos_calmer/15.05/sunxi/generic/uboot-sunxi-Lamobo_R1/
===BPI OpenWRT V4.0==
===BPI OpenWRT V4.0===
::google drive: https://drive.google.com/file/d/0B3EGHv0FSPOGeHJNdmVXS3UtMUU/view?usp=sharing  
::google drive: https://drive.google.com/file/d/0B3EGHv0FSPOGeHJNdmVXS3UtMUU/view?usp=sharing  
::baidu cloud: http://pan.baidu.com/s/1mg8Gjna
::baidu cloud: http://pan.baidu.com/s/1mg8Gjna
::MD5: CB597EE79A6E27630AD7F903D23C4A7B
::MD5: CB597EE79A6E27630AD7F903D23C4A7B
::Forum thread:
==Android 4.4==
==Android 4.4==

Revision as of 20:51, 9 May 2018



The Banana Pi R1 is a router based Banana Pi running on the same SoC as the M1 Classic Pi.

The R1 is a open hardware router that can run on a variety of open source operating systems including OpenWrt, Android, and Bananian. The R1 has slim router form factor with a bay for 2.5" HDDs. It also has 4 Gigabit LAN ports, 1 Gigabit WAN, and 300Mbs wireless N capabilities.

Banana Pi is an open platform device, it is for anyone who wants to play and build with developer technology instead of simply using consumer technology. Backed by our community, starting a project and building servers is fun and rewarding. We welcome all companies, DIYers, and tech loving people within our community! Together, we can make a difference, we can discover our passions, inspire others, and build a practical project.

Key Features

  • Allwinner A20 Dual-core 1.0GHz CPU
  • Mali-400 MP2 with Open GL ES 2.0/1.1.
  • 1 GB DDR3 memory.
  • 1x SATA interface.
  • 4x Gigabit LAN 1x Gigabit WAN

Getting Start


Hardware interfact

BPI-R1 front.png

BPI-R1 back.jpg

Hardware spec

GPIO PIN define

Banana Pi BPI-R1 has a 40-pin GPIO header that matches that of the Model Raspberry Pi 3. Following is the Banana Pi GPIO Pinout:

Gpio define.png



Basic Development

Compulsive modification of HDMI output resolution

the final solution of compulsive modification of HDMI output resolution.

As you may have discovered the common configuration method in raspberry pi (such as alteration of /boot/config.txt) does not work on BPI, neither does the modification of cmdline.txt and uEnv.txt especially for some display with converter(HDMI->VGA or HDMI ->IDVI) or some old display devices.

Today,we are introducing a new solution to modify the resolution of HDMI, no other risks if you do it according to this document step by step:

1,install compile sunxi-tools depended-upon packages

sudo apt-get install libusb-1.0-0-dev

2,get sunxi-tools new code from github:

git clone https://github.com/linux-sunxi/sunxi-tools.git

3,compile sunxi-tools

cd sunxi-tools

4,backup script.bin

sudo cp /boot/bananapi/script.bin /boot/bananapi/script.bak

5,copy script.bin to current dir

cp /boot/bananapi/script.bin ./

6,use bin2fex change bin to fex

bin2fex ./script.bin ./script.fex

7,edit script.fex file:

nano script.fex
see this below:
disp_init_enable = 1
disp_mode = 0
screen0_output_type = 3
screen0_output_mode = 5
screen1_output_type = 2
screen1_output_mode = 11
fb0_framebuffer_num = 2
fb0_format = 10
fb0_pixel_sequence = 0
fb0_scaler_mode_enable = 1
fb1_framebuffer_num = 2
fb1_format = 10
fb1_pixel_sequence = 0
fb1_scaler_mode_enable = 0
lcd0_backlight = 197
lcd1_backlight = 197
lcd0_bright = 50
lcd0_contrast = 50
lcd0_saturation = 57
lcd0_hue = 50
lcd1_bright = 50
lcd1_contrast = 50
lcd1_saturation = 57
lcd1_hue = 50 

just change screen0_output_mode = 5, note , other not do any change.

A20 support as below: HDMI/TV mode numbers:

0 480i
1 576i
2 480p
3 576p
4 720p 50Hz
5 720p 60Hz
6 1080i 50 Hz
7 1080i 60 Hz
8 1080p 24 Hz
9 1080p 50 Hz
10 1080p 60 Hz
11 PAL
17 PAL_M
23 1080p 24 Hz 3D
24 720p 50 Hz 3D
25 720p 60 Hz 3D
26 1360x768 60 Hz
27 1280x1024 60 Hz

Press Ctrl + x , Y ,Enter save and exit edit:

8,use fex2bin change fex to bin

fex2bin ./script.fex ./script.bin

copy script.bin to /boot

sudo cp ./script.bin /boot/bananapi/

9,reboot and make a try

sudo reboot

another easy way: just edit uEnv.txt file to change it:

bootargs=enforcing=1 console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 rootwait init=/init vmalloc=384M ion_c
ma_list="120m,176m,512m" loglevel=8 bootmenutimeout=10 datadev=mmcblk0p2 disp.screen0_output_type=3 disp.screen0_o
utput_mode=10 disp.screen1_output_type=3 disp.screen1_output_mode=10

How to build OpenWRT image from github

we test it with deepin2014(base on ubuntu14.04)

1,install depend package :

apt-get install subversion build-essential libncurses5-dev zlib1g-dev gawk git ccache gettext libssl-dev xsltproc unzip subversion file

2,get openwrt source code

git clone https://github.com/BPI-SINOVOIP/BPI-OpenWRT.git

3,enter openwrt dir:

cd BPI-OpenWRT

4,update package and install

./scripts/feeds update -a
./scripts/feeds install -a

5 Enter the customization interface:

R1 openwrt 1.jpg

please choose your need:

Target System default is BananaPi,its the only choice on that matte.,Please change the device selection under Target Profile. The OpenWrt image supports M1, M1+ and R1.

example : i need web and add chinese support

LuCI—> 1. Collections  ---> <*> luci  add Luci support ,it mean web GUI support,it is defaultes
LuCI—>2. Modules  ---> <*> luci-i18n-chinese   add chinese also you can choose others.

6 Make ,you can add V=s to see more message ,also add -j4 to use quad core to work .


when compile finish bin/sunxi/ dir have a image,file name:openwrt-sunxi-BPI-XX-sdcard-vfat-ext4.img,i compile is BPI-R1,so name is :openwrt-sunxi-BPI-R1-sdcard-vfat-ext4.img,

7, use USB Image Tool(http://www.alexpage.de/) burn image to sd,insert BPI and booting it.

8 running :

R1 openwrt 2.png


Stable 1.2.1 release:
Kernel upgraded to 4.1.17
Added Parted package
Lots of package upgrades and bug fixes...
VM build system - OpenwrtBuild-BPI-R1-VM-V1.0.torrent if you wish to spin up your own version from scratch!
github link: https://github.com/db260179/openwrt-bpi-r1

Image Release


Officeal OpenWRT

BPI OpenWRT V4.0

  • BPI-R1_OpenWrt_V4.0
google drive: https://drive.google.com/file/d/0B3EGHv0FSPOGeHJNdmVXS3UtMUU/view?usp=sharing
baidu cloud: http://pan.baidu.com/s/1mg8Gjna
MD5: CB597EE79A6E27630AD7F903D23C4A7B
Forum thread:

Android 4.4


Ubuntu kernel 3.4

  • 2016-07-21 update ubuntu-mate-16.04-desktop
support BPI-M2,BPI-M1+,BPI-R1
google drive : https://drive.google.com/file/d/0B_YnvHgh2rwjY0VlUGdobzFtdk0/view?usp=sharing
MD5: 155f072da499a7c523b7394f77dd9def
Forum thread:
  • 2016-07-19 update, need use >=16G SD card
google drive : https://drive.google.com/file/d/0B_YnvHgh2rwjUXZmZTh3ZG5LTEU/view?usp=sharing
MD5: 37d6599eac4daced375fba8fa58dc1d5
Forum thread:
  • 2016-07-10 update Ubuntu-16.04-xenial-minimal
support BPI-M2,BPI-M1+,BPI-R1
google drive :https://drive.google.com/file/d/0B_YnvHgh2rwjUXFrU0ZDX3Z2NlE/view?usp=sharing
MD5: b900b9ba3b0f664a2cfae1fa1146b2fa
Forum thread:
  • 2016-06-04 update Ubuntu-16.04-xenial
support BPI-M2,BPI-M1+,BPI-R1
google drive :https://drive.google.com/file/d/0B_YnvHgh2rwjQ1JJNkpQSXoxVVk/view?usp=sharing
baidu cloud:http://pan.baidu.com/s/1jHDZCsY
MD5: b900b9ba3b0f664a2cfae1fa1146b2fa
Forum thread:


Debian u-boot-2016.07, kernel 4.6.5

  • 2016-07-21 update
image name :2016-08-04-Armbian_5.17_Lamobo-r1_Debian_jessie_4.6.5_desktop-build-by-bpi-r1.img.zip
google drive download : https://drive.google.com/file/d/0B_YnvHgh2rwjV3I5RlpwdmZHYWs/view?usp=sharing
MD5: f6952fc265ba26c953eb929d23d1ac95
Forum thread:

Armbian image

  • Armbian Xenial and Armbian Jessie
Image lownload link :https://www.armbian.com/lamobo-r1/

Rasbian image

  • 2016-07-13 update raspbian jessie
google drive download : https://drive.google.com/file/d/0B_YnvHgh2rwjdTh5ZnVZam1rb0E/view?usp=sharing
MD5: 156b09907586ea9e86481bda73f4254f
Forum thread:
  • 2016-07-12 update raspbian lite
google drive download : https://drive.google.com/file/d/0B_YnvHgh2rwjRXRuWHJ5V3BJTmc/view?usp=sharing
MD5: 302063f7417079390da79334258dd538
Forum thread:


  • Banana pi BPI-R1 mainline linux kernel for fedora


  • 2016-07-12 update KANO OS Beta 3.3.0 (support rpi3 rpi2 rpi1)
google drive download : https://drive.google.com/file/d/0B_YnvHgh2rwjaXQtVGUtbFplTUU/view?usp=sharing
MD5: 1951f3abc0a54675d9bbbac387760e4e
Forum thread:

Arch linux

  • Archlinux 28-12-2017 4.6.5 sunxi mainline kernel
Kernel borrowed from armbian: BPI-R1 new image:Armbian_5.17_bpi-r1_Debian_jessie_4.6.5_desktop-build-by-bpi-r1.img
Archlinux upgraded from official bpi image.
The kernel issues related to kernel / userspace mismatch seem to be gone (such as systemd-sysctl input / output error etc).
Image download link: http://mkaczanowski.com/files/archlinux-bpi-r1-2017-28-2017-4.6.5-sunxi-mainline.img


  • Banana pi as the official partner of Allwinner , must banana pi product use Allwinner chip design . such as A20/A31S/H3/H2+/A64/A83T , and FreeBSD have support many Allwinner . so easy to use on banana pi board.
Allwinner A20 (sun7i), a dual-core Cortex-A7 : BPI-M1/BPI-M1+/BPI-R1
Allwinner A31 and A31s (sun6i), a quad-core Cortex-A7 : BPI-M2
Allwinner A64 sun50i), a quad-core Cortex-A53 :BPI-M64
Allwinner A83T (sun8i), an octa-core Cortex-A7 : BPI-M3
Allwinner H3 (sun8i), a quad-core Cortex-A7 : BPI-M2+/BPI-M2+ EDU/