BPI-R2 Board Bring-up
5 5

57 posts in this topic

Recommended Posts

Hi all,

 

I tried to share my experience about how to burn preloader/uboot/OpenWRT image, and then boot from eMMC on BPI-R2...

 

1.Download flash tool from https://spflashtool.com/

windows: https://spflashtool.com/download/SP_Flash_Tool_v5.1628_Win.zip 

linux: https://spflashtool.com/download/SP_Flash_Tool_exe_Linux_64Bit_v5.1520.00.100.zip

 

2. Install MT65xx drivers for your windows PC. You need to install drivers in order to connect your device properlyhttps://spflashtool.com/download/MediaTek_USB_VCOM_drivers.zip

 


3. Hardware setup before starting up hacking the board

 

1b2ee7abd75b765e764f8714bb73d935573fba89_1_690x388.jpg
 

1) use 12v power adaptor

2) use micro usb to supply extra power when developing on the board that would help reload the images through flash tool (will be introduced in section 4 as the following) just by power off/on to the board manually after images are all selected done.

3) use console to retrieve the log for debugging purpose

4) that is wan port

5) that is lan3 port, so the intermediate ports are listed as lan0, lan1, lan2, and lan3 reviewing from wan port

 

4.Flash tool configuration

 

6ea52d632e4175414e1a2004db0a22e637c46a0b_1_690x450.png
 

1) download agent: MTK_AllInOne_DA.bin

