Banana Pi Format Emmc

The Compute Module has an on-board eMMC device connected to the primary SD card interface. This guide explains how to write data to the eMMC storage using a Compute Module IO board.

Please also read the section on the Compute Module Datasheet.

Prepare your SD card for the Banana Pi. In order to enjoy your Banana Pi, you will need to install an Operating System (OS ) onto an SD card or eMMC Flash. Instructions below will teach you how to write an OS image to your SD card or eMMC Flash under Windows and Linux. 1.Insert your SD card into your computer. The Banana Pi M64 comes with 8 GB of eMMC which is the main feature that differentiates it from the Raspberry Pi 4. It also features a 4K HDMI interface, MIPI-DSI, and MIPI-CSI, as well as onboard wireless and Gigabit Ethernet for your connectivity needs.

Steps to flash the eMMC on a Compute Module

To flash the Compute Module eMMC, you either need a Linux system (a Raspberry Pi is recommended, or Ubuntu on a PC) or a Windows system (Windows 7 is recommended). For BCM2837 (CM3), a bug which affected the Mac has been fixed, so this will also work.

Note There is a bug in the BCM2835 (CM1) bootloader which returns a slightly incorrect USB packet to the host. Most USB hosts seem to ignore this benign bug and work fine; we do, however, see some USB ports that don't work due to this bug. We don't quite understand why some ports fail, as it doesn't seem to be correlated with whether they are USB2 or USB3 (we have seen both types working), but it's likely to be specific to the host controller and driver. This bug has been fixed in BCM2837.

For Windows users

Under Windows, an installer is available to install the required drivers and boot tool automatically. Alternatively, a user can compile and run it using Cygwin and/or install the drivers manually.

Windows installer

For those who just want to enable the Compute Module eMMC as a mass storage device under Windows, the stand-alone installer is the recommended option. This installer has been tested on Windows 10 32-bit and 64-bit, and Windows XP 32-bit.

Please ensure you are not writing to any USB devices whilst the installer is running.

  1. Download and run the Windows installer to install the drivers and boot tool.
  2. Plug your host PC USB into the CMIO USB SLAVE port, making sure J4 is set to the EN position.
  3. Apply power to the CMIO board; Windows should now find the hardware and install the driver.
  4. Once the driver installation is complete, run the RPiBoot.exe tool that was previously installed.
  5. After a few seconds, the Compute Module eMMC will pop up under Windows as a disk (USB mass storage device).

Setting up the Compute Module IO board

Ensure the Compute Module itself is correctly installed on the IO board. It should lie parallel with the board, with the engagement clips clicked into place.

Make sure that J4 (USB SLAVE BOOT ENABLE) is set to the 'EN' position.

Use a micro USB cable to connect the IO board to the host device.

Do not power up yet.

Building rpiboot on your host system (Cygwin/Linux)

We will be using Git to get the rpiboot source code, so ensure Git is installed. In Cygwin, use the Cygwin installer. On a Pi or other Debian-based Linux machine, use the following command:

IntroductionCorsair HX1000W is a 1,000 W power supply with six 6/8-pin auxiliary cables for video cards (four on the modular cabling system and two coming directly from inside the unit), modular cabling system, solid aluminum capacitors, dual-transformer design and with the manufacturer saying that it can really deliver 1,000 W at 50° C. Corsair ax1000 review Let’s see if this is true and if this is a good product.Figure 1: Corsair HX1000W power supply.As you can see in Figure 1, this power supply uses a big 140 mm ball bearing fan on its bottom and a big mesh on the rear side where traditionally we have an 80 mm fan.

Git may produce an error if the date is not set correctly. On a Raspberry Pi, enter the following to correct this:

where MM is the month, DD is the date, and hh and mm are hours and minutes respectively.

Clone the usbboot tool repository:

libusb must be installed. If you are using Cygwin, please make sure libusb is installed as previously described. On the Raspberry Pi or other Debian-based Linux, enter the following command:

