Banana Pi BPI-R1
Introduction
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
- how to burn image : Quick Start Banana pi SBC
- how to development : Getting Started with R1
Hardware
Hardware interfact
Hardware spec
Banana Pi R1 | |
---|---|
CPU | A20 ARM Cortex -A7 Dual-Core |
GPU | ARM Mali400MP2Complies with OpenGL ES 2.0/1.1 |
Memory | 1GB DDR3 |
Network | 10/100/1000 Ethernet 8P8C, Wi-Fi |
Video Input | A CSI input connector allows for the connection of a designed camera module |
Video Outputs | HDMI, CVBS, LVDS/RGB |
Audio Outputs | 3.5mm jack and HDMI |
Power Source | 5 volt via Micro USB (DC in only) and / or Micro USB OTG |
USB 2.0 ports | 2(direct from Allwinner A20 chip) |
GPIO | GPIO, UART, I2C BUS, SPI BUS, WITH TWO CHIP SELECTS, CAN bus, ADC, PWM, +3.3V, +5V, GND |
LED | Power Key & 8P8C |
Storage | SATA 2.0 |
OS | Android 4.4, Android 4.2, Raspbian, Lubuntu, Open Suse, Debian |
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:
Software
Development
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 make
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] 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 12 PAL SVIDEO 14 NTSC 15 NTSC SVIDEO 17 PAL_M 18 PAL_M SVIDEO 20 PAL_NC 21 PAL_NC SVIDEO 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:
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 .
make
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 :
Resources
- BPI-R1 schematic diagram: https://drive.google.com/file/d/0B4PAo2nW2KfnNTBaVENGeHZfSzA/view?usp=sharing
- BPI-R1 3D & DXF file : https://drive.google.com/file/d/0B4PAo2nW2KfnOVhFMFp6MFFfa00/view?usp=sharing
- BPI-R1 CE,FCC RoHS Certification :
- linux-sunxi wiki :http://linux-sunxi.org/Lamobo_R1
- NetBSD/evbarm on Allwinner Technology SoCs :https://wiki.netbsd.org/ports/evbarm/allwinner/#index1h1
- Manual for HW setup and basic router functionalities: https://docs.google.com/document/d/1LVuukSuby7aCuAaQezFn-kM8ZQM-I0kuGiI_XnT0sDg/edit?usp=sharing
- David Bentham / openwrt-bpi-r1-prebuilt
- 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
- Allwinner chip documents: http://dl.linux-sunxi.org/
Image Release
OpenWRT
Officeal OpenWRT
- 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
- image download : https://downloads.openwrt.org/chaos_calmer/15.05/sunxi/generic/uboot-sunxi-Lamobo_R1/
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:
- http://forum.banana-pi.org/t/bpi-r1-openwrt-4-0-new-image-release/430
Android 4.4
- 2018-07-28 update android 4.4 HDMI version image
- banana pi PBI-R1 android 4.4 image : https://drive.google.com/file/d/0BxpbZWFFuHmyUHRYeE9uenFTVmc/view
Ubuntu
Ubuntu kernel 3.4
- 2018-07-28 ubuntu-server-16.04
- support BPI-R1
- google drive :https://drive.google.com/open?id=1ztI_dB0veEPkEaB7XV7OdEb3YE2mwywm
- baidu drive :https://pan.baidu.com/s/1dorsPZAqCbL1oC6J4zQyvQ
- Forum thread:
- http://forum.banana-pi.org/t/bananapi-m1-m1p-r1-new-image-android-and-ubuntu-sever-release-2018-07-28/6357
- 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:
- http://forum.banana-pi.org/t/bpi-r1-new-image-ubuntu-mate-16-04-desktop-armhf-raspberry-pi-bpi-m1-m1p-r1-sd-emmc-2016-07-21/2052
- 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:
- http://forum.banana-pi.org/t/bpi-r1-new-image-edu-ubuntu-mate-1604-preview-bpi-m1-m1p-r1-img-2016-07-19/2043
- 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:
- http://forum.banana-pi.org/t/bpi-r1-new-image-ubuntu-16-04-xenial-minimal-preview-bpi-m1-m1p-r1-img-2016-07-10/1991
- 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:
- http://forum.banana-pi.org/t/bpi-r1-new-image-ubuntu-mate-16-04-xenial-preview-bpi-r1-sd-emmc-2016-06-04/1821
Debian
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:
- http://forum.banana-pi.org/t/bpi-r1-new-image-armbian-5-17-bpi-r1-debian-jessie-4-6-5-desktop-build-by-bpi-r1-img/2095
- 2015-07-21 update Debian8_docker uboot : 2015-7 linux kernel: 4.2. 4
- google drive download :https://drive.google.com/file/d/0B3EGHv0FSPOGSXVIaUVaRDBldE0/view
- baidu cloud :http://pan.baidu.com/s/1kTnKNrx
- MD5:0e3349ea78e790382461a538264b569d
- Forum thread:
- http://forum.banana-pi.org/t/bpi-r1-new-image-debian8-docker-k4-2-beta-v4-0/516
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:
- http://forum.banana-pi.org/t/bpi-r1-new-image-raspbian-jessie-bpi-m1-m1p-r1-img-2016-07-13/2011
- 2016-07-12 update raspbian lite
- google drive download : https://drive.google.com/file/d/0B_YnvHgh2rwjRXRuWHJ5V3BJTmc/view?usp=sharing
- MD5: 302063f7417079390da79334258dd538
- Forum thread:
- http://forum.banana-pi.org/t/bpi-r1-new-image-raspbian-lite-bpi-m1-m1p-r1-img-2016-07-12/2004
Fedora
- Banana pi BPI-R1 mainline linux kernel for fedora
Kanux
- 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:
- http://forum.banana-pi.org/t/bpi-r1-new-image-kanux-beta-3-3-0-preview-bpi-m1-m1p-r1-img-2016-07-15/2025
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
FreeBSD
- 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/
Asterisk
- Asterisk support http://dostmuhammad.com/blog/asterisk-for-banana-pi-r1-freepbx-image-included/
- forum pthread: http://forum.banana-pi.org/t/asterisk-for-banana-pi-bpi-r1-freepbx-image-included/921
Others
- you can fine others image at forum : http://forum.banana-pi.org/c/bpi-r1