You are on page 1of 155

Table

of Contents
About BPI-M3 1.1

BPI-M3 hardware 1.2


BPI-M3 hardware interface 1.2.1

BPI-M3 hardware spec 1.2.2

BPI-M3 GPIO Pin define 1.2.3


BPI-M3 micro SD card slot 1.2.4

BPI-M3 GigE LAN 1.2.5

BPI-M3 eMMC flash 1.2.6


BPI-M3 SATA interface 1.2.7

BPI-M3 WIFI interface 1.2.8


BPI-M3 wifi antenna slot 1.2.9
BPI-M3 bluetooth interface 1.2.10

BPI-M3 HDMI interfact 1.2.11


BPI-M3 CSI camera interface 1.2.12
BPI-M3 MIPI DSI interface 1.2.13

BPI-M3 3.5 mm TRRS jack Audio interface 1.2.14


BPI-M3 Audio microphone interface 1.2.15
BPI-M3 IR interface 1.2.16

BPI-M3 USB interface 1.2.17


BPI-M3 OTG interface 1.2.18
BPI-M3 DC Power interface 1.2.19

BPI-M3 3.7V lithium battery interface 1.2.20


BPI-M3 schematic diagram 1.2.21

BPI-M3 DXF and 3D design 1.2.22


BPI-M3 software 1.3

BPI-M3 Quick Start 1.3.1

Android software 1.3.2


How to burn android image to eMMC 1.3.2.1

How to control GPIO on Android 1.3.2.2

android 5.0 development document 1.3.2.3


Linux software 1.3.3

How to burn Linux image to eMMC 1.3.3.1

Linux for Kernel 3.4 image 1.3.3.2


GPU for kernel 3.4 1.3.3.2.1

How to rotate display screen 1.3.3.2.2

how to use fatload uEnv.txt & script.bin & kernel uImage 1.3.3.2.3
mainline Linux 1.3.3.3

uboot 1.3.3.3.1

mainline kernel 1.3.3.3.2

1
OpenWRT 1.3.4

BanaNAS - SimpleNas 1.3.5


Lakka TV 1.3.6
BPI-M3 WiringPi 1.3.7

BPI-tools 1.3.8

bpi-bootsel command 1.3.8.1


bpi-get command 1.3.8.2

bpi-copy command 1.3.8.3

bpi-update 1.3.8.4
BPI-M3 source code on github 1.4

How to setup docker env. to build github source code 1.4.1

BPI-M3 Cross Compile teach 1.4.2

BPI-M3 fix rootmydevice issue for Security Alert 1.4.3


How to compile BPI-M3-bsp kernel on BPI-M3 1.4.4
Reference documents 1.5

A83T datasheet and user manua 1.5.1


A83T Linux-sunxi wiki 1.5.2
BPI-M3 linux-sunxi wiki 1.5.3

Banana pi wikipedia wiki 1.5.4


Linux mainlining effort 1.5.5
BPI-M3 online video 1.5.6

Allwinner chip documents 1.5.7


BPI-M3 quality guarantee 1.6
BPI-M3 WIFI Lab test 1.6.1

BPI-M3 Validation test 1.6.2


BPI-M3 CE,FCC RoHS Certification 1.6.3

All Banana Pi SBC Comparison 1.7


BPI-M3 vs ODROID-XU4 1.7.1

All banana pi product 1.8

BPI 4.0 customized Server 1.9

2
About BPI-M3

Banana Pi BPI-M3

Banana PI BPI-M3 is the open source hardware platform, Banana PI BPI-M3 is an octa-core version of Banana Pi, Banana
PI it support WIFI+BT on board.

Banana Pi BPI-M3 series run Android, Debian linux, Ubuntu linux,Raspbian image and other OS.

Banana PI PBI-M3 hardware: 1.8GHz ARM Cortex-A7 octa-core processor, 2GB LPDDR3 SDRAM, 8G eMMC flash on
board

Banana PI BPI-M3with Gigabit Ethernet port, It can run Android 5.1 smoothly. The size of Banana PI BPI-M3 same as
Banana Pi M1, it can play games at 1080P, the GPIO header is pin-compatible with Raspberry Pi and can run the ROM
Image

The Banana Pi BPI-M3 is SinoVoip latest single board computer equipped with an Octa Core processor using the A83T
TSMC 28nm chip,based on eight ARM Cortex-A7 CPU core operating at high frequency up to 2.0GHZ.Board hardware
specs include 2G LPDDR3 memory operating frequency up to 800Mhz capable of smooth playback at 1901200HD
resoltion.Following the A31/A31s design A83T has a PowerVR SG544 GPU runs at frequencies up to around 700MHZ with
high image processing performance ensuring the ultimate gaming experience and fluency.

In Multimedia processing,A83T can play 1080P@60fbs including 1080P@20fps videos with H.265 codec support,More
than sufficient to meet the needs of end-users daily audio-visiual entertainment.

A83T built ISP image signal processor can support 8MP camera interface and also integrates a full-color display Lai Chip
technology that enhances image display quality,not only for the end-users,it brings a more vivid visual experience,while
optimizing degree in pastel colors and enhance the end-user,even minimizing eyesight damages especially to children.

Integrated full hardware security system is another major feature of the A83T supports DRM solutions which include high-
grade Widevine Level1. HDCP 2.* for Miracast support secure boot \secure storage capabilities to ensure the security
system and data.In the power saving area 28nm advanced technology uses high energy-effieient.Cortex-A7
architecture,Performance and power consumption is very balanced in the PoweVR 5 GPU series due to software
optimization.

3
About BPI-M3

forum: http://www.banana-pi.org

forum: http://www.bananapi.com

product: http://www.banana-pi.com

Video:

Banana Pi BPI-M3 UNBOXING + Quickstart

https://www.youtube.com/watch?time_continue=308&v=uvW72fhhz48

4
BPI-M3 hardware

Banana pi BPI-M3 octa-core development board

5
BPI-M3 hardware

BPI-M3 use allwinner A83T chip on board. but also can support H8, R58 chip on board.

but software need to do some changewhen software boot , allwinner source code will check Chip ID and PMU IP, just
need change this,all code will can run on three boards. so if you want use allwinner H8 or R58. it is easy to development
software.

6
BPI-M3 hardware

BPI-M3-H with H8 chip on board:

test android 5.1.1 on BPI-M3-H:

https://www.youtube.com/watch?v=AUCOKEDcUGA&feature=youtu.be

BPI-M3-R with R58 chip on board:

7
BPI-M3 hardware

test android 5.1.1 on BPI-M3-R:

https://www.youtube.com/watch?v=XEZqG5yqCcY&feature=youtu.be

8
BPI-M3 hardware interface

BPI-M3 hardware interface


BPI-M3 power with microUSB power (option)

BPI-M3 power with DC port (default)

9
BPI-M3 hardware interface

NOTE: SATA port use USB 2.0 to SATA interface.

10
BPI-M3 hardware spec

BPI-M3 hardware spec


Hardware Specification of Banana pi BPI-M3

Soc Allwinner A83T ARM Cortex-A7

CPU A83T ARM Cortex-A7 octa-core,512 KB L1 cache 1 MB L2 cache

GPU PowerVR SGX544MP1 Comply with OpenGL ES 2.0, OpenCL 1.x, DX 9.3

SDRAM 2GB LPDDR3 with 733MHz(shared with GPU)

Power 5V @ 2A via micro USB power

40 Pins Header, 28GPIO, some of which can be used for specific functions including UART, I2C, SPI,
GPIO
PWM, I2S.

On board
10/100/1000Mbps Ethernet (Realtek RTL8211E/D)
Network

Wifi
WiFi 802.11 b/g/n (AP 6212 module on board)
Module

Bluetooth BT4.0

On board MicroSD (TF) card,SATA2.0(up to 2TB - USB-to-SATA: GL830), eMMC 8G on board (option
Storage 16/32/64G)

Supports multi-channel HD display: HDMI 1.4 (Type A - full),MIPI Display Serial Interface (DSI) for raw
Display
LCD panels,1.4 HDMI resolutions from 640480 to 19201200

Multi-format FHD video decoding, including Mpeg1/2, Mpeg4, H.263, H.264, etc H.264 high profile
Video
1080p@60fps or 720p@120fps encoding,HEVC/H.265 decoder 1080P@30fps with software

Audio
HDMI, analog audio (via 3.5 mm TRRS jack), I2S audio (also potentially for audio input)
outputs

Camera Parallel 8-bit camera interface or MIPI Camera serial Interface(CSI)

Audio
On board microphone
input

USB 2 USB 2.0 host, 1 USB 2.0 OTG

Buttons Reset button, Power button

Leds Power status Led and RJ45 Led

IR on board IR receiver

Sizes 92mm60mm

Weight 45g

11
BPI-M3 GPIO Pin define

BPI-M3 GPIO Pin define


GPIO specification

Banana Pi 40-pin GPIO

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

12
BPI-M3 GPIO Pin define

13
BPI-M3 GPIO Pin define

GPIO Pin Name Default Function Function2GPIO Function3

CON1-P01 VCC-3V3

CON1-P02 DCIN

CON1-P03 TWI2-SDA PH5-EINT5

CON1-P04 DCIN

CON1-P05 TWI2-SCK PH4-EINT4

CON1-P06 GND

CON1-P07 S-PWM PL10-S-EINT10

CON1-P08 UART2-TX PB0-EINT0

CON1-P09 GND

CON1-P10 UART2-RX PB1-EINT1

CON1-P11 PC4 PC4

CON1-P12 UART2-CTS PB3-EINT3

CON1-P13 PC7 PC7

CON1-P14 GND

CON1-P15 PC17 PC17

CON1-P16 UART2-RTS PB2-EINT2

CON1-P17 VCC-3V3

CON1-P18 PL8-ENT8 PL8-S-ENT8

CON1-P19 SPI0_MOSI PC0

CON1-P20 GND

CON1-P21 SPI0_MISO PC1

CON1-P22 PL9-EINT9 PL9-S-EINT9

CON1-P23 SPI0_CLK PC2

CON1-P24 SPI0_CS PC3

CON1-P25 GND

CON1-P26 PH10-ENT10 PH10-ENT10

CON1-P27 TWI1-SDA PH3-EINT3

CON1-P28 TWI1-SCK PH2-EINT2

CON1-P29 PC18 PC18

CON1-P30 GND

CON1-P31 I2S1-BCLK PG10-EINT10 UART3-TX

CON1-P32 I2S1-DIN PG13-EINT13 UART3-CTS

CON1-P33 I2S1-LRCK PG11-EINT11 UART3-RX

CON1-P34 GND

CON1-P35 I2S1-DOUT PG12-EINT12 UART3-RTS

CON1-P36 PE5 PE5

14
BPI-M3 GPIO Pin define

CON1-P37 PE4 PE4

CON1-P38 OWA-DOUT PE18

CON1-P39 GND

CON1-P40 PE19 PE19

CSI Camera Connector specification:

CSI Camera Connector

The CSI Camera Connector is a 40-pin FPC connector which can connect external camera module with proper signal pin
mappings. The pin definitions of the CSI interface are shown as below. This is marked on the Banana Pi board as CSI.

CSI Pin Name Default Function Function2GPIO

CN7-P01 IPSOUT

CN7-P02 AFVCC

CN7-P03 IPSOUT

CN7-P04 IOVDD

CN7-P05 GND

CN7-P06 GND

CN7-P07 CSI2-D3N

CN7-P08 AVDD-CSI

CN7-P09 CSI2-D3P

CN7-P10 DVDD-CSI-R

CN7-P11 GND

CN7-P12 NC

CN7-P13 CSI2-D2N

CN7-P14 CSI-RST-R PE16

CN7-P15 CSI2-D2P

CN7-P16 CSI-STBY-R PE17

CN7-P17 GND

CN7-P18 CSI-PCLK PE0

CN7-P19 CSI2-CKN

CN7-P20 CSI-MCLK PE1

CN7-P21 CSI2-CKP

CN7-P22 CSI-HSYNC PE2

CN7-P23 GND

CN7-P24 CSI-VSYNC PE3

CN7-P25 CSI2-D1N

CN7-P26 CSI-D9 PE13

CN7-P27 CSI2-D1P

CN7-P28 CSI-D8 PE12

15
BPI-M3 GPIO Pin define

CN7-P29 GND

CN7-P30 CSI-D7 PE11

CN7-P31 CSI2-D0N

CN7-P32 CSI-D6 PE10

CN7-P33 CSI2-D0P

CN7-P34 CSI-D5 PE9

CN7-P35 GND

CN7-P36 CSI-D4 PE8

CN7-P37 CSI-SCK PE14

CN7-P38 CSI-D3 PE7

CN7-P39 CSI-SDA PE15

CN7-P40 CSI-D2 PE6

Display specification

MIPI DSI (Display Serial Interface)

The display 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.

DSI Pin Name Default Function Function2GPIO

CN6-P01 VCC-MIPI

CN6-P02 IPSOUT

CN6-P03 VCC-MIPI

CN6-P04 IPSOUT

CN6-P05 GND

CN6-P06 IPSOUT

CN6-P07 GND

CN6-P08 IPSOUT

CN6-P09 NC

CN6-P10 GND

CN6-P11 NC

CN6-P12 DSI-D0N

CN6-P13 NC

CN6-P14 DSI-D0P

CN6-P15 NC

CN6-P16 GND

CN6-P17 TWI0-SDA PH1-EINT1

CN6-P18 DSI-D1N

CN6-P19 TWI0-SCK PH0-EINT0

CN6-P20 DSI-D1P

16
BPI-M3 GPIO Pin define

CN6-P21 TP-INT PL7-S-EINT7

CN6-P22 GND

CN6-P23 TP-RST PL6-S-EINT6

CN6-P24 DSI-CKN

CN6-P25 GND

CN6-P26 DSI-CKP

CN6-P27 LCD-BL-EN PD29

CN6-P28 GND

CN6-P29 LCD-RST PD26

CN6-P30 DSI-D2N

CN6-P31 LCD-PWR-EN PD27

CN6-P32 DSI-D2P

CN6-P33 GND

CN6-P34 GND

CN6-P35 LCD-PWM PD28

CN6-P36 DSI-D3N

CN6-P37 GND

CN6-P38 DSI-D3P

CN6-P39 AP-RESET#

CN6-P40 GND

UART specification:

The header 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.

CON2 Pin Name Default Function GPIO

CON2 P03 UART0-TXD PB9

CON2 P02 UART0-RXD PB10

CON2 P01 GND

17
BPI-M3 micro SD card slot

BPI-M3 micro SD card slot


BPI-M3 have support a micro SD card slot. you can burn image to micro SD card ,and use it boot BPI-M3 same as
raspberry pi.

Note:

support 8G 16G 32G 64G

please choose class 10 TF card for banana pi.

18
BPI-M3 GigE LAN

BPI-M3 GigE RJ45 LAN


Banana PI BPI-M3 with one Gigabit ethernet port,use RTL8211E chip on board.

19
BPI-M3 eMMC flash

BPI-M3 eMMC flash


BPI-M3 have support 8G eMMC flash on board by defaults.

also can support 4-64G eMMC for option:

test 64G eMMC flash on BPI-M3

http://forum.banana-pi.org/t/replace-the-on-board-8g-emmc-with-64g-emmc-including-some-test-results/1432