2) BPI-R2_OpenWRT_scatter.txt ( https://drive.google.com/open?id=0B6wnb6XNnEQVUXFYWXNUVlFTbnpWVGNPV2NnaEZjX2xjRTZv )

3) Images

    - Preloader: preloader_iotg7623Np1_emmc.bin ( https://drive.google.com/open?id=0B6wnb6XNnEQVTHZiazNzaGduZVh3VkxBQVRBOFRRYmN1MWt3 )

    - GPT (named MBR here): MBR ( https://drive.google.com/open?id=0B6wnb6XNnEQVcEhDWTJ3NnZ5V3ZiTVlBQl81VkZtRndKeXFJ )

    - Uboot: mt7623_lzma.uboot ( https://drive.google.com/open?id=0B6wnb6XNnEQVVWdDa0FGTGlQUnNWNmg1OENzRkplN1JVeWxV )

    - BOOTIMG: lede-mediatek-32-uImage-mt7623n-bananapi-bpi-r2-initramfs ( https://drive.google.com/open?id=0B6wnb6XNnEQVMXRJV1ZLZkVqYl9td3FlTWR0bERJeEtoRFlZ )

4) press download button on Flash tool

5) power off BPI-R2

6) power on BPI-R2, and then flash tool will update image automatically.

5 system hang here after upgrading images.

 

56dabc50fb7dff4bd7b1a857f31c61462e360e7a_1_690x325.png
 

6 try to power off BPI-R2, and on. finally, you can boot from eMMC and see uboot menu. please choose 1 to download OpenWRT FW via TFTP server (e.g., Tftpd64)

Spoiler

Please Input new setting /or enter to choose the default setting
        Input kernel file name (lede-mediatek-32-uImage-mt7623n-bananapi-bpi-r2-initramfs) ==:
        Input server IP (192.168.1.8) ==:
        Input device IP (\) ==:192.168.1.100
setting changed , saveenv
dev_num = 0
Writing to MMC(0)... offset=1536
size=4096
mmc->write_bl_len=512
done
Enter mt7623_ethifsys_init()
[mt7623_pinmux_set]start
[mt7623_pinmux_set]end
 
Waitting for RX_DMA_BUSY status Start... done
 
Enter setup_internal_gsw()
MT7530 Reset Completed!!
change HW-TRAP to 0x1015edf
Release MT7623 RXC Reset
set LAN/WAN LLLLW
Using mtk_eth device
TFTP from server 192.168.1.8; our IP address is 192.168.1.100
Filename 'lede-mediatek-32-uImage-mt7623n-bananapi-bpi-r2-initramfs'.
Load address: 0x84000000
Loading: T #################################################################
         #################################################################
         #################################################################
         #################################################################
         ############################
         577.1 KiB/s
done
Bytes transferred = 4225536 (407a00 hex)
get filesize 0x407a00
bootm flag=0, states=70f
## Booting kernel from Legacy Image at 84000000 ...
   Image Name:   MIPS OpenWrt Linux-4.9.44
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4225472 Bytes = 4 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
 
Starting kernel ...
 
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.9.44 (moore@worker) (gcc version 5.4.0 (LEDE GCC 5.4.0 r4709-5a22df6) ) #0 SMP PREEMPT Mon Aug 21 19:29:52 2017
[    0.000000] CPU: ARMv7 Processor [410fc073] revision 3 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt:Machine model: Bananapi BPI-R2
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] percpu: Embedded 13 pages/cpu @dfbb1000 s21196 r8192 d23860 u53248
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
[    0.000000] Kernel command line:  earlyprintk console=ttyS0,115200 rootfstype=squashfs,jffs2
[    0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Memory: 506432K/524288K available (3836K kernel code, 153K rwdata, 1148K rodata, 7380K init, 364K bss, 17856K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc03c7494   (3838 kB)
[    0.000000]       .init : 0xc0507000 - 0xc0c3c000   (7380 kB)
[    0.000000]       .data : 0xc0c3c000 - 0xc0c62740   ( 154 kB)
[    0.000000]        .bss : 0xc0c62740 - 0xc0cbd9e8   ( 365 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  Build-time adjustment of leaf fanout to 32.
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000000] arm_arch_timer: Architected cp15 timer(s) running at 13.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2ff89eacb, max_idle_ns: 440795202429 ns
[    0.000005] sched_clock: 56 bits at 13MHz, resolution 76ns, wraps every 4398046511101ns
[    0.000017] Switching to timer-based delay loop, resolution 76ns
[    0.000135] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 147020034397 ns
[    0.000151] sched_clock: 32 bits at 13MHz, resolution 76ns, wraps every 165191050201ns
[    0.000327] Calibrating delay loop (skipped), value calculated using timer frequency.. 26.00 BogoMIPS (lpj=130000)
[    0.000342] pid_max: default: 32768 minimum: 301
[    0.000429] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000440] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000904] CPU: Testing write buffer coherency: ok
[    0.001156] Setting up static identity map for 0x800081e0 - 0x80008238
[    0.360508] Brought up 4 CPUs
[    0.360522] SMP: Total of 4 processors activated (104.00 BogoMIPS).
[    0.360530] CPU: All CPU(s) started in SVC mode.
[    0.366814] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 3
[    0.367082] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.367104] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.367228] pinctrl core: initialized pinctrl subsystem
[    0.367988] NET: Registered protocol family 16
[    0.368196] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.369229] No ATAGs?
[    0.421733] usbcore: registered new interface driver usbfs
[    0.421801] usbcore: registered new interface driver hub
[    0.421882] usbcore: registered new device driver usb
[    0.423239] clocksource: Switched to clocksource arch_sys_counter
[    0.424524] NET: Registered protocol family 2
[    0.425096] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[    0.425146] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[    0.425207] TCP: Hash tables configured (established 4096 bind 4096)
[    0.425251] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.425279] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.425437] NET: Registered protocol family 1
[    0.485192] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[    0.489761] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.489772] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.493915] io scheduler noop registered
[    0.493929] io scheduler deadline registered (default)
[    0.496964] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    0.498039] console [ttyS0] disabled
[    0.518266] 11004000.serial: ttyS0 at MMIO 0x11004000 (irq = 194, base_baud = 1625000) is a ST16650V2
[    0.960830] console [ttyS0] enabled
[    0.964816] mtk_rng 1020f000.rng: registered RNG driver
[    0.970711] mt6323-regulator mt6323-regulator: Chip ID = 0x2023
[    0.987038] libphy: Fixed MDIO Bus: probed
[    0.991192] libphy: mdio_driver_register: mt7530
[    1.018467] mtk_soc_eth 1b100000.ethernet: chip id = 7623
[    1.024036] libphy: mdio: probed
[    1.027257] mdio_bus mdio-bus:00: mdio_device_register
[    1.032594] DSA ok moore debug
[    1.035562] _dsa_register_switch 632
[    1.039106] _dsa_register_switch 641
[    1.042661] _dsa_register_switch 648
[    1.046219] _dsa_register_switch 662
[    1.049762] _dsa_register_switch 673
[    1.053323] _dsa_register_switch 685
[    1.056865] _dsa_register_switch 692
[    1.060582] mtk_soc_eth 1b100000.ethernet: generated random MAC address ea:be:c4:89:0c:77
[    1.074451] mtk_soc_eth 1b100000.ethernet: connected mac 0 to PHY at fixed-0:00 [uid=00000000, driver=Generic PHY]
[    1.085333] mtk_soc_eth 1b100000.ethernet eth0: mediatek frame engine at 0xe08e0000, irq 205
[    1.094267] 1a1c0000.usb supply vbus not found, using dummy regulator
[    1.101232] xhci-mtk 1a1c0000.usb: xHCI Host Controller
[    1.106496] xhci-mtk 1a1c0000.usb: new USB bus registered, assigned bus number 1
[    1.114119] xhci-mtk 1a1c0000.usb: hcc params 0x01401198 hci version 0x96 quirks 0x00210010
[    1.122462] xhci-mtk 1a1c0000.usb: irq 203, io mem 0x1a1c0000
[    1.128882] hub 1-0:1.0: USB hub found
[    1.132632] hub 1-0:1.0: 1 port detected
[    1.136899] xhci-mtk 1a1c0000.usb: xHCI Host Controller
[    1.142090] xhci-mtk 1a1c0000.usb: new USB bus registered, assigned bus number 2
[    1.149535] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.158158] hub 2-0:1.0: USB hub found
[    1.161904] hub 2-0:1.0: 1 port detected
[    1.166280] 1a240000.usb supply vbus not found, using dummy regulator
[    1.173208] xhci-mtk 1a240000.usb: xHCI Host Controller
[    1.178433] xhci-mtk 1a240000.usb: new USB bus registered, assigned bus number 3
[    1.186034] xhci-mtk 1a240000.usb: hcc params 0x01401198 hci version 0x96 quirks 0x00210010
[    1.194386] xhci-mtk 1a240000.usb: irq 204, io mem 0x1a240000
[    1.200711] hub 3-0:1.0: USB hub found
[    1.204480] hub 3-0:1.0: 1 port detected
[    1.208722] xhci-mtk 1a240000.usb: xHCI Host Controller
[    1.213934] xhci-mtk 1a240000.usb: new USB bus registered, assigned bus number 4
[    1.221334] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.229955] hub 4-0:1.0: USB hub found
[    1.233720] hub 4-0:1.0: 1 port detected
[    1.238051] i2c /dev entries driver
[    1.242837] mtk-thermal 1100b000.thermal: Device not calibrated, using default calibration values
[    1.252526] mtk-wdt 10007000.watchdog: Watchdog enabled (timeout=31 sec, nowayout=0)
[    1.260502] sdhci: Secure Digital Host Controller Interface driver
[    1.266650] sdhci: Copyright(c) Pierre Ossman
[    1.323891] mtk-msdc 11240000.mmc: Got CD GPIO
[    1.378016] mmc0: new high speed MMC card at address 0001
[    1.383957] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.391783] NET: Registered protocol family 10
[    1.396492] mmcblk0: mmc0:0001 8WPD3R 7.28 GiB
[    1.401288] mmcblk0boot0: mmc0:0001 8WPD3R partition 1 4.00 MiB
[    1.407452] mmcblk0boot1: mmc0:0001 8WPD3R partition 2 4.00 MiB
[    1.408635] mmcblk0rpmb: mmc0:0001 8WPD3R partition 3 512 KiB
[    1.411129]  mmcblk0: p2 p3
[    1.423984] NET: Registered protocol family 17
[    1.428561] 8021q: 802.1Q VLAN Support v1.8
[    1.432768] ThumbEE CPU extension supported.
[    1.437045] Registering SWP/SWPB emulation handler
[    1.455838] _dsa_register_switch 632
[    1.459383] _dsa_register_switch 641
[    1.462939] _dsa_register_switch 648
[    1.466498] _dsa_register_switch 662
[    1.470041] _dsa_register_switch 673
[    1.473598] _dsa_register_switch 685
[    1.477140] _dsa_register_switch 692
[    1.480717] DSA: switch 0 0 parsed
[    1.484103] DSA: tree 0 parsed
[    1.487129] _dsa_register_switch 698
[    1.524025] libphy: dsa slave smi: probed
[    1.528985] Generic PHY dsa-0.0:00: attached PHY driver [Generic PHY] (mii_bus:phy_addr=dsa-0.0:00, irq=-1)
[    1.539532] Generic PHY dsa-0.0:01: attached PHY driver [Generic PHY] (mii_bus:phy_addr=dsa-0.0:01, irq=-1)
[    1.550040] Generic PHY dsa-0.0:02: attached PHY driver [Generic PHY] (mii_bus:phy_addr=dsa-0.0:02, irq=-1)
[    1.560549] Generic PHY dsa-0.0:03: attached PHY driver [Generic PHY] (mii_bus:phy_addr=dsa-0.0:03, irq=-1)
[    1.571049] Generic PHY dsa-0.0:04: attached PHY driver [Generic PHY] (mii_bus:phy_addr=dsa-0.0:04, irq=-1)
[    1.588031] _dsa_register_switch 706
[    1.591869] hctosys: unable to open rtc device (rtc0)
[    1.597123] clk: Not disabling unused clocks
[    1.601389] vmc: disabling
[    1.604283] vgp1: disabling
[    1.607080] vcamaf: disabling
[    1.622870] Freeing unused kernel memory: 7380K
[    1.627402] This architecture does not have kernel memory protection.
[    1.640348] init: Console is alive
[    1.644495] init: - watchdog -
[    1.653436] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    1.663409] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    1.681103] init: - preinit -
[    1.714958] mtk_soc_eth 1b100000.ethernet eth0: rx pause enabled, tx pause enabled
[    1.722233] IPv6: ADDRCONF(NETDEV_UP): lan1: link is not ready
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
[    2.793501] mt7530 mdio-bus:00 lan1: Link is Down
[    3.783504] procd: - early -
[    3.786418] procd: - watchdog -
[    4.400479] procd: - watchdog -
[    4.404438] procd: - ubus -
[    4.457289] random: ubusd: uninitialized urandom read (4 bytes read)
[    4.463809] random: ubusd: uninitialized urandom read (4 bytes read)
[    4.470129] random: ubusd: uninitialized urandom read (4 bytes read)
[    4.476578] random: ubusd: uninitialized urandom read (4 bytes read)
[    4.482891] random: ubusd: uninitialized urandom read (4 bytes read)
[    4.489334] random: ubusd: uninitialized urandom read (4 bytes read)
[    4.495748] random: ubusd: uninitialized urandom read (4 bytes read)
[    4.502238] procd: - init -
Please press Enter to activate this console.
[    4.575095] kmodloader: loading kernel modules from /etc/modules.d/*
[    4.583403] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    4.591870] Loading modules backported from Linux version wt-2017-01-31-0-ge882dff19e7f
[    4.599915] Backport generated by backports.git backports-20160324-13-g24da7d3c
[    4.634122] ip_tables: (C) 2000-2006 Netfilter Core Team
[    4.642699] nf_conntrack version 0.5.0 (8192 buckets, 32768 max)
[    4.665877] xt_time: kernel timezone is -0000
[    4.673774] PPP generic driver version 2.4.2
[    4.679045] NET: Registered protocol family 24
[    4.685025] kmodloader: done loading kernel modules from /etc/modules.d/*
[    5.737839] random: jshn: uninitialized urandom read (4 bytes read)
[    5.762257] random: jshn: uninitialized urandom read (4 bytes read)
[    5.781681] random: jshn: uninitialized urandom read (4 bytes read)
[    7.141107] mtk_soc_eth 1b100000.ethernet eth0: rx pause enabled, tx pause enabled
[    7.145594] br-lan: port 1(lan0) entered blocking state
[    7.145615] br-lan: port 1(lan0) entered disabled state
[    7.146205] device lan0 entered promiscuous mode
[    7.146209] device eth0 entered promiscuous mode
[    7.148574] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[    7.176305] br-lan: port 2(lan1) entered blocking state
[    7.181509] br-lan: port 2(lan1) entered disabled state
[    7.187982] device lan1 entered promiscuous mode
[    7.198278] br-lan: port 3(lan2) entered blocking state
[    7.203525] br-lan: port 3(lan2) entered disabled state
[    7.209741] device lan2 entered promiscuous mode
[    7.219657] br-lan: port 4(lan3) entered blocking state
[    7.224901] br-lan: port 4(lan3) entered disabled state
[    7.231149] device lan3 entered promiscuous mode
[    8.233623] mt7530 mdio-bus:00 lan3: Link is Down
[    8.238519] mt7530 mdio-bus:00 lan2: Link is Down
[    8.243422] mt7530 mdio-bus:00 lan0: Link is Down
[   11.354244] mt7530 mdio-bus:00 lan2: Link is Up - 1Gbps/Full - flow control rx/tx
[   11.361913] br-lan: port 3(lan2) entered blocking state
[   11.367128] br-lan: port 3(lan2) entered forwarding state
[   11.373010] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
 
 
 
BusyBox v1.26.2 () built-in shell (ash)
 
     _________
    /        /\      _    ___ ___  ___
   /  LE    /  \    | |  | __|   \| __|
  /    DE  /    \   | |__| _|| |) | _|
/________/  LE  \  |____|___|___/|___|                      lede-project.org
\        \   DE /
  \    LE  \    /  -----------------------------------------------------------
   \  DE    \  /    Reboot (SNAPSHOT, r4709-5a22df6)
    \________\/    -----------------------------------------------------------
 
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@LEDE:/# ifconfig
br-lan    Link encap:Ethernet  HWaddr EA:BE:C4:89:0C:77
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fd47:382d:ba2f::1/60 Scope:Global
          inet6 addr: fe80::e8be:c4ff:fe89:c77/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:21 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1500 (1.4 KiB)  TX bytes:1658 (1.6 KiB)
 
eth0      Link encap:Ethernet  HWaddr EA:BE:C4:89:0C:77
          inet6 addr: fe80::e8be:c4ff:fe89:c77/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:21 errors:0 dropped:0 overruns:0 frame:0
          TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1878 (1.8 KiB)  TX bytes:3620 (3.5 KiB)
          Interrupt:205
 
lan0      Link encap:Ethernet  HWaddr EA:BE:C4:89:0C:77
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 
lan1      Link encap:Ethernet  HWaddr EA:BE:C4:89:0C:77
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 
lan2      Link encap:Ethernet  HWaddr EA:BE:C4:89:0C:77
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:21 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1348 (1.3 KiB)  TX bytes:1658 (1.6 KiB)
 
lan3      Link encap:Ethernet  HWaddr EA:BE:C4:89:0C:77
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:576 (576.0 B)  TX bytes:576 (576.0 B)
 
root@LEDE:/# brctl show br0
bridge name     bridge id               STP enabled     interfaces
br-lan          7fff.eabec4890c77       no              lan0
                                                                          lan1
                                                                          lan2
                                                                          lan3

 

 

Edited by Tido
Moved to "general chit chat" since it's not an Armbian board bring up thread | added spoiler and code-block
Lion Wang and Ryder.Lee like this

Share this post


Link to post
Share on other sites

BPI-R2 new Image :2017-09-04-ubuntu-16.04-mate-desktop-bpi-r2-sd-emmc-v1.2.0.img.zip

http://forum.banana-pi.org/t/bpi-r2-new-image-ubuntu-16-04-mate-desktop-bpi-r2-sd-emmc-v1-2-0-img-zip-2017-09-04/3783/1

 

BPI-R2 with BPI-7615(based on MT7615) module development progress

http://forum.banana-pi.org/t/bpi-r2-with-bpi-7615-based-on-mt7615-module-development-progress/3796

 

BPI-R2 New image : Openwrt/LEDE 2017-09-08

http://forum.banana-pi.org/t/bpi-r2-new-image-openwrt-lede-2017-09-08/3797

Share this post


Link to post
Share on other sites

Below is the performance of IP forwarding over GMACs(eth0 and eth1):

Single direction flow

59b7a41f69edf_eth0test.png.ef90a505bd69ce7d24242b01666a99bb.png

Bidirection flow

59b7a43a394c5_eth1test.png.add821b3993236d3c16806d8cb565389.png

Statistics on R2 board:
  root@LEDE:/proc/irq/70# ifconfig 
 

   eth0      Link encap:Ethernet  HWaddr EE:86:59:C8:EB:3A  
              inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
              inet6 addr: fe80::ec86:59ff:fec8:eb3a/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:26822854 errors:0 dropped:0 overruns:0 frame:0
              TX packets:37617944 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:35021520367 (32.6 GiB)  TX bytes:49849909918 (46.4 GiB)
              Interrupt:68 
    eth1      Link encap:Ethernet  HWaddr 8E:3B:FE:FC:EA:BE  
              inet addr:192.168.10.1  Bcast:192.168.10.255  Mask:255.255.255.0
              inet6 addr: fe80::8c3b:feff:fefc:eabe/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:37621811 errors:0 dropped:0 overruns:0 frame:0
              TX packets:26821988 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:49699772484 (46.2 GiB)  TX bytes:35127932237 (32.7 GiB)
              Interrupt:68

 

Share this post


Link to post
Share on other sites

we test  a SAMSUNG SSD DISK, the Read/Write performance are below:

(1) Read from disk: 230MB/s (command: dd if=/dev/sda of=/dev/zero bs=1M count=10240)

(2) Write to disk: 192MB/s (command: dd if=/dev/zero of=/dev/sda bs=1M count=1024 oflag=direct)

Share this post


Link to post
Share on other sites

For anyone really interested in hardware/software capabilities and progress better ignore the manufacturer copy&paste spam above and visit BPi R2 forum instead: http://forum.banana-pi.org/c/Banana-Pi-BPI-R2

 

There you find the iperf numbers, the poor SATA performance, R2 suffering from the same problem as R1 and also people desperately asking for SinoVoip's most hidden secret: their proprietary battery connector they don't want you to use.

 

The R2 uses an ASM1062 PCIe controller to provide SATA (dual lane capable, just one lane used). Only 230MB/s with 1M block size would be pretty slow -- see here results also with 'Samsung SSD' and a similar PCIe 2.0 x1 connection on Clearfog: https://forum.armbian.com/index.php?/topic/4845-marvell-based-4-ports-mpci-sata-30/&do=findComment&comment=37740 -- but since SinoVoip's testing methodology is unknown (is the SSD able to exceed 500 MB/s or is it an old and slow one?) and somewhat sucks (only testing sequential speed and this with the wrong tools) maybe R2 is able to achieve normal ASM106x SATA performance behind a single PCIe lane (that's around 380 MB/s). If not maybe PCIe bandwidth is limited (check thread above, that's for example the case with i.MX6 platform)

 

Share this post


Link to post
Share on other sites
5 minutes ago, tkaiser said:

There you find the iperf numbers, the poor SATA performance, R2 suffering from the same problem as R1 and also people desperately asking for SinoVoip's most hidden secret: their proprietary battery connector they don't want you to use.

 

We're just documenting some of the real data that we've gotten in the development process.Let everyone have a reference, also hope more help us to test.:)

The test of hardware performance is sometimes very much related to the test environment, and we try our best to test our overall hardware performance to meet the requirements of chip design

Share this post


Link to post
Share on other sites

Read that 4.14 will have additional ARM Board Support including some Banana Pi products ..

Among the new ARM boards supported are for the Beaglebone X15 Rev C (TI AM57xx), Raspberry Pi Zero W, D-Link DIR-685 router (Gemini-based), Banana Pi R2 (MT7623), Cubietruck Plus, Banana Pi M3/M2M/M64, NanoPi A64, A64-OLinuXino, Pine64, Rockchip RK3328 Pine64/Rock64 support, ZTE ZX296718 PCBOX Board, and others.

 

link: 

https://www.phoronix.com/scan.php?page=news_item&px=ARM-Hardware-Linux-4.14

Share this post


Link to post
Share on other sites
On 12.9.2017 at 12:02 PM, Lion Wang said:

We're just documenting some of the real data that we've gotten in the development process.Let everyone have a reference, also hope more help us to test.:)

The test of hardware performance is sometimes very much related to the test environment, and we try our best to test our overall hardware performance to meet the requirements of chip design

 

Congratulations: http://archive.is/osCuS

 

Cortex-A5 (!), 'it can easily run with the game it support...' (WTF?), on the 'hardware spec' page you're talking about '1 pcie 2.0 interface' and '1* M.2 interface' (which is absolutely meaningless), '2x USB 2.0 OTG' (while it's host), somewhere else PCIe 2.0 becomes 2.2 which does not exist... and so on...

 

Regardless whether your hardware is good or not by providing such an insane collection of BS and still allowing your copy&paste monkey to spit out random words without meaning you prevent anyone right in his mind to support your products (and it's also very hard to believe that this is hardware you designed). Why don't you hire someone able to write technical documentation?

Share this post


Link to post
Share on other sites

 

12 minutes ago, ReneHegewald said:

does BPI-R2 Support Armbian ?


The right question is: Does Armbian support R2. No.

Share this post


Link to post
Share on other sites

BPI-R2 in Armbian forun has been as a thunderstorm.  It is sad things are not in good terms, as the machine looks nice and I am sure that it could have a nice horizon with Armbian.

 

I am working a security device on these devices (an appliance containing a small network), and by now, this is the best hardware option available:  eMMc, many gigabit ethernet ports (two different networks and, in the future, different VPNs in one of them), USB 3, 2 GB RAM, SATA support, 12V power, GPIO, etc... for less than $100.

 

It is clear that the machine is a new one and it has some problems, but it is possible to deal with them.

 

- Wrong number in the partition configuration when trying to boot from eMMc fix:(http://forum.banana-pi.org/t/cant-boot-from-emmc/3826)

- Have no idea how to turn on a connected FAN in the FAN socket, although the secondary SATA has 5v and 12v and there are the GPIO pins.

- Very long time pressing the power button for the machine to start - optional fix (soldering): (http://forum.banana-pi.org/t/bpi-r2-boot-power-suppy/3647/22)

- Two SATA interfaces in the same SoC line (as a workaround, use a SATA and a USB disk, not two SATA)

- The software distribution from BPI is a mix of things ... there are even parts for Raspberry that I am sure have no relationship with the R2.  Here the grease must be cleaned.

 

There are other details, but I really don't care on them.  The machine form factor it is not really to make an entertainment center, and the only I need is to be able to check the console with the debug pins or to connect through the network.

 

If BPI and MTK could create a server distribution and not the full Mate based Ubuntu, would be very useful.  And there is a LEDE available also, although it is a different point of view.

 

--

P.S. I am waiting for some machines to make a deeper test.  In this moment I have an OPi Zero in the entrance point, so I can't check the total bandwidth ... later I will provide more data, including my own disk throughput tests.

Lion Wang likes this

Share this post


Link to post
Share on other sites

Here are some numbers:

 

iozone -a -g 4000m -s 400m -i 0 -i 1 -r 4K 

              kB  reclen    write  rewrite    read    reread                                                  
          409600       4   155162   175241   583219   583597
          819200       4   153467   165512   583362   585346                                             
         1638400       4   151321   160254   259718   509318                                            
         3276800       4   154243   161490   249181   248769

iozone -a -g 4000m -s 400m -i 0 -i 1 -r 1024K  

              kB  reclen    write  rewrite    read    reread
          409600    1024   156180   178749   555343   557200                                             
          819200    1024   153312   171974   555450   557801                                             
         1638400    1024   155625   164754   373269   507221                                             
         3276800    1024   156104   159858   223787   224892                                                           

iozone -O -i 0 -i 1 -i 2 -e -+n -r 4K -s 2000m

                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
         2048000       4    38119        0    62234        0     9654    22192

I didn't change any performance parameter for the CPU as in previous tests with Legacy Armbian Kernel, because I really don't know how to do that on 4.4.70.

 

The disk is a SanDisk SSD Z400s.  I don't have at hand tests using this SSD and the OPI NAS (I made some tests with a WD Blue hard disk).  But in general, and checking other tests on the Armbian site, the NAS test limit was defined by the USB 2.0 limiting bandwidth, not the disk.

 

Knowing all these differences, this machine is around 348% faster writing and 1725% faster reading that an OPI Zero with the NAS expansion.  It is also possible that this kernel is not well tuned, but it is clear that the machine is faster using the SATA interface.  

 

Then there are the own disk limitations (https://www.sandisk.com/business/computing/z400s)

 

Sequential laboratory Read/Write up to 546/342MB/s ... so reading it is around the hard disk full speed, although writing is only using half disk speed (something to take into consideration).

 

Share this post


Link to post
Share on other sites

Worried about machine disk cache ...

 

swapoff -a

hdparm -W 0 /dev/sda2 

 

iozone -a -g 4000m -s 400m -i 0 -i 1 -r 4K                                                                                
                 
              kB  reclen    write  rewrite    read    reread 
          409600       4   149466   161515   579029   580156
          819200       4   145173   152286   577471   580769
         1638400       4   143195   145771   398831   552196
         3276800       4   138856   144754   249275   250088 

iozone -a -g 4000m -s 400m -i 0 -i 1 -r 1024K 

              kB  reclen    write  rewrite    read    reread    
          409600    1024   153636   163101   552258   555698
          819200    1024   143936   148538   554790   556472
         1638400    1024   140781   146167   415373   530808
         3276800    1024   141351   144649   228767   228786

iozone -O -i 0 -i 1 -i 2 -e -+n -r 4K -s 2000m 

                                                              random    random  
              kB  reclen    write  rewrite    read    reread    read     write     
         2048000       4    34323        0    63103        0     9124      829 

I didn't notice the big drop in speed with the last line on iozone.  But, what this mean?  Writing it is almost the same all the time with or without cache (maybe this is because of the SSD factor).  Then, it seems that, when using this particular machine, it is better to use bigger blocks but to control the file size (if possible), for being around 1638400 KB (more precise tests to check the particular number where this reduce so much the speed are needed).

The really troublesome element is the last test with the random write and without disk cache.  Why is this so important in this case?  Could be another type of problem?

 

Share this post


Link to post
Share on other sites
8 hours ago, malvcr said:

Knowing all these differences, this machine is around 348% faster writing and 1725% faster reading that an OPI Zero with the NAS expansion.  It is also possible that this kernel is not well tuned, but it is clear that the machine is faster using the SATA interface.  

Compare against the cheapest possible solution isn't really smart.. I think you should compare it again boards which are in the same price class... Espressobin, Hummingboard 2 and Clearfog PRO will outperform it..

or the ROCK64 with usb sata bridge...

Without a -I in your iozone tests.....

 

I would recommend that you do more or less the same tests which are done on other armbian devices.. A classical one for iozone is this one:

'iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2'

As you can see... This board led to horrible discussions here.. We had to close a thread cause it runned out of control. I appreciate your efforts to deliver some data, but it would be nice if they are comparable with the data, we have from other boards. Do you have a possibility to test the boards USB3 capability? In the beginnings speed there was a little bit low.. Would be nice to see if they made improvements or not. 

Share this post


Link to post
Share on other sites
15 hours ago, malvcr said:

reading it is around the hard disk full speed

 

If you think about how SATA is implemented here (ASM1062 attached via PCIe) it should be obvious that your numbers are too high (benchmarking gone wrong). In case you want to produce another set of numbers follow @chwe advise but also check with one test using a test size 3 times the available DRAM:

iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
iozone -e -I -a -s 6000M -r 16384k -i 0 -i 1 -i 2

If results for 16M blocksize match when testing with 100M and 6000M filesize you know that you don't need to throw the 100M numbers away. But it's still just numbers without meaning since to get the device's capabilities you would need to switch to performance cpufreq governor (otherwise if cpufreq scaling is implemented most probably zero optimizations have been applied) and if the available OS images generally don't take care about performance (eg. default IRQ affinity or using the 'wrong' cpufreq scaling settings) then benchmarks now show nice numbers but later in reality you suffer from bad performance (eg. since CPU cores don't clock up when needed and all IRQs being processed on cpu0).

 

Share this post


Link to post
Share on other sites
18 hours ago, malvcr said:

(https://www.sandisk.com/business/computing/z400s)

 

Sequential laboratory Read/Write up to 546/342MB/s

BTW: This is marketing BS or 'technical documentation done like BPi is doing it' (copy&paste gone wrong and not caring about this). The 546 MB/s are the theoretical maximum you get with a SATA 3.0 connection (6Gbps + 8b10b encoding) but here we're talking about the SATA controller being behind a single PCIe 2.x lane (6GT/s + 8b10b encoding = 500 MB/s absolute maximum, add the overhead and you get numbers lower) and since on BPi-R2 they chose to use the cheapest controller possible you end up with a maximum of ~400MB/s anyway (see the ASM1062 numbers we made in the linked threads above or anywhere else).

 

Then the SanDisk 'tech specs' show 546/342MB/s for all Z400s models regardless of their capacity which can't be true since with all consumer SSDs it's a known fact that sequential performance gets the better the larger the capacity since the SSD controller will use parallelism to write to more cells at the same time. And of course it's like that, the 128GB variant for example shows a maximum write speed of just 180MB/s and those with less capacity will show a lot lower sequential throughput. So your SSD is already insufficient to test the limitations BPi R2 has wrt SATA storage access but also as already written above this shouldn't matter that much since +100MB/s should be fast enough for most use cases anyway and since SinoVoip OS images don't take care about the few necessary performance tweaks you won't see high real-world storage performance anyway.

Share this post


Link to post
Share on other sites

These are the results for iozone with the new parameters (without the cpufreq governor specified) ... in fact, I didn't have any cpufreq place where to define the governor, so I installed cpufreqd cpufrequtils, but noticed that there is no cpufreq module available.  This mean, the Ubuntu distribution provided is not yet ready (have holes).

But, anyway, the numbers are very different with the new specifications for iozone (included tests with SATA and USB3):

SATA INTERFACE

iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

                                                              random    random
              kB  reclen    write  rewrite    read    reread    read     write
          102400       4     2799     2884    36858    36836    17997     2869
          102400      16    11626    12037    97141    97668    45048    11997
          102400     512   114689   106011   221916   223716   186422   122568
          102400    1024   120423   122761   203629   204082    92840   129277
          102400   16384   122495   142574   253537   255011   236196   133064   

iozone -e -I -a -s 6000M -r 16384k -i 0 -i 1 -i 2
                                                              random    random  
              kB  reclen    write  rewrite    read    reread    read     write  
         6144000   16384   133880   133305   258242   258276   255023   130570 

USB3 INTERFACE (with a Seagate Plus Portable Drive using USB3 interface)

iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2

                                                              random    random 
              kB  reclen    write  rewrite    read    reread    read     write 
          102400       4    11774    18878    16123    16102      517     2879
          102400      16    37521    53680    37446    37280     2031     8850
          102400     512    56314    54322    60220    62229    36569    45161
          102400    1024    54660    55310    59720    60348    52624    48325
          102400   16384   105629   112361   119853   113174   110712   107491

iozone -e -I -a -s 6000M -r 16384k -i 0 -i 1 -i 2

                                                              random    random    
              kB  reclen    write  rewrite    read    reread    read     write    
         6144000   16384   117796   117946   118558   118424   104536    98876    

I was writing about the other machines ... let me check them more carefully before providing a better feedback.

 

The only I will advance now, is that the BPI-R2, in particular because of the SATA using only one PCIE line, is that the machine is medium-range category.

 

 

 

Share this post


Link to post
Share on other sites

A38X ClearFog

 

I think I understand now this board.

- It is not an integrated board, but a "carrier" based one.  You purchase the carrier board and the SOM (System on Module) to make it to works as you expect.

It uses only one line for mSATA interface, the same as the R2.  Then, why the difference in speed?

It is necessary to add a mSATA to SATA adaptor to connect standard SATA drives, or to use mSATA drives.  And uBoot must be modified to allow the PCIe slot to work as mSATA.

 

- SolidRun Armada SOM A388 with eMMC : $69

- With ClearFog Base Carrier $129

- With ClearFog Pro Carrier $189

 

HummingBoard Edge

 

Similar scenario than ClearFog (using SOM).

- Only has 1 ethernet

- Quad 1 GHz NXP i.MX6 version 2GB RAM and 8GB eMMC: $191

- Needs M.2 to SATA adapter

- No USB 3.0 (only 2.0)

 

For a multi-ethernet scenario with storage, the HummingBoard is limited by the lack of native multiple RJ45 and USB 2.0 (where the second ethernet could be attached).

When only needing two ethernet, the ClearFog with Base Carrier seems to be enough.  Cost is around 50% higher than the R2.  And the Pro around 100% higher.

 

ROCK64 ... not yet available for purchase (ships until November 3 if purchased in October 16 - Pine has their history on delays)

 

- $60.89 without shipping ( 2GB version + 16 GB eMMC + USB-SATA cable ) ~ still lacks a secondary ethernet.

- It only has one USB3 port, so the bandwidth must be shared between SATA and any secondary ethernet.

 

ExpressoBin

 

- $49 in amazon

- Dual Core

- Three Gigabit Ethernet ports (1 WAN, 2 LAN)

- Independent SATA interface with its own Power Supply

- Proper 12V barrel power connector

- Mini PCIe

- Has the place to add the eMMC but it seems must be soldered there

 

--

R2 still has a place in its price/availability/performance ratio.

 

If there is an ExpressoBin with eMMC included, Quad Core and 2GB, maybe it could cost around $80.  In that case, would be a better option than the R2.

The ROCK64 lacks interfaces to provide good bandwidth when the multi-ethernet scenario is included.

It is not possible to have HummingBoard with multiple Gigabit Ethernet connections.

The Armada SOM is Dual core ... could be possible to use the HummingBoard SOM with the ClearFog carrier?

 

The main important elements are to determine if an improvement in the software can work the problems detected with the R2 for the full performance capacity.

 

In my particular case, although performance has some importance, it is not the main driver to choose one or another product.  The processing unit is more important (hence 4 cores would be better than 2), together with the integrated eMMC (I can't deal with soldering these tiny things) and the availability for connecting devices.

 

Today all them are not so perfect (taking all factors into consideration) options.  I am sure than in 6 months this will be a completely different world.

 

Lion Wang likes this

Share this post


Link to post
Share on other sites
2 hours ago, malvcr said:

In my particular case, although performance has some importance, it is not the main driver to choose one or another product.

Completely agree... Software is much more important than 'highest performance by specs'.  Completely agree... Software is much more important than 'highest performance by specs'. And cause a lot of developers here are a little bit sceptical this gets important. With a proper software support, I still believe the R2 could be a really nice board . There are some design decisions I do not understand (e.g. soldering a shitty wifi module on the board and sell this one months later... ). Mainline upstream for MT7623N seems to be active. So maybe things improve in the next months/years. I've a HC1 connected to my 2.4/5 GHz wlan router via ETH with the OMV image from Thomas (I'm sure he knows better the appropriate settings/tweaks for this device than  me.. :P ). This fits perfect for my needs at the moment.

 

Software on R2 needs definitely some improvements and this happens faster with the help of community.

Share this post


Link to post
Share on other sites

I am very comfortable with Armbian ... a very nice distribution, congratulations to so splendid team  ... and with Raspbian for the Raspberry Pi world (very closed, but it just works).  I didn't like to touch LEDE because I feel that it is not oriented to what I need, but I will use some hours to see that by myself.

 

If somebody ask me today what is the R2, I will say that it is a router platform with storage and processing capabilities.  It is not a storage oriented device with many ethernet ports, neither a super computer, and if I understand that and that definition fits my needs, then it is OK.

 

Anyway, there is that ClearFog platform, and the others referenced here.  I really was not paying attention to all possible options, although I have not really enough time for researching so much because I need to design and to create things in short time, but it is important to have a clear vision about what is the current SBC landscape, "every month".  In the PC world something similar happens, but the base it is very stable and the operating systems are very uniform; however, in the ARM side things are very wild (and this is refreshing, but complicated to manage).

 

I agree ... R2 can improve, but it is not possible to do what Orange do with their machines (make one image and forget the machine).  It is important to improve and improve and improve the software base.  If I can help discovering problems while I assemble solutions, then I will discuss them the most my duties permits me to do it.  And also, that board must evolve (not the radical change from R1 to R2 ... maybe an evolutive one from R2 to R3 some day).  Manuals are not written in stone.

Share this post


Link to post
Share on other sites
14 hours ago, malvcr said:

This mean, the Ubuntu distribution provided is not yet ready

 

This is a kernel problem. Check https://forum.armbian.com/index.php?/topic/4567-banana-pi-r2/ ('no performance numbers known, no info about real clockspeeds, currently cpufreq seems still to be broken: /cpus/cpu@0 missing clock-frequency' -- seems nothing has improved within the last 4 months and no one has a clue how fast the CPU cores clock.)

 

Can you provide the output from 'sysbench --test=cpu --cpu-max-prime=20000 run --num-threads=4' with this Ubuntu image?

 

Most Marvell SoCs use a technology called 'SERDES' to provide high-speed interfaces. Can then be configured to transport either SATA (then you get +500 MB/s per port) or PCIe (then it's just ~400 MB/s when attaching a PCIe SATA controller due to a PCIe lane having lower throughput and the additional overhead). With the MTK thingie here I would assume once they get their software problems sorted we're talking about 400 MB/s max (the two SATA ports have to share) since that's what's usually possible with the ASM106x SATA controller used on the board. But I doubt we will ever see OS images from them using appropriate settings so performance will always be an issue (if you see a company providing Raspbian images you don't need to ask any more questions)

 

Share this post


Link to post
Share on other sites
sysbench --test=cpu --cpu-max-prime=20000 run --num-threads=4

Maximum prime number checked in CPU test: 20000

Test execution summary:
    total time:                          135.3196s
    total number of events:              10000
    total time taken by event execution: 541.1813
    per-request statistics:
         min:                                 53.93ms
         avg:                                 54.12ms
         max:                                127.76ms
         approx.  95 percentile:              54.71ms

Threads fairness:
    events (avg/stddev):           2500.0000/1.87
    execution time (avg/stddev):   135.2953/0.02

Just for comparison, I made the same test in an OPI-Zero (Armbian - kernel 4.13.5) and a RPI-3 (Raspbian - kernel 4.9.35).

OPI cpuinfo_max_freq : 1200000

RPI cpuinfo_max_freq : 1200000

R2 -- no data -- Mediatek information specifies 1.3 GHz

        Total  Taken by    ------- Per-Req-Statistics ------  ------------ Threads fairness ------------
               Event Exec  Min    Avg    Max     Approx(95p)  Events(avg/stddev)  Exec time (avg/stddev)
OPI  121.8403  487.2788    46.72  48.73  237.59  54.89        2500.0000/1.73      121.8197/0.01
RPI  128.1032  512.2482    47.69  51.22  145.66  60.57        2500.0000/3.67      128.0620/0.01
R2   135.3196  541.1813    53.93  54.12  127.76  54.71        2500.0000/1.87      135.2953/0.02


Thanks for the SERDES and PCIe clarification.

Share this post


Link to post
Share on other sites
9 minutes ago, malvcr said:

Just for comparison, I made the same test in an OPI-Zero (Armbian - kernel 4.13.5) and a RPI-3 (Raspbian - kernel 4.9.35)

Please forget about such tests since sysbench's cpu test mode is just a great way to fool yourself. It's most probably the most crappy performance benchmark ever since it's more or less just a compiler test. Only advantage: It's not dependent on memory bandwidth at all so if you know count and type of CPU cores, exakt sysbench version (did you use 0.4.12?) and compiler version/flags you can estimate CPU clockspeeds.

 

You find some details when you search the forum for 'sysbench pseudo' or outlined here:

 

Comparing your numbers from ARMv7/Ubuntu with NanoPi NEO most probably the MTK SoC is clocked slightly above 1 GHz which would be bad news wrt the storage performance numbers since I assumed that currently the SoC is only clocked with 400-600 MHz (and then that low performance numbers are to be expected).

 

Share this post


Link to post
Share on other sites

0.4.12 in all them ... although (of course), I have no idea how they compiled the program for each platform, in particular for the R2.

 

 

Something I found half hour ago.

 

When sending a file with sftp, the top transference speed is 14 MB/s.  This is not a conclusive test, I need to make it more precise and with the right tools, but this seems to be Fast Ethernet speed, not Gigabit.

 

Just in case, I am using two R2 machines, with both sides using RAM disks and the machines have a 1 feet cable between them (no extra equipment involved).  I also included a question in the BPI forum to see if there is more information about this subject.

 

Share this post


Link to post
Share on other sites
36 minutes ago, malvcr said:

I have no idea how they compiled the program for each platform, in particular for the R2.

 

They don't build packages, if you used Ubuntu Xenial on this thing it's Ubuntu's armhf package (GCC 5.4, ~30% faster compared to GCC 4.9)

36 minutes ago, malvcr said:

I also included a question in the BPI forum to see if there is more information about this subject.

Nice joke! :)

 

There I wrote something about SSH/scp/sftp: http://linux-sunxi.org/Sunxi_devices_as_NAS#Benchmarking_.2F_Identifying_bottlenecks -- when you run htop in parallel you see one core being maxed out, yes?

Share this post


Link to post
Share on other sites

As I am developing for these platforms, that GCC version "detail" it is extremely important.

 

Also, when using sftp it is not possible to separate the CPU throughput from the networked one, as the information must be cyphered.  And there is the particular issue with the machine used.  When we develop an application for everybody (as the ones in the Ubuntu distribution), it is not possible to design "for the platform"; this is particularly true when using standard sources that must be multi-platform capable.  But if I am working "for the platform", then I can define particular capabilities to improve the final result even having constraints.

 

Right now I am not at home.  This night I will try the raw networking capacity ... in fact that Ubuntu has some useless things as a Docker infrastructure applied that could be interfering.  Let me arrive with scissors and a broom to let it as naked as possible.

 

 

About the BGI forum.  My intention is to catch somebody from MTK.  Also, there is something interesting: there are two forums there, one in English and a different one in Chinese (it is not a translation, it is a different forum).  I will ask my wife (she is Chinese), to see what is written there... Google Translator it is not so good with that language.

Share this post


Link to post
Share on other sites

GCC version and/or compiler flags aren't that relevant in general. But it's absolutely important to know this when dealing with sysbench numbers (as already said: a rather crappy benchmark telling not much about the hardware but a lot about compiler optimizations). And the same is true when you look at 'sftp transmission speeds' since this is essentially just single-threaded SSH here and both sides of the connection negotiate the strongest of the available ciphers. So looking at these numbers is irrelevant since it depends on ciphers available on both sides which one gets dynamically chosen (give it a try with 'scp -vv' to see what really happens). When you choose a strong cipher and can not make use of crypto extensions then on slow ARM devices you're usually bottlenecked by a ssh or sshd process running single threaded maxing out one CPU core.

 

Since you seem to need high crypto performance in case you are able to use AES you should better search this forum for 'armv8 aes crypto extensions' and forget about all those dog slow ARMv7 SoCs like the MT7623 on the R2 (an Espressobin for example will enrypt/decrypt magnitudes faster, cheap RK3328 devices like 'Transformer' when we're able to clock them up to 1.5GHz might then show 500% the multi-threaded AES performance of an Espressobin and of course a few thousand percent of what you get with BPi R2).

 

BTW: 'Useless' stuff installed on OS images isn't much of a performance issue even if most users believe this. Missing optimizations are the real problem. Take a look into Armbian's /etc/init.d/armhwinfo service and the optimizations we do wrt cpufreq/dvfs stuff.

 

Good luck over in BPi forum -- you should be aware that while you're trying to get information on this R2 they're already busy preparing another totally incompatible board relying on a RealTek SoC called W2 (great concept to throw out board after board all incompatible to each other so that software support always has to start at zero and will never get in a good shape).

Share this post


Link to post
Share on other sites

Yes, the problem with my networking test was a bottleneck with the CPU, not the networking equipment.

 

Making a simply stupid client/server perl based test (only sending static memory data from one side without verifications), I was able to obtain 135 MB/s.  Of course, this number the only shows is that the device it is really a gigabit one; doesn't indicate that in real life scenarios I can obtain that throughput.  But if I use it, I must understand all its limitations and possibilities.  Thanks for the crypto references;  I still need to do many things and to organize many "possibilities", so that material it is really important for me.  So if I use the R2, can't be trying to obtain the highest throughput.

 

Checking around ... the MT7623 has 1 Gbps crypto engine for VPN, or 500 Mbps crypto engine suite (in case these are different things).  What is that and how to use it? .... no idea.  I sent another message asking if this could be available for the R2 (again, this is a message for Mediatek, because could be a license issue).

 

I was making my own secure communications protocol.  I will tune it for SBC machines with all this information at hand, as I see that SSH is not so well suited for these environments.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

5 5

  • Support the project

    We need your help to stay focused on the project.

    Choose the amount and currency you would like to donate in below.