Now build and install the usbboot tool:

Run the usbboot tool and it will wait for a connection:

Now plug the host machine into the Compute Module IO board USB slave port (J15) and power the CMIO board on. The rpiboot tool will discover the Compute Module and send boot code to allow access to the eMMC.

Writing to the eMMC - Windows

After rpiboot completes, a new USB mass storage drive will appear in Windows. We recommend following this guide and using Win32DiskImager to write images to the drive, rather than trying to use /dev/sda etc. from Cygwin.

Once you have written an OS image, make sure J4 (USB SLAVE BOOT ENABLE) is set to the disabled position and/or nothing is plugged into the USB slave port. Power cycling the IO board should result in the Compute Module booting the OS image from eMMC.

Writing to the eMMC - Linux

After rpiboot completes, you will see a new device appear; this is commonly /dev/sda on a Pi but it could be another location such as /dev/sdb, so check in /dev/ or run lsblk before running rpiboot so you can see what changes.

You now need to write a raw OS image (such as Raspbian) to the device. Note the following command may take some time to complete, depending on the size of the image: (Change /dev/sdX to the appropriate device.)

Once the image has been written, unplug and re-plug the USB; you should see two partitions appear (for Raspbian) in /dev. In total, you should see something similar to this:

The /dev/sdX1 and /dev/sdX2 partitions can now be mounted normally.

Make sure J4 (USB SLAVE BOOT ENABLE) is set to the disabled position and/or nothing is plugged into the USB slave port. Power cycling the IO board should now result in the Compute Module booting from eMMC.

Troubleshooting

For a small percentage of Raspberry Pi Compute Module 3s, booting problems have been reported. We have traced these back to the method used to create the FAT32 partition; we believe the problem is due to a difference in timing between the BCM2835/6/7 and the newer eMMC devices. The following method of creating the partition is a reliable solution in our hands.

  • 1Summary
  • 2Hardware Revision
  • 3Resources
  • 4Release

Introduction

Overview
BPI-R2 for BPI 4.0:MT7623N for 4G router Successful case

The Banana Pi R2 is a router based development board, which can run on a variety of open source operating systems including OpenWrt, Android, and Linux. It has 4 Gigabit LAN ports, 1 Gigabit WAN, and 300Mbs wireless N capabilities.

Key Features

  • MediaTek MT7623N, Quad-core ARM Cortex-A7
  • Mali 450 MP4 GPU
  • 2G DDR3 SDRAM
  • Mini PCIE interface.
  • support 2 SATA interface
  • MicroSD slot supports up to 256GB expansion
  • 8G eMMC flash (option 16/32/64G)
  • MIPI display interface support
  • 5 port 10/100/1000 Mb Ethernet port
  • (2) USB 3.0 and (1) USB 2.0 otg port
  • 1080P high-definition video playback
  • HDMI port and multi-channel audio output
  • WIFI&Bluetooth 4.1 with 802.11B/G/N onboard

Getting Start

Hardware interface

Hardware spec

Banana Pi R2
CPU MediaTek MT7623N, Quad-core ARM Cortex-A7
GPU Mali 450 MP4 GPU
Memory 2G DDR3 SDRAM
Storage Onboard 8GB eMMC Flash, Micro SD-Card slot, Two SATA 2.0 Port
Network 5 x 10/100/1000 Mbit/s Ethernet (MT7530)
WIFI&BT Wi-Fi 802.11 b/g/n 2.4G/5G + Bluetooth BT4.1(MT6625L)
Display(s) HDMI (Type A) output with HDCP 1.4, resolutions up 1920x1200; MIPI Display Serial Interface (DSI) interface(4 data lanes)
Video decoder(s) Multi-format FHD video decoding, including Mpeg1/2, Mpeg4, H.263, H.264, etc. H.264 high-profile 1080p@60fps, HEVC/H.265 1080P@60fps
Audio Output(s) HDMI & I2S
USB port USB 3.0 PORT (x2), USB OTG (x1)
mini PCIE 1 mini pcie interface & 1 pcie pin define interface
Remote IR Receiver (x1)
GPIO 40 Pin Header : GPIO (x28) and Power (+5V, +3.3V and GND). Some of I/O Pin can be used for specific functions as UART, I2C, SPI or PWM
Switches Reset button, Power button, U-boot button
LED Power Status and 8P8C
Power Source 5 volt @2A via DC Power and/or Micro USB (OTG)
Size & Weight 148 mm × 100.5mm 100g
OS OpenWRT, Debian, Ubuntu, Raspbian and others OS