So, you can burn your image to eMMC flash and boot from eMMC flash.

How to burn Android image to eMMC

please read this book

2.2.1 How to burn android image to eMMC

How to burn Linux image to eMMC

please read this book:

2.3.1 How to burn linux image to eMMC

Note:

the first boot is from microSD card. if you want to boot from eMMC flash ,please remove microSD card from BPI-M3
microSD card slots.

20
BPI-M3 SATA interface

BPI-M3 SATA interface


A83T SoC used on the BPI-M3 isn't SATA capable and therefore the SATA port is provided by an USB-to-SATA-bridge

BPI-M1,BPI-M1+,BPI-R1 use A20 chip on board ,A20 have support SATA interface.

21
BPI-M3 WIFI interface

BPI-M3 WIFI interface


BPI-M3 support AP6212 wifi module on board. it support 802.11/b/g/n wifi.

BPI-M3 Validation test- WIFI

we have do Validation test for onboard AP6212 wifi module,all test is pass.

http://forum.banana-pi.org/t/bpi-m3-validation-wifi-sdio-test/969

about AP6212 wifi&BT module spec:

http://wiki.friendlyarm.com/wiki/images/5/57/AP6212_V1.1_09022014.pdf

22
BPI-M3 wifi antenna slot

BPI-M3 wifi antenna slot


banana pi BPI-M3 have support ap6212 wifi&BT module onboard

BPI-M3 have wifi antenna on board

1: wifi onboard antenna. 2: when you want use extend


antenna for BPI-M3, you need remove this Rs

if you want use a extend antenna for bpi-M3, you can add by youself.

wifi extend antenna slot:

wifi extend antenna wifi slot spec:

23
BPI-M3 wifi antenna slot

note: please remove Rs for extend antenna. if you use extend antenna , need to antenna Adaptive test at first.

So you can choose 2DB 3DB or 5DB antenna on BPI-M3.

24
BPI-M3 bluetooth interface

BPI-M3 bluetooth interface


BPI-M3 have AP6212 WiFi&Bluetooth on baord. it support bluetooth function by defaults.

BPI-M3 Validation test- Bluetooth

we have do Validation test for onboard AP6212 module bluetooth fuction test ,all test is pass.

http://forum.banana-pi.org/t/bpi-m3-validation-uart-bluetooth-test/968

25
BPI-M3 HDMI interfact

BPI-M3 HDMI interfact


BPI-M3 has a standard HDMI 1.4 interface. so We can use HDMI-to-HDMI cable to connect BPI-M3 to the display monitor
that has HDMI interface.

But If the display monitor doesn't have HDMI interface,only VGA or DVI port. We should use HDMI-to-VGA or HDMI-to-DVI
cable to connect the BPI-M3 to the display monitor.

Note: if the HDMI-to-VGA/DVI cable is a bad quality cable,it will go wrong on the monitor display. please choose a good
quality cable for BPI-M3

BPI-M3 Validation - HDMI

Model number:BPI-M3
Android Version: Andriod 5.1
Test Equipments
1. Scope: Tektronix DSA72004 Digital Serial Analyzer Oscilloscope
2. Probe: Tektronix P7380SMA (8GHz/BW)*2&P7313SMA(13GHz/BW)
3. Test Fixture: HDMI Test Board
Test Software:HDMI Compliance test solution V4.0.5
Ref Documents
1. HDMI Specification: High-Definition Multimedia Interface Revision: 1.4
2. High-Definition Multimedia Interface Compliance Test Specification Revision: 1.3b

HDMI(1080p) Validation test pass:

26
BPI-M3 HDMI interfact

HDMI(720p) Validation test pass:

27
BPI-M3 CSI camera interface

BPI-M3 CSI camera interface

BPI-M3 CSI Camera Connector is a 40-pin FPC connector which can connect external camera module with proper signal
pin mappings. The pin definitions of the CSI interface are shown as below. This is marked on the Banana Pi board as CSI.

CSI pin define:

please see: BPI-M3 GPIO pine define

BPI-M3 CSI camera accessories

https://bananapi.gitbooks.io/bpi-accessories/content/bpim3camera.html

OV5640 driver:

This is my modified OV5640 driver for the CMOS camera that incorporates many image resolutions and/or image quality.
You can take advantage of a higher FPS, Image Quality (Preview or Capture) or Window size, choosing the one that best fit
your needs.

This is expected to work with reasonable quality for AW platform (32 bit and 64 bit).

Working window sizes and expected FPS (preview mode)

QSXGA: 2592x1936 (7.5 FPS)


QXGA: 2048x1536 (7.5 FPS)
1080P: 1920x1080 (7.5 FPS, 15 FPS)
UXGA: 1600x1200 (7.5 FPS, 15 FPS)
UXGA: 1280x960 (7.5 FPS, 15 FPS)
720P: 1280x720 (7.5 FPS, 15 FPS)
XGA: 1024x768 (7.5 FPS, 15 FPS)
SVGA: 800x600 (15 FPS, 30 FPS)
VGA: 640x480 (15 FPS, 30 FPS)
QVGA: 320x240 (30 FPS)
QCIF: 176x144 (30 FPS with some artifacts)

link:
https://github.com/avafinger/ov5640

from Alex of camera developer., thank Alex do this cool work.

How to use OV8865 on BPI-M3

Step 1: Install git

$ sudo apt-get install git

Step 2: Update bpi-tools

$ git clone https://github.com/BPI-SINOVOIP/bpi-tools.git5


$ cd bpi-tools
$ sudo ./bpi.tools -u -U

Step 3: Use bpi-update to update kerenl (bpi-m3-ov8865.conf)

28
BPI-M3 CSI camera interface

$ mkdir update_file
$ cd update_file
$ sudo bpi-update -c bpi-m3-ov8865.conf
$ sudo reboot

Step 4: Check again to see if the kernel's been updated. The version should be newer than Thu Nov 17 08:10:07 UTC
2.016

$ sudo uname -a
pi@bpi-iot-ros-ai:~$ uname -a
Linux bpi-iot-ros-ai 3.4.39-BPI-M3-Kernel #4 SMP PREEMPT Thu Nov 17 08:10:07 UTC 2016 armv7l armv7l armv7l GNU/Linux

Step 5: Run command (use the ov8865 record video)

$ sudo ffmpeg-3.1.4 -f v4l2 -channel 0 -video_size 1920x1080 -i /dev/video0 -pix_fmt nv12 -r 22 -c:v cedrus264 bpi-m3
_ov8865_test_1920x1080.mp4

OV8865 camera demo:

https://www.youtube.com/watch?v=Jp8jjKAlubM

How to use OV5640 on BPI-M3:

Step 1: Install git

$ sudo apt-get install git

Step 2: Update bpi-tools

$ git clone https://github.com/BPI-SINOVOIP/bpi-tools.git5

$ cd bpi-tools

$ sudo ./bpi.tools -u -U

Step 3: Use bpi-update to update kerenl

$ mkdir update\_file

$ cd update\_file

$ sudo bpi-update -c bpi-m3.conf

$ sudo reboot

Step 4: Check again to see if the kernel's been updated.

The version should be newer than **Thu Nov 17 08:10:07 UTC 2.016**

$ sudo uname -a

pi@bpi-iot-ros-ai:~$ uname -a

Linux bpi-iot-ros-ai 3.4.39-BPI-M3-Kernel \#4 SMP PREEMPT Thu Nov 17 08:10:07 UTC 2016 armv7l armv7l armv7l GNU/Linu
x

Step 5: Run command (use the ov5640 record video)

29
BPI-M3 CSI camera interface

$ sudo ffmpeg-3.1.4 -f v4l2 -channel 0 -video\_size 1920x1080 -i /dev/video0 -pix\_fmt nv12 -r 22 -c:v cedrus264 bpi-
m3\_ov5640\_test\_1920x1080.mp4

OV5640 camera demo:

https://www.youtube.com/watch?v=I3XV2rOXBfM

30
BPI-M3 MIPI DSI interface

BPI-M3 MIPI DSI interface


MIPI DSI (Display Serial Interface)

The display 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.

DSI pin define:

please see: BPI-M3 GPIO pine define

BPI-M3 with LCD touch panel video demo on youtube:

https://www.youtube.com/watch?v=tSqELzDR410

BPI-M3 LCD touch panel accessories

https://bananapi.gitbooks.io/bpi-accessories/content/bpi70lcdtouchpanel.html

note:the touch panel accessories support RGB interface and MIPI interface ,when you use BPI-M3, please choose
MIPI interface.

31
BPI-M3 3.5 mm TRRS jack Audio interface

BPI-M3 3.5 mm TRRS jack Audio interface


BPI-M3 support 3.5 mm TRRS jack Audio interface on board.

How to use MIC & Headset on BPI-M3

Step 1: Modity rc.local

rm -f /usr/share/icons/hicolor/scalable/apps/libreoffice-*.svg || true
rm -f /usr/share/applications/squeak.desktop || true

/usr/sbin/alsactl restore
# headset mixer
/usr/bin/amixer -c 0 cset numid=114 1
/usr/bin/amixer -c 0 cset numid=65 0
/usr/bin/amixer -c 0 cset numid=66 0
/usr/bin/amixer -c 0 cset numid=75 1
/usr/bin/amixer -c 0 cset numid=68 1
/usr/bin/amixer -c 0 cset numid=84 1
/usr/bin/amixer -c 0 cset numid=88 1
/usr/bin/amixer -c 0 cset numid=104 0
/usr/bin/amixer -c 0 cset numid=103 0
/usr/bin/amixer -c 0 cset numid=26 61
# amic mixer
/usr/bin/amixer -c 0 cset numid=108 0
/usr/bin/amixer -c 0 cset numid=107 0
/usr/bin/amixer -c 0 cset numid=99 1
/usr/bin/amixer -c 0 cset numid=95 1
/usr/bin/amixer -c 0 cset numid=28 0
/usr/bin/amixer -c 0 cset numid=27 0
/usr/bin/amixer -c 0 cset numid=41 1
/usr/bin/amixer -c 0 cset numid=34 1
/usr/bin/amixer -c 0 cset numid=15 4

/usr/sbin/alsactl store

exit 0

Step 2: Install Recorad application

sudo apt-get install audacity

Step 3: Try it

32
BPI-M3 Audio microphone interface

BPI-M3 Audio microphone interface


BPI-M3 support Audio microphone interface on board.

33
BPI-M3 IR interface

BPI-M3 IR interface
BPI-M3 support IR interface on board. you can use it as remote control.

How to enable IR in BPI-M3 (Linux OS)

Step 1: Insmod IR lib

$ sudo insmod /lib/modules/3.4.39-BPI-M3-Kernel/kernel/drivers/input/keyboard/sunxi-ir-rx.ko

Step 2: Turn on (IR debug mode)

$ cd /sys/module/sunxi_ir_rx/parameters
$ sudo su
$ echo 0xff > debug_mask

Step 3: Input IR keycode and check log


$ dmesg

[ 2797.200733] dcnt = 70
[ 2797.200753] 351 active_delay = 128
[ 2797.200772] 366 len = 153
[ 2797.200795] IR code = 0x609ff708
[ 2797.200821] IR RAW CODE : 159
[ 2797.200903] IR CODE : 159
[ 2797.201020] IR KEY VALE 159
[ 2797.201047] ir_rx_irq_service: Rx Packet End, code=0x609ff708, ir_code=0x609

Ex: Open Browser (IR keycode=150)

demo to open Browser:

34
BPI-M3 IR interface

Reference Key_Map:

https://www.redhat.com/archives/libvir-list/2011-May/msg01609.html

How to enable IR in BPI-M3 (Android)

how to do check IR address on Android.

echo 0xff > /sys/module/sunxi_ir_rx/parameters/debug_mask

<7>[ 625.998452] IR code = 0xf20d4040


<7>[ 625.998473] IR RAW CODE : 13
<7>[ 625.998542] IR CODE : 13
<7>[ 625.998629] IR KEY VALE 13
<7>[ 625.998653] ir_rx_irq_service: Rx Packet End, code=0xf20d4040, ir_code=0x
<6>[ 625.998717] cpus_wakeup_config_handler: address: 0x4040, powerkey: 0x0a
<6>[ 626.002717] cpus_wakeup_config_handler: ok

BPI IR remoter control accessoires:

https://bananapi.gitbooks.io/bpi-accessories/content/irremotecontrol.html

35
BPI-M3 USB interface

BPI-M3 USB interface


BPI-M3 have two USB 2.0 interface on board.so you can connect Keyboard,mouse, USB camera and ... on BPI-M3

BPI-M3 Android demo with USB camera UVC

USB camera : Logitech C920r HD Pro

http://www.logitech.com/en-hk/product/hd-pro-webcam-c9203

Step 1 :

Burn the Android Images onto the SD-Card

http://www.banana-pi.org/download.html#e-panel1

Step 2 :

Install thrid-party apk (USB Camera Trial 2.1.7 APK)

http://apk-dl.com/usb-camera-trial2

Step 3 :

Open USB Camera Trial 2.1.7 APK

logitech C920r HD Pro:

Regular USB camera (supporting UVC driver):

36
BPI-M3 USB interface

logitech C920r HD Pro Video Demo on youtube:

https://www.youtube.com/watch?v=gbK_Qi5B7_Y

BPI-M3 Validation test- USB

we have do Validation test for BPI-M3 USB port,all test is pass:

http://forum.banana-pi.org/t/bpi-m3-validation-usb2-0/974

37
BPI-M3 OTG interface

BPI-M3 OTG interface


banana pi BPI-M3 have 1 OTG port on board.

38
BPI-M3 DC Power interface

BPI-M3 DC Power interface


BPI-M3 power with microUSB power (option)

BPI-M3 power with DC port (default)

Dc power size:

Note: please must use 5V/2A power adapter for BPI-M3.

for banana pi BPI-M3 power , all power is spport from AXP PMU.

we also support get power direct from DC power:

How to change:

1,FB7 add 0 ohm resistor.

39
BPI-M3 DC Power interface

2FB4 magnetic bead remove. so power is direct from DC power

Note : if you have do this change , if you use 3.7 battery to power , USB port will not work.

40
BPI-M3 DC Power interface

41
BPI-M3 3.7V lithium battery interface

BPI-M3 3.7 V lithium battery interface


1,Battery interface of BPI series:

2,The red wire of battery connects to the anode on the board, the black wire to the cathode on the board(Note:
DCIN pins in the GPIO need 5.0V DC Input)

42
BPI-M3 3.7V lithium battery interface

3,when plugging with lithium battery,the power LED is not on until you press the power-on button for several seconds, and
then it boots up.

43
BPI-M3 3.7V lithium battery interface

USB,OTG,DSI,CSI work fine when the board is powered by lithium battery.

4, The battery will be charged when DC power is connected.

44
BPI-M3 3.7V lithium battery interface

45
BPI-M3 schematic diagram

BPI-M3 schematic diagram


You can refer to the contents of our forum from this link:

Google driver

File name :BPI-M3 V1_2 schematic diagram 20151014(RELEASE).pdf

46
BPI-M3 DXF and 3D design

BPI-M3 DXF and 3D design


banana pi BPI-M3 have public DXF file and 3D design file ,so user to DIY case by theyself.

