Getting Started with R64 - Banana Pi Wiki

Introduction

  The Banana Pi R64 is a router based development board, which can run on a variety of open source operating systems including OpenWrt,Linux. It has 4 Gigabit LAN ports, 1 Gigabit WAN, and AC wifi AP function. use 64 bit chip design.

Read more: Banana Pi BPI-R64

Key Features

  • MediaTek MT7622,1.35GHZ 64 bit dual-core ARM Cortex-A53

  • 1G DDR3 SDRAM

  • Mini PCIE interface support 4G module

  • Built-in 4x4n 802.11n/Bluetooth 5.0 system-on-chip

  • MTK7615 4x4ac wifi on board

  • Support 1 SATA interface

  • MicroSD slot supports up to 256GB expansion

  • 8G eMMC flash (option 16/32/64G)

  • 5 port 10/100/1000 Mb Ethernet port

  • 1 Port USB 3.0

  • Slow I/O:ADC, Audio Amplifier, GPIO, I2C, I2S, IR, PMIC I/F, PWM, RTC, SPI, UART

  • POE function support

Development

Basic Development

Prepare to develop

How to burn image to SD card

How to burn image to onboard eMMC

Network-Configuration

Advanced Development

GPIO

40 Pins Definition

GPIO Control

  • echo xxx > /sys/class/gpio/export

  • echo in/out > /sys/class/gpio/gpioxxx/direction

  • echo 0/1 > /sys/class/gpio/gpioxxx/value

Check the base gpio, you could see mine is 409

For example: if you want to change gpio 22 as out highlevel, you need input commands like this:

  • echo 431(22+409) > /sys/class/gpio/export

  • echo out > /sys/class/gpio/gpio431/direction

  • echo 1 > /sys/class/gpio/gpio431/value

PWM Control

  • echo x >/sys/class/pwm/pwmchip0/export

  • echo 200000 >/sys/class/pwm/pwmchip0/pwmx/period

  • echo 100000 >/sys/class/pwm/pwmchip0/pwmx/duty_cycle

  • echo 1 >/sys/class/pwm/pwmchip0/pwmx/enable

SPI touch panel

SPI Panel module:

2.4" Touch Screen TFT LCD with SPI Interface, 240x320 (ILI9341 + ADS7843/XPT2046/HR2046)

SPI Panel <–> BPIR64

DTS Modification:

Kernel config:

Application:

input-event-daemon config that show image by touch area: (I don't know why are the coordinates so strange, but the result of my actual touch and print out that it is like this)

Banana Pi BPI-R64 SPI touch panel test: https://www.youtube.com/watch?v=ikag-D_TI0g&feature=youtu.be

Sata

  • If you want to use Sata interface on R64, you need to give GPIO90 low level

    • echo 499 > /sys/class/gpio/export

    • echo out > /sys/class/gpio/gpio499/direction

    • echo 0 > /sys/class/gpio/gpio499/value

  • Test a TOSHIBA HDD DISK, the Read/Write performance are below:

Read from disk: 50MB/s command: dd if=/dev/sda of=/dev/null bs=1M count=1024Write to disk: 38MB/s command: dd if=/dev/zero of=/dev/sda bs=1M count=1024

  • Test a SAMSUNG SSD DISK, the Read/Write performance are below:

Read from disk: 360MB/s command: dd if=/dev/sda of=/dev/null bs=1M count=1024Write to disk: 200MB/s command: dd if=/dev/zero of=/dev/sda bs=1M count=1024

PCIe

  • If you want to use PCIe interface on R64, you need to give GPIO90 high level

    • echo 499 > /sys/class/gpio/export

    • echo out > /sys/class/gpio/gpio499/direction

    • echo 1 > /sys/class/gpio/gpio499/value

  • PCIe supports EC-25 4G module.

GMAC

Use iperf3 to test gmac

1. On PC Terminal:

  • Execute "iperf3 -s"

2. On R64 console:

  • TCP test: "iperf3 -c serverIP"

  • UDP test: "iperf3 -u -c serverIP"

BT & BLE on R64

R64 BT Architectural

  • BLE on R64

  • Input Command "btmw-test", you will enter to "btmw_test_cli" command line

  • Here are some example commands:

    • MW_GAP name 7622_BT /*rename bt device*/

    • MW_GAP info /*check local BT device info*/

    • MW_GATTC scan /* start ble scan*/

    • MW_GATTC stop_scan /* stop ble scan*/

R64 LAN Function

  • LAN eth interface is eth2, use "ifconfig eth2 up" to enable it.

  • Config the ip, "ifconfig eth2 192.168.1.1".

  • Config your dhcp server, "vim /etc/dhcp/dhcpd.conf", add these configurations.

  • Start dhcp server, "dhcpd eth2".

  • then config iptables and set package forward.

    • Add "net.ipv4.ip_forward=1" to "/etc/sysctl.conf"

    • "/sbin/sysctl -p" to make forward work

    • "iptables -t nat -A POSTROUTING -s 192.168.1.1/24 -o eth3 -j MASQUERADE"

Ap mode on R64

  • Find "mt_wifi.ko" and insmod it.

    • insmod ./lib/modules/4.4.92-BPI-R64-Kernel/extra/mt_wifi.ko

  • Then you will see ra0 and rai0.

  • ra0 is MT7622 2.4G wifi

  • rai0 is MT7615 5G wifi

2.4G WiFi

  • Use "ifconfig ra0 up" to enable it.

  • Config the ip, "ifconfig ra0 192.168.1.1".

  • Config your dhcp server, "vim /etc/dhcp/dhcpd.conf", add these configurations.

  • Start dhcp server, "dhcpd ra0".

  • then config iptables and set package forward.

    • Add "net.ipv4.ip_forward=1" to "/etc/sysctl.conf"

    • "/sbin/sysctl -p" to make forward work

    • "iptables -t nat -A POSTROUTING -s 192.168.1.1/24 -o eth3 -j MASQUERADE"

5G WiFi

  • Use "ifconfig rai0 up" to enable it.

  • Config the ip, "ifconfig rai0 192.168.1.1".

  • Config your dhcp server, "vim /etc/dhcp/dhcpd.conf", add these configurations.

  • Start dhcp server, "dhcpd rai0".

  • then config iptables and set package forward.

    • Add "net.ipv4.ip_forward=1" to "/etc/sysctl.conf"

    • "/sbin/sysctl -p" to make forward work

    • "iptables -t nat -A POSTROUTING -s 192.168.1.1/24 -o eth3 -j MASQUERADE"

FAQ

  • MT7622 Reference Manual for Develope Board(BPi)

Google Drive:https://drive.google.com/open?id=1UhaIM9ork1O9cNO-t6ENMVVamB75AThVBaiDu Drive:https://pan.baidu.com/s/1KduFT2MUvMs2FhOF4A8kQQ

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

Last updated

Was this helpful?