BPI-MT7615 802.11 ac wifi 4x4 dual-band

we have design a MT7615 802.11 ac wifi module ,can use on BPI-R2

MT7615 is a highly integrated Wi-Fi single chip which support 1733 Mbps PHY rate,It fully compies with IEEE 802.11ac and IEEE802.11 a/b/n standards,offering feature-rich wireless connecivity at high standards,and delivering reliable,cost-effective throughput from and extended distance.

BPI-R2 GPIO Pin define

Banana Pi BPI-R2 40-pin GPIO define:

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

BPI-R2 40 PIN GPIO define:

40 PIN GPIO of Banana pi BPI-R2
GPIO Pin Name Default Function
CON1-P01 VCC-3V3
CON1-P02 VCC-5V
CON1-P03 I2C_SDA0 GPIO75
CON1-P04 VCC-5V
CON1-P05 I2C_SCL0 GPIO76
CON1-P06 GND
CON1-P07 PWM-003 GPIO206
CON1-P08 UTXD1 GPIO80
CON1-P09 GND
CON1-P10 URXD0 GPIO81
CON1-P11 URXD1 GPIO80
CON1-P12 I2S0_BCK GPIO74
CON1-P13 UTXD0 GPIO79
CON1-P14 GND
CON1-P15 PWM-002 GPIO205
CON1-P16 URTS1 GPIO25
CON1-P17 VCC-3V3
CON1-P18 UCTS1 GPIO24
CON1-P19 SPI0_MO GPIO56
CON1-P20 GND
CON1-P21 SPI0_MI GPIO55
CON1-P22 PCM_CLK GPIO18
CON1-P23 SPI0_CK GPIO54
CON1-P24 SPI0_CSN GPIO53
CON1-P25 GND
CON1-P26 PCM_RX GPIO20
CON1-P27 I2C_SDA1 GPIO57
CON1-P28 I2C_SCL1 GPIO58
CON1-P29 PCM_RST GPIO22
CON1-P30 GND
CON1-P31 SPDIF_OUT GPIO200
CON1-P32 PCM_TX GPIO21
CON1-P33 I2S0_MCLK GPIO126
CON1-P34 GND
CON1-P35 I2S0_LRCK GPIO73
CON1-P36 PCM_SYNC GPIO19
CON1-P37 SPDIF_IN1 GPIO202
CON1-P38 I2S0_DATA_IN GPIO72
CON1-P39 GND
CON1-P40 I2S0_DATA_OUT GPI049

MIPI DSI (Display SerialInterface)

Thedisplay Connector is a 40-pin FPC connector which can connect external LCD panel (MIPI DSI) and touch screen (I2C) module as well. The pin definitions of this connector are shown as below. This is marked on the Banana Pi board as“DSI”.