BPI-M3 DXF file download link:

Google driver

BPI-M3 3D design file download link:

Google driver

47
BPI-M3 software

BPI-M3 software
banana pi BPI-M3 support Android 5.1.1 and linux

we will update more image on our website .

if any user have build youself image ,please share it.

48
BPI-M3 Quick Start

BPI-M3 Quick Start


Step 1: Get what you need

First time to enjoy your Banana Pi, you need at least the accessories in the table below.

No. Item Minimum recommended specification & notes

SD card is optional. If need to boot form SD card, Minimum size 8GB, class 10 (the class
1 MicroSD card indicates how fast the card is). We recommend using branded SD cards as they are
more reliable.

avHDMI(Full
HDMI to HDMI lead (for HD TVs and monitors with HDMI input).OR HDMI to DVI lead
2 sized) to HDMI
(for monitors with DVI input).
/ DVI lead

Any standard USB keyboard and mouse should work. keyboards or mice that take a lot
Keyboard and
3 of power from the USB ports, however, may need a powered USB hub. This may include
mouse
some wireless devices.

Networking is optional, although it makes updating and getting new software for your
4 Ethernet cable
Banana Pi much easier.

Micro USB A good quality, USB Power supply that can provide at least 5V/2A is essential.OTG also
5
power adapter can power the board, but it is not recommended.

Audio lead
6 You can choose a 3.5mm jack audio led to connect to audio port to get stereo audio.
(Optional)

Mobile Hard
7 You can choose to connect a mobile hard disk to USB port to store more files.
disk (Optional)

Base you need below:

49
BPI-M3 Quick Start

Step 2: Download the relevant Image file:

Please visit our webmaster: www.banana-pi.org to download image, banana pi all image can be download form this web.

Step3: Prepare your SD card for the Banana Pi

In order to enjoy your Banana Pi BPI-M3, 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 size of SD should be larger than the OS image size, generally 8GB or
greater.

2.Format the SD card.

Format your SD under Windows os :

Download the a SD card format tool such as SD Formatter from


https://www.sdcard.org/downloads/formatter_4/eula_windows/

*Unzip the download file and run the setup.exe to install the tool on your machine.

*In the "Options" menu, set "FORMAT TYPE" option to QUICK, "FORMAT SIZE ADJUSTMENT" option to "ON".

50
BPI-M3 Quick Start

*Check that the SD card you inserted matches the one selected by the Tool.

*Click the Format button.

Format your SD under Linux os :

*Run fdisk l command to check the SD card node.

*Run sudo fdisk /dev/sdx command to delete all partition of SD card.

*Run mkfs t vfat /dev/sdx command to format the entire SD card as FAT. (x should be replaced according to your SD card
node)