MIPI DSI of Banana pi BPI-R2
DSI Pin Name Default Function Function2:GPIO
CN6-P01 VCC-3V3
CN6-P02 VCC-5V
CN6-P03 VCC-3V3
CN6-P04 VCC-5V
CN6-P05 GND
CN6-P06 VCC-5V
CN6-P07 GND
CN6-P08 VCC-5V
CN6-P09 NC
CN6-P10 GND
CN6-P11 NC
CN6-P12 DSI-D0N
CN6-P13 NC
CN6-P14 DSI-D0P
CN6-P15 DSI_TE GPIO84
CN6-P16 GND
CN6-P17 I2C_SDA2 GPIO77
CN6-P18 DSI-D1N
CN6-P19 I2C_SCL2 GPIO78
CN6-P20 DSI-D1P
CN6-P21 CTP-INT GPIO23
CN6-P22 GND
CN6-P23 CTP-RST GPIO236
CN6-P24 DSI-CKN
CN6-P25 GND
CN6-P26 DSI-CKP
CN6-P27 GPIO28
CN6-P28 GND
CN6-P29 GPIO83
CN6-P30 DSI-D2N
CN6-P31 GPIO204
CN6-P32 DSI-D2P
CN6-P33 GND
CN6-P34 GND
CN6-P35 LCM_BLPWM GPIO203
CN6-P36 DSI-D3N
CN6-P37 GND
CN6-P38 DSI-D3P
CN6-P39 NC
CN6-P40 GND

UART specification:

Theheader CON4 is the UART interface. For developers of Banana Pi, this is an easy way to get the UART console output to check the system status and log message.

Debug Uart of Banana pi BPI-R2
CON2 Pin Name Default Function GPIO
CON2 P03 UTXD2
CON2P02 URXD2
CON2P01 GND

Source code

  • OpenWRT 18.06 source code on Github: https://github.com/BPI-SINOVOIP/BPI-R2-OPENWRT-18.06
  • BPI-R2 github BSP : https://github.com/BPI-SINOVOIP/BPI-R2-bsp
  • OpenWRT LEDE: https://github.com/garywangcn/bpi-r2_lede/tree/bpi-r2-on-lede-v1
  • BPI-R2 linux kernel 4.14 : https://github.com/frank-w/BPI-R2-4.14
  • OpenMPTCProuter : https://github.com/Ysurac/openmptcprouter
  • BPI-R2 FreeBSD support/ZRouter.org support :https://gist.github.com/rayddteam/3461964e69f1fcc727b1b68ec9d6d0c8

Documents

  • BPI-R2 Schematics :BPI-R2 V1.2 hardware schematic diagram
  • BPI-R2 Schematics :BPI-R2 V1.1 hardware schematic diagram
  • Dimensional diagram BPI-R2 DXF design file
  • MTK MT7623N datasheet
MTK 7623N datasheet for development board programming guide v1.1 new update
  • FW-Web Wiki : http://fw-web.de/dokuwiki/doku.php?id=en:bpi-r2:start
  • Banana pi BPI-R2 CE,FCC,RoHS:
CE,FCC,RoHS
  • Banana Pi BPI-R2 Razberry board OpenHab2
https://community.openhab.org/t/banana-pi-bpi-r2-razberry-board-openhab2-help/37222/8
  • gitbook online documents: https://bananapi.gitbooks.io/banana-pi-bpi-r2-open-source-smart-router/content/
  • The best news is that the final patchset version for HNAT framework was accepted ( kernel 4.16) and it's based on nftables.:https://www.spinics.net/lists/netfilter-devel/msg50973.html
  • How to build an Ubuntu/Debian SD image from scratch : http://forum.banana-pi.org/t/how-to-build-an-ubuntu-debian-sd-image-from-scratch/6805
  • Best Banana Pi R2 Operating System Options: https://www.electromaker.io/blog/article/best-banana-pi-r2-operating-system-options
  • Make a Banana Pi R2 Router: Banana Pi R2 OpenWRT Installation and Review:https://www.electromaker.io/tutorial/blog/make-a-banana-pi-r2-router-banana-pi-r2-openwrt-installation-and-review
  • MTK chip mailline Linux effort :https://mtk.bcnfs.org/doku.php?id=linux_mainline_effort