3,Download the OS image from Download district(http://www.banana-pi.org)

4.Unzip the download file to get the OS image.

Windows: Right click on the file and choose Extract all.

Linux: Run unzip [downloaded filename] command.

5.Write the image file to the SD card.

Android image

5.1 You need to use Phoenix Card to make the SD card. Download the Phoenix Card from https://drive.google.com/open?
id=0BzoTh3Vdt47ffi1ld0RuWXhUVzdYdjFjaHEtMlNQWVFTRmIxcC1OQnczSTV6OGRZWGplNU0

51
BPI-M3 Quick Start

5.2 Run PhoenixCard.exe, Press Disk Check and select disk of SD Card.

5.3 Press Image File and Select system.img.

52
BPI-M3 Quick Start

5.4 Press Burn to start upgrading, Upgraded complete, Press Exit.

Linux image:

5.6 burun Linux image under Windows os:

*Download a tool that can wirte image to SD card, such as Win32 Diskimager from:
http://sourceforge.net/projects/win32diskimager/files/Archive/

*Open the unzipped image file

*Click Write button. Wait patiently to successfully complete writing.

5.7 burun Linux image under Linux os:

*Run fdisk l command to check the SD card node.

*Run dd if=[imagename] of=/dev/sdx command to write image file to SD card. Wait patiently to successfully complete
writing.

Step4: Set up your Banana Pi M3

According to the set up diagram below, you can easily set up your Banana Pi.

53
BPI-M3 Quick Start

1. Insert the written-image SD card that to the SD card spot on the left side edge of the underside of the board.
2. 2.On the bottom "edge" in the middle of the board is the HDMI Type A (Full sized) port. Just connect any HDMI cable
from the board to your TV or HDMI Monitor.
3. Plug a USB keyboard and mouse into the USB slots located on the right edge.
4. Just under the USB ports on the right edge is the Ethernet connector for anyone who wants to plug the Banana Pi into
a wired network.
5. 5.Finally, at the very left of the bottom edge is the USB power connector. Plug in a regulated power supply that is rated
at 5V 5% / 2000mA (or 2A). Any number bigger than 700 mA will also work. Avoid using the smaller chargers used for
small GSM phones, as these are often unregulated, even if they claim "5V 1A", they may do "5V" and may do "1A", but
not at the same time!

If all goes well, the Banana Pi will boot in a few minutes. The screen will display the OS GUI.

Step5: Shut down your Banana Pi

You can use the GUI to shut down the Banana Pi safely.

Also you can run the command in the terminal:

sudo halt or sudo shutdown h

This will shut down the PI safely, (just use the power key to turn off might damage the SD-cards file system). After that you
can press the power key for 5 seconds to turn it off.

If all is well ,so you can use banana pi M3 now.

video on youtube : how to burn kali linux to your SD card ,all linux image is same:

https://www.youtube.com/watch?v=MRNNC6D4F48

54
BPI-M3 Quick Start

55
Android software

Android 5.1.1 image

New image: Android 5.1 (Vsersion:V5) 2017-05-11


Git commit : e1889b870facd7fdcfc4c58688577881d6eb11fe

Release Note:

1. Supports New WIFI-AP6212 Fw

******

**_HDMI-Version_**

Google Drive:

https://drive.google.com/open?id=0B\_YnvHgh2rwjcXkxczlmOWxWV00

Baidu Cloud:

https://pan.baidu.com/s/1pKF3Ggj

MD5: d7b7abf3443a49fb0f178ccf2f6e82d0

_**LCD-Version**_

Google Drive:

https://drive.google.com/open?id=0B\_YnvHgh2rwjSkM5NHFWYVdlakk

Baidu Cloud:

https://pan.baidu.com/s/1mi2YOeG

MD5: b27dd45ac5fd1fd3b02db8ffd92c2871

********

New image: Android 5.1 (Vsersion:V4) 2017-01-10

56
Android software

Release Note:

1. WIFI can't boot issue - Fixed


2. Power consumption issue - Fixed
3. Google service - Supported
4. Android 5.0 - Optimized

HDMI-Version

Google Drive:
https://drive.google.com/open?id=0B_YnvHgh2rwjMVFnQzRhTmM5Q0U

Baidu Cloud:
https://pan.baidu.com/s/1sl6fXBv

MD5: 85915509ad849fc7fa28bcaf0528e877

LCD-Version

Google Drive:
https://drive.google.com/open?id=0B_YnvHgh2rwjazUxenhSVnllaDQ

Baidu Cloud:
https://pan.baidu.com/s/1jIK7wAq

MD5: feada8d6ee0ae29a30d1aa1b1be40472

New image: Android 5.1 (Vsersion:V3)

57
Android software

Release Note:

1. LED Trigger default disable


2. WIFI-Hotspot feature supported
3. Muti-Resolution feature supported (HDMI version only)
4. Static IP feature supported
5. Android root feature supported
6. support double-screen display, MIPI Display and HDMI display.
7. support 720P and 1080P
8. wifi working fine.
9. 1000M RJ45 working fine
10. emmc working fine.
11. USB and OTG working fine.

HDMI-Version

Google Drive:

https://drive.google.com/file/d/0B-L3cPQfpxGZeGRDTER1U0tTdkU/view23

Baidu Cloud:

http://pan.baidu.com/s/1c2juiZY3

MD5: 918b1d3707ce58cd203d0b392fa4cc8b

LCD-Version

Google Drive:

https://drive.google.com/file/d/0B-L3cPQfpxGZb2NnYTJfUjdNWnc/view10

Baidu Cloud:

http://pan.baidu.com/s/1c1TfhIw1

MD5: d5d8e33b05d1db502ad3d527e512ab27

discuss on forum:

58
Android software

http://forum.banana-pi.org/t/bpi-m3-new-image-android-5-1-vsersion-v3/1850

59
How to burn android image to eMMC

How to burn android image to eMMC under windows


1,download android 5.1.1 image from http://www.banan-pi.org download page.

2,if your PC is windows OS, please download PhoenixSuit.zip tooling to burn if your PC is Linux OS, please download
Linux 32bit or Linux 64bit tooling

example: burn android image to EMMC on windows.

1,install PhonenixSuit.

2,running PhonenixSuit. chick "one key to burn" choose your android image file .

3,press on BPI-M3 uboot key. and plug in micro USB data line.

60
How to burn android image to eMMC

4press on Power key to boot BPI-M3.

5press Yes to burn image:

6,if all is ok , try to boot from eMMC , if not success ,just need try again.

Video demo how to burn android image to eMMC:

This is a guide on burning the Android image onto the eMMC on the Banana Pi BPI-M3. The eMMC is 8GB and decently
fast.

You will need to burn android onto MicroSD with Phoenix Card first and boot it. Then you need to enable USB debugging,
install Google Composite ADB drivers, and write the image to eMMC with Phoenix Suit. Then you can take out the MicroSD
card and boot M3 from eMMC.

https://www.youtube.com/watch?v=FZp6wGtgKd8&feature=youtu.be

61
How to burn android image to eMMC

How to burn android image to eMMC under Linux


1,download android image from http://www.banan-pi.org download page.

2,download Linux 32bit or Linux 64bit tooling

3,Ubuntu OS run LiveSuit_For_Linux32(or 64) Directory LiveSuit.run

sudo ./LiveSuit.run

if prompt message missing dkms module,please install it

sudo apt-get install dkms

sudo ./LiveSuit.run

4install drivers:

sudo dpkg -i awdev-dkms_0.4_all.deb

5,when finished ,reboot system

6,Ubuntu system add udev rules:

sudo vim /etc/udev/rules.d/10-local.rules

7 input udev rules:

note: please replace GROUP="text" text with your user group.

SUBSYSTEM!="usb_device", ACTION!="add", GOTO="objdev_rules_end"


#USBasp
ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="efe8", GROUP="text",
MODE="0666"
LABEL="objdev_rules_end"

save & reboot or just reboot udev server, so you can run LiveSuit.sh as a general user,reboot udev commond :

sudo service udev restart

8 run burn tooling(home/usernamer/Bin )

./LiveSuit.sh

9 Click "Yes" button to burn eMMC

note: when burn eMMC, it will clean all document on eMMC.

62
How to burn android image to eMMC

10, when all is OK ,just rebbot BPI-M3, and boot android image from eMMC flash.

63
How to control GPIO on Android

BPI-M3 How to control GPIO on Android


How to use GPIO (control the LED on the board ) on M3 Android Images

Note : please use BPI-M3 android V3 image.

OS: Android V3.0 HDMI

reg-81x-cs-gpio0ldo/max_microvolts : Blue Led


reg-81x-cs-gpio1ldo/max_microvolts : Green Led

Step 1:Burn M3-Android images to Sdcard/Emmc

Sep 2: Please input adb commnad

adb remount
adb shell
chmod /system/bin/su

Step 3: copy this sample to your app

Sample Code

64
How to control GPIO on Android

package com.bpim3.leddemo;

import android.app.Activity;
import android.os.Environment;
import android.os.Handler;
import android.os.HandlerThread;
import android.util.Log;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class TestLED extends Thread {

private String TAG = "Test-LED";

TestLED() {
}

@Override
public void run() {
// TODO Auto-generated method stub
try {
Runtime command = Runtime.getRuntime();
Process proc;
DataOutputStream opt;
proc = command.exec("su");
opt = new DataOutputStream(proc.getOutputStream());
Log.d(TAG, "LED Testing start.");
while (true) {
LEDRun(opt);
}

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

private void LEDRun(DataOutputStream opt) {


try {
opt.writeBytes("echo 3000 > /sys/bus/platform/devices/reg-81x-cs-gpio0ldo/max_microvolts\n");
opt.writeBytes("echo 3000 > /sys/bus/platform/devices/reg-81x-cs-gpio1ldo/max_microvolts\n");
// Log.d(TAG, "LED ON.");
Thread.sleep(500);

opt.writeBytes("echo 0 > /sys/bus/platform/devices/reg-81x-cs-gpio0ldo/max_microvolts\n");


opt.writeBytes("echo 0 > /sys/bus/platform/devices/reg-81x-cs-gpio1ldo/max_microvolts\n");
// Log.d(TAG, "LED OFF.");
Thread.sleep(500);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

video demo on youtube:

https://www.youtube.com/watch?v=3oxzamthXHw

65
How to control GPIO on Android

66
android 5.0 development document

android 5.0 development document

https://drive.google.com/file/d/0B4PAo2nW2KfnekpvMnlNZ2p6NWs/view?usp=sharing

this is for chinese documents

67
Linux software

Linux software

68
How to burn Linux image to eMMC

How to burn Linux image to eMMC


OS: BPI-M3 Ubuntu15.10 (Kernel3.4)

Version: 1.0 HDMI

Step 1: Start up the computer with the SD card which has been burnt with the Linux images.

Step 2: Put the images which you'd like to burn to the EMMC Storage to the USB drive.

Step 3: Run "fdisk -l" command line on your BPI-M3 and you can see the EMMC path as " /dev/mmcblk1"

sudo fdisk -l

Step 4:Switch to the path of images, and run the command.

sudo dd if=ubuntu-mate-15.10-desktop-armhf-raspberry-pi-2-bpi-m3-sd-emmc-20151203.img of=/dev/mmcblk1 bs=10MB

69
How to burn Linux image to eMMC

Step 5:When finish burning, remove the SD card, and restart the BPI-M3

Step 6:Check if the system starts normally on the EMMC flash boot.

video demo on youtube:

https://www.youtube.com/watch?v=o9YmGhqUYg4&feature=youtu.be

70
Linux for Kernel 3.4 image

Linux for Kernel 3.4

BPI-M3 new image:berryboot-preview-bpi-m3.img 2016-


08-24
2016-08-24-berryboot-preview-bpi-m3.img.zip

1. based on berryboot-20160807-pi2-pi3.zip from http://www.berryterminal.com/doku.php/berryboot


2. BPI-M3 kernel 3.4
3. username & password: pi/bananapi (NOC-PS Lite), root (Ubuntu Core 15.04)
4. support HDMI 1080P & 720P(default)
5. support eMMC
6. support GMAC
7. support WIFI
8. support SATA
9. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2) under Ubuntu Core 15.04
10. support uEnv.txt to fatload script.bin & uImage
11. support uEnv.txt to set video 1080P & 720P & 480P ...
12. support power max. up to 2.5A ~ for DC-IN.
13. fix rootmydevice issue
14. preload NOC-PSLite(limited_to_25_servers).img (https://www.noc-ps.com/)
15. preload Ubuntu_Core_15.04.img192
16. preload BerryWebserver.img240 for Minimal webserver distribution (Lighty + PHP + SQLite)
17. thanks to http://www.berryterminal.com/

google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjMENTWEgwckFRaW8/view?usp=sharing

MD5: d242f1914913ad2b73139780ef601c4d

discuss on forum:

71
Linux for Kernel 3.4 image

http://forum.banana-pi.org/t/bpi-m3-new-image-berryboot-preview-bpi-m3-img-2016-08-24/2167

PBI-M3 new image:ubuntu-mate-16.04-desktop-armhf-


raspberry-pi-bpi-m3-sd-emmc.img 2016-07-21
2016-07-21-ubuntu-mate-16.04-desktop-armhf-raspberry-pi-bpi-m3-sd-emmc.img.zip

1. based on ubuntu 16.04 mate from https://ubuntu-mate.org/download/


2. BPI-M3 kernel 3.4
3. username & password: pi/bananapi , root/bananapi
4. support HDMI 1080P & 720P(default)
5. support eMMC
6. support GMAC
7. support WIFI
8. support SATA
9. support bpi-bootsel cmd can switch to (bpi-m64 & bpi-m3 & bpi-m2 & bpi-m2p & bpi-m1-m1p-r1)
10. support uEnv.txt to fatload script.bin & uImage
11. support uEnv.txt to set video 1080P & 720P & 480P ...
12. support power max. up to 2.5A ~ for DC-IN.
13. fix rootmydevice issue
14. support video play 1080p with vdpau (mpv)
15. support GPU PowerVR SGX544MP (glmark2-es2)
16. support BT (default on, command only, can hcitool scan)
17. support nodejs
18. support node-red
19. thanks to ubuntu-mate.org

google drive:

https://drive.google.com/file/d/0B_YnvHgh2rwjTElER3djb0FhYzQ/view?usp=sharing

MD5: ef066f2bd78eeadbf7b2675197d3124d

72
Linux for Kernel 3.4 image

note : this image is from ubuntu 16.04 for raspberry pi version ,we let it support banana pi. support mali GPU and powerVR
gpu function.

discuss on forum:

http://forum.banana-pi.org/t/pbi-m3-new-image-ubuntu-mate-16-04-desktop-armhf-raspberry-pi-bpi-m3-sd-emmc-img-2016-
07-21/2049

BPI-M3 new image: edu-ubuntu-mate-1604-preview-bpi-


m3.img
2016-07-19-edu-ubuntu-mate-1604-preview-bpi-m3.img.zip

1. based on ubuntu 16.04 mate from bpi-m3-mate (http://opensource.ntpc.edu.tw/)


2. BPI-M3 kernel 3.4
3. username & password: pi/bananapi , root/bananapi
4. support HDMI 1080P & 720P(default)
5. support eMMC
6. support GMAC
7. support WIFI
8. support SATA
9. support bpi-bootsel cmd can switch to (bpi-m64 & bpi-m3 & bpi-m2 & bpi-m2p & bpi-m1-m1p-r1)
10. support uEnv.txt to fatload script.bin & uImage
11. support uEnv.txt to set video 1080P & 720P & 480P ...
12. support power max. up to 2.5A ~ for DC-IN.
13. fix rootmydevice issue
14. support video play 1080p with vdpau (mpv, vlc, smplayer)
15. support GPU PowerVR SGX544MP (glmark2-es2)
16. support BT (default on, command only, can hcitool scan)
17. support nodejs
18. support node-red
19. included many apps for edu

73
Linux for Kernel 3.4 image

20. support scratch 2 online with scratchx


21. special thanks to the team of http://opensource.ntpc.edu.tw/

info: need >= 16GB SD and not use for eMMC(8GB)

google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjOXFoZF9EenI3M1U/view?usp=sharing

MD5: fb2c9c8413edaa004ab414cb72544a7e

discuss on forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-edu-ubuntu-mate-1604-preview-bpi-m3-img/2040

BPI-M3 new image:raspbian-jessie-bpi-m3.img 2016-07-


13
2016-07-13-raspbian-jessie-bpi-m3.img.zip

1. based on RASPBIAN JESSIE 2016-05-27(support rpi3 rpi2 rpi1)


2. BPI-M3 kernel 3.4
3. username & password: pi/bananapi , root/bananapi
4. support HDMI 1080P & 720P(default)
5. support eMMC
6. support GMAC
7. support WIFI
8. support SATA
9. support bpi-bootsel cmd can switch to (bpi-m64 & bpi-m3 & bpi-m2 & bpi-m2p & bpi-m1-m1p-r1)
10. support uEnv.txt to fatload script.bin & uImage
11. support uEnv.txt to set video 1080P & 720P & 480P ...
12. support power max. up to 2.5A ~ for DC-IN.
13. fix rootmydevice issue
14. support BT (hcitool scan)
15. thanks for raspberry.org's work(https://www.raspberrypi.org/downloads/raspbian)

74
Linux for Kernel 3.4 image

16. support node-red

google drive:

https://drive.google.com/file/d/0B_YnvHgh2rwjQ0lkakxQeEJFQVU/view?usp=sharing

MD5: a52e9205e400d559728b1cfa3f6b58ba

discuss on forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-raspbian-jessie-bpi-m3-img-2016-07-13/2009

BPI-M3 new image: Raspbian-lite-bpi-m3.img 2016-07-12


2016-07-12-raspbian-lite-bpi-m3.img.zip

1. based on RASPBIAN JESSIE LITE 2016-05-27(also support rpi3 rpi2 rpi1)


2. BPI-M3 kernel 3.4
3. username & password: pi/bananapi , root/bananapi
4. support HDMI 1080P & 720P(default)
5. support eMMC
6. support GMAC
7. support WIFI
8. support SATA
9. support bpi-bootsel cmd can switch to (bpi-m64 & bpi-m3 & bpi-m2 & bpi-m2p & bpi-m1-m1p-r1)
10. support uEnv.txt to fatload script.bin & uImage
11. support uEnv.txt to set video 1080P & 720P & 480P ...
12. support power max. up to 2.5A ~ for DC-IN.
13. fix rootmydevice issue
14. support BT (hcitool scan)

75
Linux for Kernel 3.4 image

15. thanks for raspberry.org's work

google drive:

https://drive.google.com/file/d/0B_YnvHgh2rwjMlhfUTZZY0RubFU/view?usp=sharing

MD5: bce09c9a4610cba893943e5653449073

discuss on forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-raspbian-lite-bpi-m3-img-2016-07-12/2001

BPI-M3 new image :Ubuntu-16.04-xenial-minimal-


preview-bpi-m3.img 2016-07-10
2016-07-10-ubuntu-16.04-xenial-minimal-preview-bpi-m3.img.zip

1. based on ubuntu 16.04 xenial ubuntu-minimal.


2. BPI-M3 kernel 3.4
3. username & password: pi/bananapi , root/bananapi
4. support HDMI 1080P & 720P(default)
5. support eMMC
6. support GMAC
7. support WIFI (module only, no wireless tools)
8. support SATA
9. support bpi-bootsel cmd can switch to (bpi-m64 & bpi-m3 & bpi-m2 & bpi-m2p & bpi-m1-m1p-r1)
10. support uEnv.txt to fatload script.bin & uImage
11. support uEnv.txt to set video 1080P & 720P & 480P ...
12. support power max. up to 2.5A ~ for DC-IN.
13. fix rootmydevice issue

google drive:

https://drive.google.com/file/d/0B_YnvHgh2rwjS0JNZEl6dmhCZUU/view?usp=sharing

76
Linux for Kernel 3.4 image

MD5: a9a84e90435f0e3deddb6640246168fa

busybox-1.24.2-preview-bpi-m3.img 2016-6-14
2016-06-14-busybox-1.24.2-preview-bpi-m3.img.zip

1. BPI-M3 kernel 3.4


2. username & password: pi/bananapi , root/bananapi
3. support HDMI 1080P & 720P(default)
4. support eMMC
5. support GMAC
6. support WIFI ( module only, no wireless tools)
7. support SATA
8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p & bpi-m1 & bpi-m1p & bpi-r1)
9. support uEnv.txt to fatload script.bin & uImage
10. support uEnv.txt to set video 1080P & 720P & 480P ...
11. support power max. up to 2.5A ~ for DC-IN.
12. fix rootmydevice issue
13. support busybox bash
14. support telnetd

google drive:

https://drive.google.com/file/d/0B6FbwMfcqfFZc0hSbzJUVURsZTg/view?usp=sharing

MD5: 5af633b0f731da08abe236e2ec922f69

discuss on forum:

77
Linux for Kernel 3.4 image

http://forum.banana-pi.org/t/bpi-m3-new-image-busybox-1-24-2-preview-bpi-m3-img-2016-6-14/1878

Ubuntu-mate-16.04-Xenial-ros-kinetic-preview-bpi-m3-sd-
emmc 2016-6-11
2016-06-11-ubuntu-mate-16.04-Xenial-ros-kinetic-preview-bpi-m3-sd-emmc.img.zip

1. BPI-M3 kernel 3.4


2. username & password: pi/bananapi , root/bananapi
3. support HDMI 1080P & 720P(default)
4. support eMMC
5. support GMAC
6. support WIFI
7. support SATA
8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p & bpi-m1 & bpi-m1p & bpi-r1)
9. support uEnv.txt to fatload script.bin & uImage
10. support uEnv.txt to set video 1080P & 720P & 480P ...
11. support power max. up to 2.5A ~ for DC-IN.
12. fix rootmydevice issue
13. based on armbian rootfs, thanks for armbian
14. support ros (kinetic version)

Google driver:

uploading

baidu cloud: http://yun.baidu.com/share/link?shareid=3707254958&uk=1011158021

MD5: b04a903a9c6ddfbc5b6c94505d629004

discuss on forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-ubuntu-mate-16-04-xenial-ros-kinetic-preview-bpi-m3-sd-emmc-2016-6-
11/1871

78
Linux for Kernel 3.4 image

2016-05-16-debian-8-jessie-mate-gpu-mpv-1080p-bpi-m3-
sd-emmc.img.zip
2016-05-16-debian-8-jessie-mate-bpi-m3-sd-emmc.img.zip

1. BPI-M3 kernel 3.4


2. username & password: pi/bananapi , root/bananapi
3. support HDMI 1080P & 720P(default)
4. support eMMC
5. support GMAC
6. support WIFI
7. support SATA
8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p)
9. support uEnv.txt to fatload script.bin & uImage
10. support uEnv.txt to set video 1080P & 720P & 480P ...
11. support power max. up to 2.5A ~ for DC-IN.
12. fix rootmydevice issue
13. based on armbian rootfs, thanks for armbian
14. support GPU PowerVR SGX544MP (glmark2-es2)
15. support video hw decode 1080p with mpv (vdpau)

Google Drive:

https://drive.google.com/file/d/0B_YnvHgh2rwjX0djZERFcmlYWGM/view?usp=sharing

MD5: f9b4b038ff02fabfd35b1fe70aa58090

discuss on forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-debian-8-jessie-mate-gpu-mpv-1080p-bpi-m3-sd-emmc-img-2016-5-
16/1708

79
Linux for Kernel 3.4 image

BPI-M3 new image:Debian-8-jessie-lite-bpi-m3-sd-


emmc.img 2016-5-15
2016-05-15-debian-8-jessie-lite-bpi-m3-sd-emmc.img.zip

1. BPI-M3 kernel 3.4


2. username & password: root/bananapi
3. support HDMI 1080P & 720P(default)
4. support eMMC
5. support GMAC
6. support WIFI
7. support SATA
8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p)
9. support uEnv.txt to fatload script.bin & uImage
10. support uEnv.txt to set video 1080P & 720P & 480P ...
11. support power max. up to 2.5A ~ for DC-IN.
12. fix rootmydevice issue
13. based on armbian rootfs, thanks for armbian

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjc2pkTDl4QzFxMFE/view?usp=sharing

MD5: 08f1c6d7f7a30d2ed5c4b623b63726d5

discuss on forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-debian-8-jessie-lite-bpi-m3-sd-emmc-img-2016-5-15/1698

BPI-M3 new image:raspbian-jessie-mate-gpu-bpi-m3-sd-


emmc.img V1.0 2016-5-13

80
Linux for Kernel 3.4 image

2016-05-13-raspbian-jessie-mate-gpu-bpi-m3-sd-emmc.img.zip

1. BPI-M3 kernel 3.4


2. username & password: pi/bananapi , root/bananapi
3. support HDMI 1080P & 720P(default)
4. support eMMC
5. support GMAC
6. support WIFI
7. support SATA
8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p)
9. support uEnv.txt to fatload script.bin & uImage
10. support uEnv.txt to set video 1080P & 720P & 480P ...
11. support power max. up to 2.5A ~ for DC-IN.
12. support GPU PowerVR SGX544MP (glmark2-es2)
13. fix rootmydevice issue

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjNHF3N3hQZXhDWUU/view?usp=sharing

MD5: b8eafe5c4c03b1de2230116b18f35278

discuss on forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-raspbian-jessie-mate-gpu-bpi-m3-sd-emmc-img-v1-0-2016-5-13/1666/1

BPI-M3 new imagedietpi-preview-bpi-m3-sd-


emmc.image 2016-5-14
2016-05-14-dietpi-preview-bpi-m3-sd-emmc.img.zip

81
Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4


2. username & password: root/dietpi
3. support HDMI 1080P & 720P(default)
4. support eMMC
5. support GMAC
6. support WIFI (bcmdhd default not load)
7. support SATA
8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p)
9. support uEnv.txt to fatload script.bin & uImage
10. support uEnv.txt to set video 1080P & 720P & 480P ...
11. support power max. up to 2.5A ~ for DC-IN.
12. fix rootmydevice issue

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjTkxWc1dkNDJZc3c/view?usp=sharing

MD5: 0b0ee2f45bcec3a7d7a610fa48e74cda

discuss on forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-dietpi-preview-bpi-m3-sd-emmc-image-2016-5-14/1685

BPI-M3 new image:-kali-xfce-bpi-m3-sd-emmc.img 2016-


5-12
2016-05-12-kali-xfce-bpi-m3-sd-emmc.img.zip

82
Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4


2. username & password: root/bananapi
3. support HDMI 1080P & 720P(default)
4. support eMMC
5. support GMAC
6. support WIFI
7. support SATA
8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p)
9. support uEnv.txt to fatload script.bin & uImage
10. support uEnv.txt to set video 1080P & 720P & 480P ...
11. support power max. up to 2.5A ~ for DC-IN.
12. fix rootmydevice issue

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjRXg1bVpUbFFjb1U/view?usp=sharing

MD5: 024f033b00099800c909d0e4dd524721

discuss on forum

http://forum.banana-pi.org/t/bpi-m3-new-image-kali-xfce-bpi-m3-sd-emmc-img-2016-5-12/1661

BPI-M3 new imagecentos-lite-preview-bpi-m3.img


2016-5-12
2016-05-12-centos-lite-preview-bpi-m3.img.zip

83
Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4


2. username & password: root/bananapi
3. support HDMI 1080P & 720P(default)
4. support eMMC
5. support GMAC
6. support WIFI bcmdhd module
7. support SATA
8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p)
9. support uEnv.txt to fatload script.bin & uImage
10. support uEnv.txt to set video 1080P & 720P & 480P ...
11. support power max. up to 2.5A ~ for DC-IN.
12. fix rootmydevice issue