Android 6.0

  • baidu cloud : https://pan.baidu.com/s/1pMrroy3
  • discuss on forum : http://forum.banana-pi.org/t/bpi-r2-new-image-release-android-6-0-v1-0/4630

Ubuntu with kernel 4.4

  • Source code(BSP): https://github.com/BPI-SINOVOIP/BPI-R2-bsp
  • BPI-R2 Ubuntu 16.04 Kernel4.4 V1.3
Image Release : http://forum.banana-pi.org/t/topic/5293

Ubuntu with kernel 4.14

  • Source code(BSP): https://github.com/BPI-SINOVOIP/BPI-R2-bsp-4.14
  • Image Release
BPI-R2 Ubuntu 16.04 Kernel4.14 V1.0: http://forum.banana-pi.org/t/topic/5548

OpenWrt(LEDE)

  • Official OpenWR 18.06.4 for Banana Pi BPI-R2 image released 2019-7-04
image download:https://downloads.openwrt.org/releases/18.06.4/targets/mediatek/mt7623/
Forum pthread:http://forum.banana-pi.org/t/official-openwr-18-06-4-for-banana-pi-bpi-r2-image-released-2019-7-04/9459


  • BananaPI BPI-R2 Openwrt18.06 Image Release and source code 2019-03-06
source code on Github: https://github.com/BPI-SINOVOIP/BPI-R2-OPENWRT-18.06
image download: https://dev.banana-pi.org.cn/Image/BPI-R2/Openwrt/1806/
MD5SUM
mtk-bpi-r2-EMMC.img : 5d1537c45679de352dd25d8dda46b9ad
mtk-bpi-r2-SD.img :71fce303abdceed4f1c3548d5a3fc207
forum Pthread: http://forum.banana-pi.org/t/bananapi-bpi-r2-openwrt18-06-demo-image-release-2019-03-06/8562
  • Official OpenWRT 18.06.0 image :
https://downloads.openwrt.org/releases/18.06.0/targets/mediatek/mt7623/
  • Source code: https://github.com/garywangcn/bpi-r2_lede/tree/bpi-r2-on-lede-v1
  • Image Release
BPI-R2 OpenWrt(LEDE) 20180509: http://forum.banana-pi.org/t/topic/5646
BPI-R2 OpenWrt(LEDE) 20180411: http://forum.banana-pi.org/t/topic/5395
BPI-R2 OpenWrt(LEDE) 20170908: http://forum.banana-pi.org/t/topic/3797

OpenMPTCProuter

  • 2018-10-12 update, OpenMPTCProuter use MultiPath TCP (MPTCP) to aggregate multiple Internet connections and OpenWrt. and have official support BPI-R2.
image download:https://www.openmptcprouter.com/download
source code on github:https://github.com/Ysurac/openmptcprouter
forum pthread: http://forum.banana-pi.org/t/banana-pi-bpi-r2-new-image-openmptcprouter-official-support/7229

Armbian

  • Armbian preview image for Bananapi R2 / K4.19.y
https://www.armbian.com/bananapi-r2/

Centos 7

  • Source code(BSP): https://github.com/BPI-SINOVOIP/BPI-R2-bsp
  • Image Release
BPI-R2 Centos 7 Kernel4.4 20180112: http://forum.banana-pi.org/t/topic/5124
how to install: https://www.electromaker.io/tutorial/blog/getting-started-with-centos-on-the-banana-pi-r2-how-to-install-centos-on-banana-pi-r2

Debian

  • 2019-8-12 update.[BPI-R2] debian 10 buster image with Kernel 4.19.62, shared by frank-w
Kernel: 4.19.62,uboot 2019-07 with erase-env + sata-support,new preloader (2019-07-22),configured to ip 192.168.0.11 on lan0,openssh-server running with root-login (should be disabled afterwards),username/password: root/bananapi
google drive:https://drive.google.com/open?id=1oP7jy1KrrIOifvImo2nQ59wx3_9hHkgk
how to : https://www.fw-web.de/dokuwiki/doku.php?id=en:bpi-r2:storage#short_install-guide
forum discuss:http://forum.banana-pi.org/t/bpi-r2-debian-buster-image-with-kernel-4-19-62/9601
  • Image Release