Google Drive: https://drive.google.com/file/d/0B_YnvHgh2rwjUDg5SmR3dV93c3M/view?usp=sharing

MD5: 7e2397952da69bdd72f923234b838365

discuss on forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-centos-lite-preview-bpi-m3-img-2016-5-12/1662

BPI-M3 new imagegentoo-stage3-armv7a_lite-bpi-m3-


sd-emmc.img V1.0 2016-5-12
2016-05-12-gentoo-stage3-armv7a_lite-bpi-m3-sd-emmc.img.zip

84
Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4


2. username & password: root/bananapi
3. support HDMI 1080P & 720P(default)
4. support eMMC
5. support GMAC
6. support WIFI bcmdhd module
7. support SATA
8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p)
9. support uEnv.txt to fatload script.bin & uImage
10. support uEnv.txt to set video 1080P & 720P & 480P ...
11. support power max. up to 2.5A ~ for DC-IN.
12. fix rootmydevice issue

Google Drive:

https://drive.google.com/file/d/0B_YnvHgh2rwjQU11b3ZhTEhXb3c/view?usp=sharing

MD5: c056a4345a229eb380cd46e23105eb7f

discuss on forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-gentoo-stage3-armv7a-lite-bpi-m3-sd-emmc-img-v1-0-2016-5-12/1648

BPI-M3 new image:OpenSUSE-Tumbleweed-ARM-Mate-


bpi-m3-sd-emmc 2016-5-11
2016-05-11-openSUSE-Tumbleweed-ARM-Mate-bpi-m3-sd-emmc.img.zip

85
Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4


2. username & password: pi/bananapi , root/bananapi
3. support HDMI 1080P & 720P(default)
4. support eMMC
5. support GMAC
6. support WIFI
7. support SATA
8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p)
9. support uEnv.txt to fatload script.bin & uImage
10. support uEnv.txt to set video 1080P & 720P & 480P ...
11. support power max. up to 2.5A ~ for DC-IN.
12. fix rootmydevice issue

Google Drive:

https://drive.google.com/file/d/0B_YnvHgh2rwjSzkzem9TSG81MjQ/view?usp=sharing

MD5: ca4b8e0a1d7809f5ffeaab018a138d6d

discuss on forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-opensuse-tumbleweed-arm-mate-bpi-m3-sd-emmc-2016-5-11/1641

BPI-M3 new imagecrux-arm-3.2-lite-bpi-m3.img 2016-


05-012
2016-05-12-crux-arm-3.2-lite-bpi-m3.img.zip

86
Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4


2. username & password: root/bananapi
3. support HDMI 1080P & 720P(default)
4. support eMMC
5. support GMAC
6. support WIFI bcmdhd module
7. support SATA
8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p)
9. support uEnv.txt to fatload script.bin & uImage
10. support uEnv.txt to set video 1080P & 720P & 480P ...
11. support power max. up to 2.5A ~ for DC-IN.
12. fix rootmydevice issue

Google Drive:

https://drive.google.com/file/d/0B_YnvHgh2rwjSTlUb2pkb1dBQm8/view?usp=sharing

MD5: 0d53b27094548aa98076c70c48b308a7

discuss on forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-crux-arm-3-2-lite-bpi-m3-img-2016-05-012/1643

BPI-M3 new image:Fedora-Mate-armhfp-23-10-bpi-m3-sd-


emmc 2016-5-11
2016-05-11-Fedora-Mate-armhfp-23-10-bpi-m3-sd-emmc.img.zip

87
Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4


2. username & password: pi/bananapi , root/bananapi
3. support HDMI 1080P & 720P(default)
4. support eMMC
5. support GMAC
6. support WIFI
7. support SATA
8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p)
9. support uEnv.txt to fatload script.bin & uImage
10. support uEnv.txt to set video 1080P & 720P & 480P ...
11. support power max. up to 2.5A ~ for DC-IN.
12. fix rootmydevice issue

Google Drive:

https://drive.google.com/file/d/0B_YnvHgh2rwjRWdVNXZDcl9NUVU/view?usp=sharing

MD5: f52524ca5625f43c98ad7ccfe2154384

discuss on forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-fedora-mate-armhfp-23-10-bpi-m3-sd-emmc-2016-5-11/1636

BPI-M3 new image: ArchLinuxARM-lite-bpi-m3 2016-5-10


2016-05-10-ArchLinuxARM-lite-bpi-m3.img.zip

88
Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4


2. username & password: root/bananapi
3. support HDMI 1080P & 720P(default)
4. support eMMC
5. support GMAC
6. support WIFI
7. support SATA
8. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p)
9. support uEnv.txt to fatload script.bin & uImage
10. support uEnv.txt to set video 1080P & 720P & 480P ...
11. support power max. up to 2.5A ~ for DC-IN.
12. fix rootmydevice issue

Google Drive:

https://drive.google.com/file/d/0B_YnvHgh2rwjOEttQUdyRTBzRE0/view?usp=sharing

MD5: 2f0b41f4cfe7fb34aadcaa60f45d1283

discuss on forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-archlinuxarm-lite-bpi-m3-2016-5-10/1625

BPI-M3 new image:debian-8-jessie-mate beta V1.0 2016-


4-27
2016-04-27-debian-8-jessie-mate_gpu_mpv_1080p-bpi-m3_beta-sd-emmc.img.zip

89
Linux for Kernel 3.4 image