image download : https://drive.google.com/drive/folders/1oP7jy1KrrIOifvImo2nQ59wx3_9hHkgk
documents: http://www.fw-web.de/dokuwiki/doku.php?id=en:bpi-r2:debian

Basic Alpine Router Platform with WIFI AccessPoint on Pantavisor 005

  • Image Release
release date :2018-06-17
  • SD-Card images:
512M: https://s3.amazonaws.com/bpi-pv/alpine-router/2/2018-06-16-alpine-router-pantavisor-512M-bpi-r2-sd-emmc.img.zip
8G: https://s3.amazonaws.com/bpi-pv/alpine-router/2/2018-06-16-alpine-router-pantavisor-8G-bpi-r2-sd-emmc.img.zip
  • PVR Command Line Tool (download to PATH directory and make executable):
Linux (amd64): https://gitlab.com/pantacor/pvr/uploads/b0db2e9e36fa70ff09e045df9c9803d4/pvr-004-amd64.gz
Windows (x64): https://gitlab.com/pantacor/pvr/uploads/a7a26b603a5b8e9a98e2dc7c77b4c252/pvr-004-win10-x64.zip
More downloads: https://gitlab.com/pantacor/pvr/tags/004
  • Discuss on forum :
http://forum.banana-pi.org/t/bpi-r2-new-image-basic-alpine-router-platform-with-wifi-accesspoint-on-pantavisor-005-2018-06-17/6032

yocto Linux

  • this image just for test. yocto with kernel 4 4,and GPU working fine.this GPU binary is from yocto SDK with kernel 3.18 , we test it with github kernel 4.4 , just change rootfs. if working fine .so , maybe can use on kernel 4.14. just need to test . and have weston commond to test more.
test image : https://drive.google.com/open?id=1le2rroD3Dgc4HkEUmGyDLZix-Llrzeen
video demo : https://www.youtube.com/watch?v=HhFn1Nqht1E&feature=youtu.be
Forum pthread : http://forum.banana-pi.org/t/banana-pi-bpi-r2-new-image-gpu-decode-test-yocto-with-kernel-4-4-just-for-test/6508

MQLinux 19.02 beta

  • update 2019-03-12, Note : this image is shared by http://www.morequick.net/. not support by BPI team
Main features:
Highly streamlined embedded design system, running in memory
Mutilple Language (en/zh_CN currently)
DNS Proxy/Cache
DDNS
VLAN Extension for WAN
Multiple WAN (each ethernet port can be defined)
DHCP Server
FTP Server
PPPoE Server
Samber Server
VPN client/Server (PPTP VPN, IPsecVPN, OpenVPN)
Cloud Login
Firewall
IP-MAC Locking
Port Mapping/DMZ/UPnP
Diagnose Tools …
image dwonload: https://drive.google.com/file/d/1Ws2IUiCGSKKQ2dCM5XJBV-pog-hk17PM/view?usp=sharing
MD5: 09b58f050166ed5d09803e1de56d7890
Forum pthread: http://forum.banana-pi.org/t/banana-pi-bpi-r2-new-image-mqlinux-19-02-beta/8832

FreeBSD

  • BPI-R2 FreeBSD support/ZRouter.org support
http://forum.banana-pi.org/t/bpi-r2-freebsd-support-zrouter-org-support/7290
  • BPI-R2 based DIY NAS/Router : https://bburky.com/NAS/
Forum pthread:http://forum.banana-pi.org/t/bpi-r2-based-diy-nas-router/6787
Retrieved from 'http://wiki.banana-pi.org/index.php?title=Banana_Pi_BPI-R2&oldid=9225'