BPI-M3 kernel 3.4 username & password: pi/bananapi , root/bananapi support HDMI 1080P & 720P(default) support eMMC
support GMAC support WIFI support SATA support bpi-bootsel cmd to switch mode support uEnv.txt to fatload script.bin &
uImage support uEnv.txt to set video 1080P & 720P & 480P ... support power max. up to 2.5A ~ for DC-IN. support video
play 1080p with vdpau (mpv) support GPU PowerVR SGX544MP (glmark2-es2) chromuim default turn on webgl
(chrome://gpu, modify /etc/chromium-browser/default) support youtube video play support flash video play. support scratch
2.0 change usb0 setting with script.bin from otg mode to host only (fix: Average load always above 1)

Google Drive download link: https://drive.google.com/file/d/0B6FbwMfcqfFZclQxRlhjeXRuQ28/view?usp=sharing

MD5: f96b2b0486c919c95142b87ae7d54935

discuss on BPI official forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-debian-8-jessie-mate-gpu-mpv-1080p-bpi-m3-beta-v1-0-2016-4-27/1545

BPI-M3 new image:ubuntu-mate-16.04 beta V1.0 2016-04-


25
2016-04-25-ubuntu-mate-16.04_Xenial_gpu_mpv_1080p_bt-bpi-m3_beta-sd-emmc.img.zip

90
Linux for Kernel 3.4 image

1. BPI-M3 kernel 3.4


2. username & password: pi/bananapi , root/bananapi
3. support HDMI 1080P & 720P
4. support GMAC
5. support WIFI
6. support bpi-bootsel cmd can switch to (bpi-m3 & bpi-m2 & bpi-m2p)
7. support uEnv.txt to fatload script.bin & uImage
8. support uEnv.txt to set video 1080P & 720P & 480P ...
9. support video play 1080p with vdpau (mpv, vlc, smplayer)
10. support BT (default off, sudo bpi-bt-on)
11. support GPU PowerVR SGX544MP (glmark2-es2)
12. chromuim default turn on webgl (chrome://gpu, modify /etc/chromium-browser/default)
13. support youtube video player.
14. support flash video play.
15. support scratch 2.0

google driver download link:

https://drive.google.com/file/d/0B6FbwMfcqfFZY0I4SUZ2QlhQYUk/view?usp=sharing

Note: please use 16G micro SD for this image.

discuss on BPI official forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-ubuntu-mate-16-04-beta-v1-0-2016-04-25/1528

[BPI-M3] New image:Berryboot and GPU (PowerVR


SGX544) included in Ubuntu Mate 15.10
Release date:2016/02/03

Google Drive:

91
Linux for Kernel 3.4 image

https://drive.google.com/file/d/0B_YnvHgh2rwjNjNlcEpqQVNDLTg/view?usp=sharing

Baidu Cloud:

http://pan.baidu.com/s/1dEe53PZ

MD5: 46f55765f7cd210678dd05cd6de08deb

Release Note:

1. Aufs file system included in BPI-M3 kernel 3.4 (commit 2141b27fdbb5b3baff0bdff95aef3bbe8a7259ad)


2. Berryboot supported
3. Ubuntu Mate 15.10 included
4. GMAC supported
5. Camera ov8865 supported (mplayer tv://)
6. Wifi supported (modprobe bcmdhd)
7. Fatload script-bpi-m3.bin, kernel, and ramdisk supported
8. Reboot issue fixed
9. GPU PowerVR SGX544 supported (glmark2-es)
10. username & password: pi/bananapi , root/bananapi , bananapi/bananapi

discuss at forum:

http://forum.banana-pi.org/t/bpi-m3-new-image-berryboot-and-gpu-powervr-sgx544-included-in-ubuntu-mate-15-10/1133

92
Linux for Kernel 3.4 image

GPU for kernel 3.4


1,How to enable GPU on ubuntu 15.10

download link:

https://drive.google.com/file/d/0B4PAo2nW2KfnVFBYNzB2N1ZKU00/view?usp=sharing

step 1: dpkg -i linux-bananapi-bpi-m3-kernel3_1.2.6_armhf.deb

step 2: bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz or bpi-bootsel /usr/lib/u-boot/bananapi/bpi-


m3/BPI_M3_1080P.img.gz

step 3: dpkg -i xserver-xorg-video-gpu-bananapi-bpi-m3_1.0-15.10_armhf.deb

step 4: reboot

2,how to check gpu running

root@bananapi:~# ps ax | grep X
629 tty7 Ss+ 0:09 /usr/local/XSGX/bin/X -verbose -config /usr/local/XSG
X/etc/xorg.conf :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7
-novtswitch
1449 ttyS0 S+ 0:00 grep --color=auto X
root@bananapi:~#

how to disable/enable gpu

root@bananapi:/usr/share/lightdm/lightdm.conf.d# cat 55-xserver-command-pvr.conf


[Seat:*]
# Dump core
#xserver-command=X -core
#xserver-command=/usr/local/XSGX/bin/X -verbose -config /usr/local/XSGX/etc/xorg.
conf
root@bananapi:/usr/share/lightdm/lightdm.conf.d#

93
Linux for Kernel 3.4 image

How to rotate display screen


OS: BPI-M3 Ubuntu15.10 (Kernel3.4)

Version: 1.0 HDMI

1.Add Command in your /etc/rc.local:

echo 1 > /sys/class/graphics/fbcon/rotate_all

2.Edit /etc/X11/xorg.conf with this content:

Section "Device"
Identifier "Raspberry Pi FBDEV"
Driver "fbturbo"
Option "fbdev" "/dev/fb0"
Option "SwapbuffersWait" "true"
Option "rotate" "cw"
EndSection

Parameter Description

"rotate" "cw" // clockwise 90


"rotate" "ud" // clockwise 180
"rotate" "ccw" //clockwise 270

clockwise 90

clockwise 180

94
Linux for Kernel 3.4 image

95
Linux for Kernel 3.4 image

how to use fatload uEnv.txt & script.bin & kernel uImage


all file on github:

https://github.com/BPI-SINOVOIP/BPI-files/tree/master/debs

file:linux-bananapi-bpi-m3-kernel3_1.2.8_armhf.deb:

how to use fatload uEnv.txt & script.bin & kernel uImage

step 1: dpkg -i linux-bananapi-bpi-m3-kernel3_1.2.8_armhf.deb

step 2: bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz

step 3: mkdir -p /boot/bananapi/bpi-m3

step 4: cp -a /usr/lib/u-boot/bananapi/bpi-m3/linux /boot/bananapi/bpi-m3

step 5: cd /boot/bananapi/bpi-m3/linux ; vi uEnv.txt (if you want to change)

step 6: reboot

root@bananapi:/media/bpi/BPI-BOOT/bananapi/bpi-m3/linux# ls -l
total 5648
-rw-r--r-- 1 bpi bpi 55408 2 23 14:27 script.bin
-rw-r--r-- 1 bpi bpi 2013 2 25 08:39 uEnv.txt
-rw-r--r-- 1 bpi bpi 5718480 2 24 10:53 uImage

# cat uEnv.txt
bpi=bananapi
board=bpi-m3
chip=a83t
service=linux
#kernel=kernel_bpi-m3_aufs.img
#kernel=boot.fex
kernel=uImage
scrip=script.bin

ahello=echo Banaan Pi ${board} chip: $chip Service: $service

aboot=if fatload $device $partition 0x43100000 ${bpi}/berryboot.img; then bootm 0x48000000 0x43100000; else bootm 0x4
8000000; fi
aload_script=fatload $device $partition 0x43000000 ${bpi}/${board}/${service}/${script}
aload_kernel=fatload $device $partition 0x48000000 ${bpi}/${board}/${service}/${kernel}

uenvcmd=run ahello aload_script aload_kernel aboot

96
Linux for Kernel 3.4 image

#
# from sys_config.fex
#
#;output_type (0:none; 1:lcd; 2:tv; 3:hdmi; 4:vga)
#;output_mode (used for tv/hdmi output, 0:480i 1:576i 2:480p 3:576p 4:720p50 5:720p60 6:1080i50 7:1080i60 8:1080p24
9:1080p50 10:1080p60 11:pal 14:ntsc)
#

# ref. sys_config.fex, use default script.bin


bootargs=enforcing=1 console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 rootwait init=/init vmalloc=384M ion_cma_l
ist="120m,176m,512m" loglevel=8 bootmenutimeout=10 datadev=mmcblk0p2

# output HDMI 1080P (type:3 mode:10)


#bootargs=enforcing=1 console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 rootwait init=/init vmalloc=384M ion_cma_
list="120m,176m,512m" loglevel=8 bootmenutimeout=10 datadev=mmcblk0p2 disp.screen0_output_type=3 disp.screen0_output_
mode=10 disp.screen1_output_type=3 disp.screen1_output_mode=10

# output HDMI 720P (type:3 mode:5)


#bootargs=enforcing=1 console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 rootwait init=/init vmalloc=384M ion_cma_
list="120m,176m,512m" loglevel=8 bootmenutimeout=10 datadev=mmcblk0p2 disp.screen0_output_type=3 disp.screen0_output_
mode=5 disp.screen1_output_type=3 disp.screen1_output_mode=5

# output HDMI 480P (type:3 mode:2)


#bootargs=enforcing=1 console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 rootwait init=/init vmalloc=384M ion_cma_
list="120m,176m,512m" loglevel=8 bootmenutimeout=10 datadev=mmcblk0p2 disp.screen0_output_type=3 disp.screen0_output_
mode=2 disp.screen1_output_type=3 disp.screen1_output_mode=2

how to check output video mode:

root@bananapi:~# dmesg | grep DISP


[ 0.670049] [DISP]disp_module_init
[ 0.670431] [DISP]parser_disp_init_para: screen0_output_type(3)
[ 0.670472] [DISP]parser_disp_init_para: screen0_output_mode(10) value(10)
[ 0.670503] [DISP]parser_disp_init_para: screen1_output_type(3)
[ 0.670533] [DISP]parser_disp_init_para: screen1_output_mode(10) value(10)
[ 0.731031] [DISP] Fb_map_kernel_logo,line:895:Fb_map_kernel_logo failed!
[ 0.797416] [DISP]disp_module_init finish
[ 7.840077] [DISP] disp_device_attached_and_enable,line:159:attched ok, mgr0<
-->device1, type=4, mode=10
[ 31.112875] [DISP] disp_ioctl,line:1480:para err in disp_ioctl, cmd = 0x0,scr
een id = 65536

how to boot with SATA rootfs:

# vi uEnv.txt
# ref. sys_config.fex, use default script.bin
bootargs=enforcing=1 console=ttyS0,115200 console=tty1 root=/dev/sda2 rootwait init=/init vmalloc=384M ion_cma_list="
120m,176m,512m" loglevel=8 bootmenutimeout=10 datadev=sda2

how to boot with USB DISK rootfs:


# vi uEnv.txt
# ref. sys_config.fex, use default script.bin
bootargs=enforcing=1 console=ttyS0,115200 console=tty1 root=/dev/sdb2 rootwait init=/init vmalloc=384M ion_cma_list="
120m,176m,512m" loglevel=8 bootmenutimeout=10 datadev=sdb2

for berryboot env. use only: bootmenutimeout=XXX datadev=XXX

how to check bananapi's packages:

97
Linux for Kernel 3.4 image

root@bananapi:~# dpkg -l | grep bananapi


ii bananapi-bpi-tools 1.0.1
armhf Banaan Pi: tools
ii linux-bananapi-bpi-m2-kernel3 1.2
armhf Banaan Pi BPI-M2: linux kernel 3.3 image & modules
ii linux-bananapi-bpi-m3-kernel3 1.2.6
armhf Banaan Pi BPI-M3: linux kernel 3.4 image & modules
ii linux-firmware-bananapi-bpi-wifi 1.0
armhf Banaan Pi: linux kernel firmware for wifi ap6181 & ap6212

demo video:

https://www.youtube.com/watch?time_continue=2&v=aF_WZFDxGs4

98
mainline Linux

mainline Linux
Many open source development help us to use mainline linux on BPI-M3.

if someone want to help use ,please contact us ,we will send free sample to you.

99
mainline Linux

mainline uboot
sunxi: Add suport for A83T based Banana-pi M3 Board

https://patchwork.ozlabs.org/patch/563980/

Download (v2016.05-rc1)

http://git.denx.de/?p=u-boot.git;a=summary

100
mainline Linux

BPI-M3 mainline kernel


not support yet

101
OpenWRT

OpenWRT on banana pi
OpenWRT have support many allwinner chip . so easy to use it on banana pi

Allwinner Sun4i/5i/6i/7i/9i (sunxi) Various vendors are offering development boards / single-board computer based on the
Allwinner SoCs. These are running various flavors of the A1x, A20, A31, and soon H3 SoCs, with different buildouts. The
mach is called "sunxi".

For some specs rather see Allwinner_Technology#A-Series.

more please see:

https://wiki.openwrt.org/doc/hardware/soc/soc.allwinner.sunxi?s[]=banana&s[]=pi

102
BanaNAS - SimpleNas

BanaNAS-Nas server based on Debian Jessie


Image already have instaled OpenMediaVault v3 beta. (omv v3.0.13) in version <= 3.0.14 is a lot of bugs.

Bittorrent
DLNA
SMB
FTP ...

System image requires at least 16GB SD card (i use 32GB)

http://simplenas.com/download/banana-m3

103
Lakka TV

Lakka TV
The newly supported boards are:

Banana Pi M2+ with H3 chip Banana Pi M3 with A83T chip

for BPI-M1 and BPI-M1+ use A20 chip design ,also can find some support for A20.

As you can see, H3 is used in a lot of boards. Each of them have different specs. Some of them are available at a very
cheap price.

The original OpenELEC and LibreELEC port has been done by @jernejsk and we backported it to Lakka.

The images can be downloaded from there:

http://mirror.lakka.tv/nightly/

@Ntemis took care of testing the image on some of these boards and Lakka and RetroArch are working well on them.

If you are new to Lakka and want to test one of the images, just adapt the installation instruction that you can find on our
website for any other ARM board.

As I dont own any of these boards myself, I cant check them for regressions and support them officially for now. But I will
as soon as some contributors send me one or two.

We need more owners of any of these boards on our IRC chan to check if all the images are really working well. Remember
that this is mainly untested work when you report bugs.

more please visit lakka TV official website:

http://www.lakka.tv/

104
BPI-M3 WiringPi

BPI-M3 WiringPi
support all raspberry pi module and all banana pi module :BPI-M1,BPI-M1+,BPI-R1,BPI-M2,BPI-M2+,BPI-M2 Ultra,BPI-M2
Magic,BPI-M3,BPI-M64

https://github.com/BPI-SINOVOIP/WiringPi

https://github.com/BPI-SINOVOIP/WiringPi/tree/master/wiringPi/board

install BPI-M3 WiringPi:

1Download WiringPi from github For BPI-M3

git clone https://github.com/BPI-SINOVOIP/BPI-WiringPi.git -b BPI_M3

2Installation

cd BPI-WiringPi

chmod +x ./build

sudo ./build

3test wiringPi is install success

gpio -v

gpio readall

105
BPI-M3 WiringPi

4create new : blink.c

#include <wiringPi.h>
int main(void)
{
wiringPiSetup() ;
pinMode (0, OUTPUT) ;
for(;;)
{
digitalWrite(0, HIGH) ; delay (500) ;
digitalWrite(0, LOW) ; delay (500) ;
}
}

compile and run it:

gcc -Wall -o blink blink.c -lwiringPi

runing it:

sudo ./blink

BPI have many extend board support WiringPi. so you can free DIY by youself:

more about BPI extend board,please see:

https://bananapi.gitbooks.io/bpi-accessories/content/

link to forum:

http://forum.banana-pi.org/t/bpi-wiringpi-officially-supports-bpi-m3-kernel-3-4/998/4

youtube vodeo for how to:

https://www.youtube.com/watch?v=OJeFWyiTqgQ

106
BPI-M3 WiringPi

107
BPI-tools

BPI-tools
[bpi-tools]: v1.0.3: bpi-tools bpi-get cmd support update tools & download images

bpi-tools can install to X86 ubuntu and Banana Pi:

on x86 pc:

for ubuntu 14.04 (x86):

dpkg --add-architecture armhf

or for ubuntu 12.04 (x86):

echo "foreign-architecture armhf" >> /etc/dpkg/dpkg.cfg.d/multiarch

dpkg -i bananapi-bpi-tools*.deb

if you don't have pv cmd: apt-get install pv (for bpi-copy use)

download bpi-tools & install:

on ubuntu / raspbian / debian :

download file: bananapi-bpi-tools_1.0.3_armhf.deb

github:

https://github.com/BPI-SINOVOIP/BPI-files/raw/master/debs/bananapi-bpi-tools_1.0.3_armhf.deb

google drive:

https://drive.google.com/file/d/0B_YnvHgh2rwjc29jNVdoaDNXRUU/view?usp=sharing

MD5: 0408a434003651001f0131e61cadc2fd

# sudo dpkg -i bananapi-bpi-tools_1.0.3_armhf.deb

on other system :

download file: bpi-tools.tgz

google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjMGZOZC1Gd3dwQkE/view?usp=sharing

MD5: 82e35dba52bc3edb48e96c8a544ac216

# sudo tar xvf bpi-tools.tgz -C /

HOW TO USE:

108
BPI-tools

root@bananapi:~# bpi-tools
bpi-tools v1.0.6
usage: bpi-tools
bpi-tools FILE
bpi-tools --all | --update | --download | --version

bpi files:
bpi-tools v1.0.6
bpi-bootsel v1.0.4
bpi-copy v1.0.10a
bpi-get v1.0.3
root@bananapi:~# bpi-tools --update
bpi-tools v1.0.6
usage: bpi-tools
bpi-tools FILE
bpi-tools --all | --update | --download | --version

BPIFILE=/root/.bpi-tools.lst
Wait for download index file ...
OK!!\n

bpi files:
bpi-tools v1.0.6
bpi-bootsel v1.0.4
bpi-copy v1.0.10a
bpi-get v1.0.3
root@bananapi:~# bpi-tools --version

bpi files:
/usr/bin/bpi-tools v1.0.6
/usr/bin/bpi-bootsel v1.0.4
/usr/bin/bpi-copy v1.0.10a
/usr/bin/bpi-get v1.0.3
root@bananapi:~# bpi-tools --download

download bpi files:


bpi-tools
bpi-tools: OK
bpi-tools: v1.0.6
bpi-bootsel
bpi-bootsel: OK
bpi-bootsel: v1.0.4
bpi-copy
bpi-copy: OK
bpi-copy: v1.0.10a
bpi-get
bpi-get: OK
bpi-get: v1.0.3
root@bananapi:~# ls -l
total 20
-rwxr-xr-x 1 root root 1493 5 6 10:06 bpi-bootsel
-rwxr-xr-x 1 root root 6170 5 6 10:06 bpi-copy
-rwxr-xr-x 1 root root 1391 5 6 10:06 bpi-get
-rwxr-xr-x 1 root root 2898 5 6 10:06 bpi-tools
root@bananapi:~# bpi-get
bpi-get v1.0.3
usage: bpi-get
bpi-get FILE

BPIFILE=/root/.bpi-files.lst

Wait for download index file ...

109
BPI-tools

bpi files:
2016-05-05-u1510_gpu_vpu_camera_bt_bpi-m2p_beta.img.zip
2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip
2016-04-27-debian-8-jessie-mate_gpu_mpv_1080p-bpi-m3_beta-sd-emmc.img.zip
2016-04-25-ubuntu-mate-16.04_Xenial_gpu_mpv_1080p_bt-bpi-m3_beta-sd-emmc.img.zip
u1510_gpu_vpu_camera_bpi-m2p-20160413_preview.img.zip
2016-04-11-Armbian_5.07_Bananapim2plus_Debian_jessie_3.4.111_desktop_preview.img.zip
2016-04-08-raspbian-jessie-bpi-m2.img.zip
2016-04-08-raspbian-jessie-bpi-m2p.img.zip
2016-04-08-raspbian-jessie-bpi-m3.img.zip

root@bananapi:~# bpi-get 2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip


INFO: Try to get 2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip ...
BPIFILE=/root/.bpi-files.lst
IMGFILE=2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip
MD5TMP=/tmp/.md5.tmp.8322
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 280 0 280 0 0 430 0 --:--:-- --:--:-- --:--:-- 430
0 0 0 671M 0 0 3317k 0 --:--:-- 0:03:27 --:--:-- 3533k
2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip: OK
root@bananapi:~# bpi-copy .
SRC=.
DST=
COPYMODE=usage
default
bpi-copy v1.0.10a
usage: bpi-copy
bpi-copy IMGFILE
bpi-copy IMGDIR
bpi-copy IMGFILE DEVICE
bpi-copy DEVICE IMGFILE

bpi images: (*.img.zip)


./2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip
bpi images: (*.img)
bpi images: (*.img.gz)
/usr/lib/u-boot/bananapi/bpi-m2/BPI_M2_720P.img.gz
/usr/lib/u-boot/bananapi/bpi-m2p/BPI_M2P_720P.img.gz
/usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz
/usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m1.img.gz
/usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m1p.img.gz
/usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m2.img.gz
/usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m2p.img.gz
/usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m3.img.gz
/usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-r1.img.gz
xz images: (*.xz)
zip images: (*.zip)
./2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip
raw images: (*.raw)

Disks: (lsblk | grep disk)


sda 8:0 0 931.5G 0 disk
sdb 8:16 0 2.7T 0 disk
sdc 8:32 1 14.9G 0 disk

Disks: (fdisk -l | grep Disk | grep bytes)


Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
Disk /dev/sdb: 3000.6 GB, 3000558944256 bytes
Disk /dev/sdc: 15.9 GB, 15931539456 bytes
root@bananapi:~# bpi-copy ./2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip /dev/sdc
SRC=./2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip
DST=/dev/sdc
COPYMODE=imagetodisk
imagetodisk
bpi-copy v1.0.10a
usage: bpi-copy
bpi-copy IMGFILE
bpi-copy IMGDIR

110
BPI-tools

bpi-copy IMGFILE DEVICE


bpi-copy DEVICE IMGFILE

Warning: Try to write ./2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip to BOOTDISK /dev/sdc


==============================================================
5 6 10:21:13 CST 2016
*** start COPY (blue led on ) .....
umount device: /dev/sdc
umount /dev/sdc2
umount /dev/sdc1
==============================================================
IMGFILE=./2016-05-05-debian-8-jessie-lite-bpi-m2p_beta-sd-emmc.img.zip
==============================================================
zip
1.91GB 0:01:59 [16.3MB/s] [ <=> ]
0+20666 records in
0+20666 records out
*** end COPY (blue led off) .....
5 6 10:23:40 CST 2016
==============================================================
RUNTIME 2:27
OK!! You can remove the BOOTDISK /dev/sdc now!!
root@bananapi:~#

if you want to use bpi-m2p image for bpi-m3, you can re-insert SD card:

root@bananapi:~# bpi-bootsel
bpi-bootsel v1.0.4
usage: bpi-bootsel
bpi-bootsel IMGFILE
bpi-bootsel IMGFILE DEVICE

bpi images:
/usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m1.img.gz
/usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m2.img.gz
/usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m1p.img.gz
/usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m2p.img.gz
/usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-r1.img.gz
/usr/lib/u-boot/bananapi/u-boot-2016.05-rc1/u-boot-2016.05-rc1-bpi-m3.img.gz
/usr/lib/u-boot/bananapi/bpi-m2/BPI_M2_720P.img.gz
/usr/lib/u-boot/bananapi/bpi-m2p/BPI_M2P_720P.img.gz
/usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz

Disks: (lsblk | grep disk)


sda 8:0 0 931.5G 0 disk
sdb 8:16 0 2.7T 0 disk
sdc 8:32 1 14.9G 0 disk

Disks: (fdisk -l | grep Disk | grep bytes)


Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
Disk /dev/sdb: 3000.6 GB, 3000558944256 bytes
Disk /dev/sdc: 15.9 GB, 15931539456 bytes
root@bananapi:~# bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz /dev/sdc
Warning: Try to write /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz to BOOTDISK /dev/sdc
umount device: /dev/sdc
umount /dev/sdc2
umount /dev/sdc1
OK!! You can remove the BOOTDISK /dev/sdc now!!
root@bananapi:~#

111
bpi-bootsel command

bpi-bootsel commond
How to use bpi-bootsel command (Multi-use SD card supported)

From now on, just download either M2 or M3, then you can switch to any of them as you wish!

bpi-bootsel v1.0.5

usage: bpi-bootsel
bpi-bootsel IMGFILE
bpi-bootsel IMGFILE DEVICE

1. Download BPI-Tools , please run the following command


wget https://github.com/BPI-SINOVOIP/BPI-files/raw/master/debs/bananapi-bpi-tools_1.0.3_armhf.deb

1. Set up development environment

2-1: On X86-PC (Ubunut 12.04)

sudo echo "foreign-architecture armhf" >> /etc/dpkg/dpkg.cfg.d/multiarch

2-2 :On X86-PC (Ubunut 14.04)

sudo dpkg --add-architecture armhf

2-3 :On BananaPI M3/M2Plus do nothing

2. Install BPI-Tools

sudo dpkg -i bananapi-bpi-tools*.deb

112
bpi-bootsel command

3. Creat a folder of BPI-Tools

mkdir BPI-Tools cd BPI-Tools

4. Update BPI-Tools

sudo bpi-tools --upgrade

5. Use bpi-bootsel commnad

6-1: M3 imgae is switchable to M2_Plus

sudo bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m2p/BPI_M2P_720P.img.gz

6-2 : M2_Plus imgae is switchable to M3imgae

sudo bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz

Video Demo

https://www.youtube.com/watch?v=HdBNcrOKngM&feature=youtu.be

113
bpi-get command

bpi-get command
How to use bpi-get command (Download BPI Images)

bpi-get v1.0.3
usage: bpi-get
bpi-get FILE

1. Download BPI-Tools , please run the following command


wget https://github.com/BPI-SINOVOIP/BPI-files/raw/master/debs/bananapi-bpi-tools_1.0.3_armhf.deb

1. Set up development environment

2-1: On X86-PC (Ubunut 12.04)

sudo echo "foreign-architecture armhf" >> /etc/dpkg/dpkg.cfg.d/multiarch

2-2 :On X86-PC (Ubunut 14.04)

sudo dpkg --add-architecture armhf

2-3 :On BananaPI M3/M2Plus do nothing

2. Install BPI-Tools

sudo dpkg -i bananapi-bpi-tools*.deb

3. Creat a folder of BPI-Tools

mkdir BPI-Tools cd BPI-Tools

4. Update BPI-Tools

sudo bpi-tools --upgrade

114
bpi-get command

5. Use bpi-get commnad

6-1: Download BPI Images

sudo bpi-get 2016-07-01-ubuntu-mate-16.04-Xenial-gpu-mpv-bt-nodejs-beta3-bpi-m3-sd-emmc.img.zip

Video Demo

https://www.youtube.com/watch?v=Bf4QfDnwKAk&feature=youtu.be

115
bpi-copy command

bpi-copy command
How to use bpi-copy command (Burning images to EMMC , Copying data from SD-Card/EMMC to be Images)

usage: bpi-copy
bpi-copy IMGFILE
bpi-copy IMGDIR
bpi-copy IMGFILE DEVICE
bpi-copy DEVICE IMGFILE

1. Download BPI-Tools , please run the following command


wget https://github.com/BPI-SINOVOIP/BPI-files/raw/master/debs/bananapi-bpi-tools_1.0.3_armhf.deb

1. Set up development environment

2-1: On X86-PC (Ubunut 12.04)

sudo echo "foreign-architecture armhf" >> /etc/dpkg/dpkg.cfg.d/multiarch

2-2 :On X86-PC (Ubunut 14.04)

sudo dpkg --add-architecture armhf

2-3 :On BananaPI M3/M2Plus do nothing

2. Install BPI-Tools

sudo dpkg -i bananapi-bpi-tools*.deb

3. Creat a folder of BPI-Tools

mkdir BPI-Tools cd BPI-Tools

116
bpi-copy command

4. Update BPI-Tools

sudo bpi-tools --upgrade

5. Use bpi-copy commnad

6-1: To burn into EMMC, please run the following command

sudo bpi-copy < images file>

6-2 :Copy data from SD-Card/EMMC to be Images

sudo bpi-copy < device path> < xxxxx.img.zip>

6-3 :To burn into certain device,please run the following command

sudo bpi-copy < xxxxx.img.zip> < device path>

Video Demo (To burn into EMMC)

https://www.youtube.com/watch?v=Arn7HC2urt4

Video Demo ( Copy data from SD-Card/EMMC to be Images)

https://www.youtube.com/watch?v=H1LjORwzO3E

117
bpi-update

bpi-update command
How to : Use bpi-update command to update kernel image

Step1: Update bpi-tools

$ git clone https://github.com/BPI-SINOVOIP/bpi-tools.git8


$ cd bpi-tools
$ sudo ./bpi-tools -u -U

Step 2: Check bpi-tools version

$ bpi-tools -v

Step 3: Use bpi-update to update kerenl

$ mkdir update_file
$ cd update_file

BPI-M2U

$ sudo bpi-update -c bpi-m2u.conf

BPI-M2P

$ sudo bpi-update -c bpi-m2p.conf

BPI-M3

$ sudo bpi-update -c bpi-m3.conf

118
BPI-M3 source code on github

BPI-M3 source code on github


All newest source code have update on this github site.

https://github.com/BPI-SINOVOIP/BPI-M3-bsp

119
How to setup docker env. to build github source code

How to setup docker env. to build github source code


how to setup docker env. to build banana pi github source code

step 1: install docker

https://docs.docker.com/engine/installation/linux/ubuntulinux/

step 2: docker run

https://hub.docker.com/r/sinovoip/bpi-build/

$ docker run -d -p 2222:22 -v /media:/media sinovoip/bpi-build:ubuntu12.04

on your host

$ ssh -p 2222 root@127.0.0.1 //default passwd is root

or (with --privileged can use /dev/loop for create img)

$ docker run -d -p 3333:22 --privileged -v /media:/media sinovoip/bpi-build:ubuntu12.04

$ ssh -p 3333 root@127.0.0.1 //default passwd is root

step 3: git clone

# cd /media/XXX/your-source
# git clone https://github.com/BPI-SINOVOIP/BPI-M3-bsp.git

step 4: build

# ./build.sh

how to create your own env. to build the code

step 1: git clone https://github.com/BPI-SINOVOIP/bpi-build.git

step 2: vi Dockerfile

step 3. vi build.sh

step 4: ./build.sh

why use docker env. to build banana pi source code

1. allwinner tools needs ubuntu12.04 with ia32-libs ...


2. user maybe use ubuntu 12.04 or 14.04 and newer like 16.04, the docker env. the same, even other linux like fedora
opensuse archlinux ...., or other os like macos , windows ...
3. build BPI-Mx-bsp env. than mainline kernel & uboot or android 4.X or android 5.X / 6.X not the same.

120
BPI-M3 Cross Compile teach

BPI-M3 BSP Cross Compile teach


thank share it.we just transfer to english.

BLOGhttp://blog.jim60105.com/2016/03/bananapi-m3-cross-compile.html

use system message:

jim@jim-Ubuntu:~$ uname -a
Linux jim-Ubuntu 4.2.0-34-generic #39-Ubuntu SMP Thu Mar 10 22:13:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

1 Compile BPI-M3 BSP

create a dir for BPI-M3 and get source code from gitgub

mkdir bananapi
cd bananapi
git clone https://github.com/BPI-SINOVOIP/BPI-M3-bsp.git

cd BPI-M3-bsp
mkdir -p linux-sunxi/output/lib/firmware

2, run this segment if you use 64 bits platform

the official kit was compiled on 32 bit platform ,so you must support 32bit execution in your 64 bits ubuntu.

121
BPI-M3 Cross Compile teach

sudo dpkg --add-architecture i386


sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386

3,install necessary tools:(skip this if you have executed the two instructions in the segment of the 64 bits)

sudo apt-get update


sudo apt-get upgrade
sudo apt-get install build-essential u-boot-tools binutils-arm-linux-gnueabihf gcc-4.7-arm-linux-gnueabihf-base g++-4
.7-arm-linux-gnueabihf gcc-arm-linux-gnueabihf gcc-arm-linux-gnueabi cpp-arm-linux-gnueabihf libusb-1.0-0 libusb-1.0-
0-dev git wget fakeroot kernel-package zlib1g-dev libncurses5-dev

4,begin to Compile

for me, i need use LCD on BPI-M3, so i choose is:3

./build.sh

now choose menu:

BPI-M3 BSP Build Tool


==========================================

This tool support following BPI board(s):


------------------------------------------
1. BPI_M3_720P
2. BPI_M3_1080P
3. BPI_M3_LCD7
4. BPI_M3_USB_720P
5. BPI_M3_USB_1080P
6. BPI_M3_USB_LCD7
------------------------------------------
Please choose a target(1-6): 3

Now configuring...

BPI_M3_LCD7 configured. Now run `make`

Configure success!

please waitting , it need long time to compile,it takes a while and depends on the performance of your computer

122
BPI-M3 Cross Compile teach

Note: if compile success ,will have ../bananapi/BPI-M3-BSP dir.if it does not show up, any other "build success" screen are
deceptive.

5 burn image to SD card:

take a new SD card , and install official image to SD card.

official image : http://www.banana-pi.org/download.html

the next step, be sure to choose the correct device.

sudo fdisk -l

123
BPI-M3 Cross Compile teach

umount /dev/sdf*

clean

sudo fdisk /dev/sdf


p
d
w
sync

please use "d" clean partition.And then dropped the device completely clear
dd if=/dev/zero of=/dev/sdf bs=4M

buru official image to SD card .please do not Android and Berryboot image.

example: ArchLinux

image name: 015-12-09-ArchLinuxARM-lite-bpi-m3-sd-emmc.img.zip

unzip 2015-12-09-ArchLinuxARM-lite-bpi-m3-sd-emmc.img.zip -d ~
cd ~
sudo dd if=2015-12-09-ArchLinuxARM-lite-bpi-m3-sd-emmc.img of=/dev/sdf bs=4M

waiting still dd finish.

umount /dev/sdf*

check partition

sudo fsck /dev/sdf1


sudo fsck /dev/sdf2

change /dev/sdf2 to ext2and change size

sudo tune2fs -O ^has_journal /dev/sdf2


sudo e2fsck -f /dev/sdf2

Write the first compiled data: next step will clean partition table, so we must transcribe it at first

124
BPI-M3 Cross Compile teach

go to we just compiled things stored folder

cd ~/bananapi/BPI-M3-bsp/download/BPI_M3_LCD7

all file will such as this below:

Empty memory card 1m before space (and clears the partition table)

sudo dd if=/dev/zero of=/dev/sdf bs=1M count=1

in order to write compiled file

125
BPI-M3 Cross Compile teach

sudo dd if=boot0_sdcard.fex of=/dev/sdf bs=1k seek=8


sudo dd if=u-boot.fex of=/dev/sdf bs=1k seek=19096
sudo dd if=sunxi_mbr.fex of=/dev/sdf bs=1k seek=20480
sudo dd if=boot-resource.fex of=/dev/sdf bs=1k seek=36864
sudo dd if=env.fex of=/dev/sdf bs=1k seek=69632
sudo dd if=boot.fex of=/dev/sdf bs=1k seek=86016

recovery partition table,and increase the capacity to the memory card is the largest,also change to /dev/sdf2.

sudo fdisk /dev/sdf


p
n
p
1
204800
729087
t
c
n
p
2
729088
# here just "enter"default will get max size
w
sync
sudo fsck /dev/sdf1
sudo fsck /dev/sdf2
sudo resize2fs /dev/sdf2
sudo tune2fs -j /dev/sdf2
sudo e2fsck -f /dev/sdf2

all is finish. just use this SD card to boot your banana pi.

126
BPI-M3 fix rootmydevice issue for Security Alert

BPI-M3 fix rootmydevice issue for Security Alert


BPI-M3: fix rootmydevice issue

STEP 1. download update file & install STEP 2. update boot files

=======================STEP 1:==========================

on ubuntu / raspbian / debian :

download file: linux-bananapi-bpi-m3-kernel3_1.2.9_armhf.deb

github: https://github.com/BPI-SINOVOIP/BPI-files/raw/master/debs/linux-bananapi-bpi-m3-kernel3_1.2.9_armhf.deb

google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjdHJ2T3d6b0xja0k/view?usp=sharing

MD5: aeb90ff97a536c2c31fccfedd6d1c164

# sudo dpkg -i linux-bananapi-bpi-m3-kernel3_1.2.9_armhf.deb

on other system :

download file: 3.4.39-BPI-M3-Kernel.tgz

google drive: https://drive.google.com/file/d/0B_YnvHgh2rwjMU01LTRyRXBpUHM/view?usp=sharing

MD5: aef73f35266e78957066dd5be2bab3b2

# sudo tar xvf 3.4.39-BPI-M3-Kernel.tgz -C /

=======================STEP 2:==========================

127
BPI-M3 fix rootmydevice issue for Security Alert

# sudo su
# ls -l /usr/lib/u-boot/bananapi/bpi-m3/linux/
total 5908
-rwxr-xr-x 1 root root 55408 4 27 06:11 script.bin
-rwxr-xr-x 1 root root 55408 4 30 05:01 script.bin.emmc
-rwxr-xr-x 1 root root 55408 2 23 06:27 script.bin.otg
-rwxr-xr-x 1 root root 74463 4 27 04:07 sys_config.fex
-rwxr-xr-x 1 root root 74529 4 30 04:55 sys_config.fex.emmc
-rwxr-xr-x 1 root root 2254 5 4 07:49 uEnv.txt
-rw-r--r-- 1 root root 5717352 5 3 21:47 uImage

# mount /dev/mmcblk0p1 /boot


# cp -a /usr/lib/u-boot/bananapi/bpi-m3/linux/* /boot/bananapi/bpi-m3/linux
# bpi-bootsel /usr/lib/u-boot/bananapi/bpi-m3/BPI_M3_720P.img.gz
# reboot

128
How to compile BPI-M3-bsp kernel on BPI-M3

How to compile BPI-M3-bsp kernel on BPI-M3


1,at first download code

git clone https://github.com/BPI-SINOVOIP/BPI-M3-bsp.git

2, Add depend package

apt-get install git build-essential libncurses5-dev

3.edit BPI-M3-bsp/Makefile delete the cross compiler options

.PHONY: all clean help


.PHONY: u-boot kernel kernel-config
.PHONY: linux pack
include chosen_board.mk
SUDO=sudo
#unmark for use new toolchain , this time just for KERNEL TEST ONLY
#DONOT USE FOR UBOOT this time,
#due to allwinner UBOOT release without some source code issue.
OUTPUT_DIR=$(CURDIR)/output
U_CONFIG_H=$(U_O_PATH)/include/config.h
K_DOT_CONFIG=$(K_O_PATH)/.config
LICHEE_KDIR=$(CURDIR)/linux-sunxi
ROOTFS=$(CURDIR)/rootfs/linux/default_linux_rootfs.tar.gz
Q=
J=$(shell expr `grep ^processor /proc/cpuinfo | wc -l` \* 2)
all: bsp
## DK, if u-boot and kernel KBUILD_OUT issue fix, u-boot-clean and kernel-clean
## are no more needed
clean: u-boot-clean kernel-clean
rm -f chosen_board.mk
## pack
pack: sunxi-pack
$(Q)scripts/mk_pack.sh
# u-boot
$(U_CONFIG_H): u-boot-sunxi
$(Q)$(MAKE) -C u-boot-sunxi $(UBOOT_CONFIG)_config -j$J
u-boot: $(U_CONFIG_H)
$(Q)$(MAKE) -C u-boot-sunxi all -j$J
u-boot-clean:
rm -f sunxi-pack/chips/sun8iw6p1/bin/u-boot-sun8iw6p1.bin
rm -f u-boot-sunxi/tools/sunxi_env_gen
$(Q)$(MAKE) -C u-boot-sunxi -j$J distclean
## linux
$(K_DOT_CONFIG): linux-sunxi
$(Q)$(MAKE) -C linux-sunxi ARCH=arm $(KERNEL_CONFIG)
kernel: $(K_DOT_CONFIG)
$(Q)$(MAKE) -C linux-sunxi ARCH=arm -j$J INSTALL_MOD_PATH=output uImage modules
$(Q)$(MAKE) -C linux-sunxi/modules/gpu ARCH=arm LICHEE_KDIR=${LICHEE_KDIR}
$(Q)$(MAKE) -C linux-sunxi ARCH=arm -j$J INSTALL_MOD_PATH=output modules_install
$(Q)$(MAKE) -C linux-sunxi ARCH=arm -j$J headers_install
#cd linux-sunxi && ${K_CROSS_COMPILE}objcopy -R .note.gnu.build-id -S -O binary vmlinux bImage
kernel-clean:
$(Q)$(MAKE) -C linux-sunxi/arch/arm/mach-sunxi/pm/standby ARCH=arm clean
$(Q)$(MAKE) -C linux-sunxi/modules/gpu ARCH=arm LICHEE_KDIR=${LICHEE_KDIR} clean
$(Q)$(MAKE) -C linux-sunxi ARCH=arm -j$J distclean
rm -rf linux-sunxi/output/
rm -f linux-sunxi/bImage
kernel-config: $(K_DOT_CONFIG)
$(Q)$(MAKE) -C linux-sunxi ARCH=arm -j$J menuconfig
cp linux-sunxi/.config linux-sunxi/arch/arm/configs/$(KERNEL_CONFIG)
## bsp
bsp: u-boot kernel
## linux

129
How to compile BPI-M3-bsp kernel on BPI-M3

linux:
$(Q)scripts/mk_linux.sh $(ROOTFS)
help:
@echo ""
@echo "Usage:"
@echo " make bsp - Default 'make'"
@echo " make linux - Build target for linux platform, as ubuntu, need permisstion confirm during the build
process"
@echo " Arguments:"
@echo " ROOTFS= - Source rootfs (ie. rootfs.tar.gz with absolute path)"
@echo ""
@echo " make pack - pack the images and rootfs to a PhenixCard download image."
@echo " make clean"
@echo ""
@echo "Optional targets:"
@echo " make kernel - Builds linux kernel"
@echo " make kernel-config - Menuconfig"
@echo " make u-boot - Builds u-boot"
@echo ""

4.eidt BPI-M3-bsp/linux-sunxi/arch/arm/mach-sunxi/pm/standby/Makefile

find here

always := standby.code resume1.code


targets := standby.elf resume1.elf

and add

hostprogs-y := mksunxichecksum

change 103104 line to

$(obj)/resume1.code: $(obj)/resume1.bin $(obj)/mksunxichecksum


$(obj)/mksunxichecksum $(obj)/resume1.bin $(obj)/super/resume/resume1.code

1. at BPI-M3-bsp/linux-sunxi/arch/arm/mach-sunxi/pm/standby/ dir add file: mksunxichecksum.c as below

/*
* (C) Copyright 2015 Jean-Francois Moine
* (C) Copyright 2014 Henrik Nordstrom
*
* Based on mksunxiboot
*
* (C) Copyright 2007-2011
* Allwinner Technology Co., Ltd. <www.allwinnertech.com>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <stdint.h>
#include <stdlib.h>
/* boot head definition from sun4i boot code */
struct boot_file_head {
uint32_t b_instruction; /* one intruction jumping to real code */
uint8_t magic[8]; /* ="eGON.BT0" or "eGON.BT1", not C-style str */
uint32_t check_sum; /* generated by PC */
uint32_t length; /* generated by PC */
/*
* We use a simplified header, only filling in what is needed
* for checksum calculation.
*/
};
#define STAMP_VALUE 0x5F0A6C39

130
How to compile BPI-M3-bsp kernel on BPI-M3

/* check sum functon from sun4i boot code */


static int gen_check_sum(struct boot_file_head *head_p)
{
uint32_t length;
uint32_t *buf;
uint32_t loop;
uint32_t i;
uint32_t sum;
length = head_p->length;
// if ((length & 0x3) != 0) /* must 4-byte-aligned */
// return -1;
buf = (uint32_t *)head_p;
head_p->check_sum = STAMP_VALUE; /* fill stamp */
loop = length >> 2;
/* calculate the sum */
for (i = 0, sum = 0; i < loop; i++)
sum += buf;
/* write back check sum */
head_p->check_sum = sum;
return 0;
}
int main(int argc, char *argv[])
{
struct boot_file_head h, *buf;
unsigned file_size;
FILE *f;
if (argc != 3) {
printf("Usage: %s file.bin file.code\n"
"calculates BROM checksum in boot header of given .bin file and writes to .code file\n"
"", argv[0]);
exit(1);
}
f = fopen(argv[1], "rb");
if (!f) {
perror("Open input file");
exit(1);
}
fread(&h, 1, sizeof h, f);
file_size = h.length; // wanted length
buf = malloc(file_size);
memset(buf, 0xff, file_size);
rewind(f);
fread(buf, 1, file_size, f);
fclose(f);
gen_check_sum(buf);
f = fopen(argv[2], "wb");
if (!f) {
perror("Open output file");
exit(1);
}
fwrite(buf, 1, file_size, f);
fclose(f);
return 0;
}

save and exit.

run

./build.sh

compile : 11-6 choose compile : 31-6 begin to compile .

After the completion of the copy Uimage to boot partition boot/BPI m3 below

131
How to compile BPI-M3-bsp kernel on BPI-M3

132
Reference documents

Reference documents

133
A83T datasheet and user manua

A83T datasheet and user manua

A83T chip Datasheet V1.4

https://drive.google.com/file/d/0B4PAo2nW2KfnM2VqeTR3SXpGdVE/view?usp=sharing

Allwinner A83T chip User_Manual V1.5.1

https://drive.google.com/file/d/0B4PAo2nW2KfnRjlQaU9uR0J0elE/view?usp=sharing

134
A83T Linux-sunxi wiki

A83T Linux-sunxi wiki


about allwinner A83T chip,please reference this link:

http://linux-sunxi.org/A83T

all about allwinner chip

https://en.wikipedia.org/wiki/Allwinner_Technology

135
BPI-M3 linux-sunxi wiki

linux-sunxi wiki
Be aware that the board manufacturer is not cooperative. Despite its name the M3 is incompatible to Banana
Pi/M1/M1+/Pro due to a different SoC requiring different boot loaders and drivers. It's just another attempt to cash in on the
Banana Pi's popularity with another incompatible SBC sharing brand, name, form factor and GPIO header.

more,please see this link:

http://linux-sunxi.org/Banana_Pi_M3

136
Banana pi wikipedia wiki

Banana pi wikipedia wiki


all banana pi development board wikipedia wiki

https://en.wikipedia.org/wiki/Banana_Pi

137
Linux mainlining effort

Linux mainlining effort


The purpose of this page is to try and define sub-goals and milestones for the mainlining effort, containing goals and sub-
goals with milestones for adding Allwinner support in the upstream mainline Linux Kernel.

It is very important to note that this is intended as a rough set of minimal goals - it is not meant to collide with the huge effort
of rewriting major drivers!

more ,please see link:

http://linux-sunxi.org/Linux_mainlining_effort

138
BPI-M3 online video

BPI-M3 online video


Banana Pi M3 Overview And Android Benchmark Test 8 Core Single Board Computer

https://www.youtube.com/watch?v=y4PtSTN3R-8

Banana Pi BPI-M3 UNBOXING + Quickstart

https://www.youtube.com/watch?time_continue=308&v=uvW72fhhz48

BPI -M3 Performance and Benchmarks

https://www.youtube.com/watch?v=2rWsTpDYMwg

banana pi BPI-M3 WiringPi demo

https://www.youtube.com/watch?v=tv18IHQD264

banna pi BPI-M3 Andorid 5.1.1 test and how to install :Mit Android zum Mediencenter auf dem Bastelrechner

https://www.youtube.com/watch?v=_FmtB7NP1Ms

Banana Pi BPI-M3 Android Web Server with Servers Ultimate via Play Store

https://www.youtube.com/watch?v=bdfGECuyUng

banana pi BPI-M3-H allwinner H8 Android 5.1.1 Test

https://www.youtube.com/watch?v=AUCOKEDcUGA

banana pi BPI-M3-R with allwinner R58 chip Android 5.1.1 Test

https://www.youtube.com/watch?v=XEZqG5yqCcY

banana pi BPI-M3 EMMC burning simply under Ubuntu

https://www.youtube.com/watch?v=1d5enpxQpWE

Burning Android to eMMC on Banana Pi BPI-M3

https://www.youtube.com/watch?v=FZp6wGtgKd8

Banana Pi BPI-M3 Review - Android 5.0 L and Ubuntu Mate Demo

https://www.youtube.com/watch?v=foxnnQT58FE

banana pi BPI-M3 use UniPi demo and how to use

https://www.youtube.com/watch?v=-4dgZZLFl3g

banana pi BPI-M3 BPI 8x8 RGB LED Martix module how to use

https://www.youtube.com/watch?v=K6mRB_CtOlI

Banana Pi M3 Review Parte 1 - Web browser, Multimidia and Android Games ( BPI-M3 )
https://www.youtube.com/watch?v=fdxjSuBLmzk

Banana Pi M3 Review Parte 2 - Testing android emulators ( Dreamcast / PSP / N64 / PS1 )
https://www.youtube.com/watch?v=zAIKmh6FI34

139
Allwinner chip documents

Allwinner chip documents


allwinner chip online datasheet and documents:

http://dl.linux-sunxi.org/

140
BPI-M3 quality guarantee

BPI-M3 quality guarantee


All the products Banana pi release go through strictly controlled process from developing,testing,manufacturing to
certification.

We put quality first, users can mass produce their products using our boards directly, we've been dedicating to providing the
most cost performance products.

141
BPI-M3 WIFI Lab test

BPI-M3 WIFI Lab test


Date: 2015/12/16

Overall Result: PASS

AP 6212 wifi 802.11 B test report

142
BPI-M3 WIFI Lab test

143
BPI-M3 WIFI Lab test

AP 6212 wifi 802.11 G test report

144
BPI-M3 WIFI Lab test

145
BPI-M3 WIFI Lab test

AP 6212 wifi 802.11 N test report

146
BPI-M3 Validation test

BPI-M3 Validation test


BPI-M3 have do full Validation test on Lab.

all test result: PASS

main Validation test report:

BPI-M3 Validation - RF Connectivity Test

http://forum.banana-pi.org/t/bpi-m3-validation-rf-connectivity-test/996

BPI-M3 Validation - USB2.0

http://forum.banana-pi.org/t/bpi-m3-validation-usb2-0/974

BPI-M3 Validation - HDMI(720p)

http://forum.banana-pi.org/t/bpi-m3-validation-hdmi-720p/971

BPI-M3 Validation - HDMI(1080p)

http://forum.banana-pi.org/t/bpi-m3-validation-hdmi-1080p/972

BPI-M3 Validation - Wifi_SDIO Test

http://forum.banana-pi.org/t/bpi-m3-validation-wifi-sdio-test/969

BPI-M3 Validation - UART(Bluetooth) Test

http://forum.banana-pi.org/t/bpi-m3-validation-uart-bluetooth-test/968

BPI-M3 Validation - Signal Integrity Test

http://forum.banana-pi.org/t/bpi-m3-validation-signal-integrity-test/967

BPI-M3 Validation - Over Load Protection Test

http://forum.banana-pi.org/t/bpi-m3-validation-over-load-protection-test/966

BPI-M3 Validation - Ripple/Noise Test

http://forum.banana-pi.org/t/bpi-m3-validation-ripple-noise-test/965

147
BPI-M3 CE,FCC RoHS Certification

BPI-M3 CE,FCC RoHS Certification


BPI-M3 CE Certification

BPI-M3 FCC Certification

148
BPI-M3 CE,FCC RoHS Certification

BPI-M3 RoHS Certification

149
BPI-M3 CE,FCC RoHS Certification

150
All Banana Pi SBC Comparison

All Banana Pi SBC Comparison

151
BPI-M3 vs ODROID-XU4

BPI-M3 vs ODROID-XU4

152
All banana pi product

All banana pi product


banana pi BPI-M1 allwinner A20 dual core single board computer

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-m1/content/en/

banana pi BPI-M1+(BPI-M1+ plus) allwinner A20 dual core single board computer

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-m1-bpi-m1-plus-/content/en/

banana pi BPI-M2 allwinner A31s quad core single board computer

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-m2/content/en/

banana pi BPI-M2+BPI-M2 Plusallwinner H3 quad cord single board computer

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-m2-/content/en/

banana pi BPI-M2 Ultra allwinner R40 quad core single board computer

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-m2-ultra/content/

Banana pi BPI-M3 allwinner A83T (R58 H8) octa-core single board computer

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-m3/content/en/

banana pi BPI-M64 allwinner A64 64 bit single board computer

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-m64/content/en/

banana pi BPI-R1 allwinner A20 dual core smart router board

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-r1/content/en/

banana pi BPI-D1 open source IP camera board

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-d1/content/en/

banana pi BPI-G1 open source IoT development board

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-g1/content/en/

banana pi BPI Accessories

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-accessories/content/en/

BPI Open debugger burn development tool board

gitbook online datasheet:https://bananapi.gitbooks.io/bpi-open-debugger-burn-board/content/en/

153
BPI 4.0 customized Server

BPI 4.0 customized Server


Having been doing R&D in embeded systems for more than 12 years. Our experienced teams are able to help you to carry
out your dream. Whether you want to customize banana pi or want to design a computer from scratch, we got you covered.
Also, our modern ISO factory spans over 10,000 square meters can help you mass manufacture products to hit the market

Our factory:Sinovoip In order to meet the companys development needs, and further production capacity and product
quality. Sources Communication shareholders decided to invest in new plant to build their own, the new factory site is
located in manholes and covers an area of more than 10000 square meters,equipped with full range of production
equipment and high quality technical management personnel . We have complete SMT production lines, plug-ins
production line, assembly line, production line testing.

your Idea, we will help you optimize and design.


your Design, we will help you bring it to live.
your Product, we will help you mass produce it.

Customize Pi
If you want to tailor your Banana pi to your specific use or to minimize the cost for mass production purpose, you are
coming the right place. We provide the customization service of banana pi such as remove/add headers or
connectors,change component layout,add/remove components,change interfaces etc.

Start from scratch (ODM)


An idea flashes through your mind in your dreams or a solution bearing in your mind for a long time, which you think would
turn out to be great gadget to hit the market, but you are worrying about how to start and realize it without R&D and
manufacturing, nowthat's no longer a trouble to you. Taking advantage of our expertise,we provide full ODM service for
you.We let you have your sample products from scratch within 45 days. Don't wait,come to realize your dreams.

154
BPI 4.0 customized Server

Have a prototype (OEM)


You are an expert, you designed a wonderful device that most people would want to have it, you knew it quite well that your
success is just around the corner. The only last step is to produce it,but without manufactruing capability..., no problem, let
us carry you through. Our 13 years of SCM experience and mass manufacturing facilities enable you free from quality
issue,delivery...

155

You might also like