Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Banana Pi BPI-CM4 #11

Open
geerlingguy opened this issue Jan 26, 2023 · 10 comments
Open

Banana Pi BPI-CM4 #11

geerlingguy opened this issue Jan 26, 2023 · 10 comments

Comments

@geerlingguy
Copy link
Owner

geerlingguy commented Jan 26, 2023

DSC00578

Basic information

Linux/system information

# output of `neofetch`
       _,met$$$$$gg.          pi@bananapi 
    ,g$$$$$$$$$$$$$$$P.       ----------- 
  ,g$$P"     """Y$$.".        OS: Debian GNU/Linux 10 (buster) aarch64 
 ,$$P'              `$$$.     Host: Bananapi BPI-CM4 
',$$P       ,ggs.     `$$b:   Kernel: 4.9.241-BPI-CM4 
`d$$'     ,$P"'   .    $$$    Uptime: 4 mins 
 $$P      d$'     ,    $$P    Packages: 269 (dpkg) 
 $$:      $$.   -    ,d$$'    Shell: bash 5.0.3 
 $$;      Y$b._   _,d$P'      Terminal: /dev/pts/0 
 Y$$.    `.`"Y$$$$P"'         CPU: (6) @ 1.704GHz 
 `$$b      "-.__              Memory: 152MiB / 3709MiB 
  `Y$$
   `Y$$.                                              
     `$$b.
       `Y$$b.
          `"Y$b._
              `"""

# output of `uname -a`
Linux bananapi 4.9.241-BPI-CM4 #1 SMP PREEMPT Wed Jan 11 10:32:54 UTC 2023 aarch64 GNU/Linux

Benchmark results

CPU

Power

  • Idle power draw (at wall): 1.8 W
  • Maximum simulated power draw (stress-ng --matrix 0): 4.1 W
  • During Geekbench multicore benchmark: 4.0 W
  • During top500 HPL benchmark: TODO W

Disk

Built-in eMMC (szrayson emmc RS1G32LO4)

Benchmark Result
fio 1M sequential read 233 MB/s
iozone 1M random read 202.10 MB/s
iozone 1M random write 55.32 MB/s
iozone 4K random read 28.01 MB/s
iozone 4K random write 34.34 MB/s

microSD (SanDisk Extreme 128GB)

Benchmark Result
fio 1M sequential read 43.4 MB/s
iozone 1M random read 42.05 MB/s
iozone 1M random write 29.17 MB/s
iozone 4K random read 8.35 MB/s
iozone 4K random write 4.01 MB/s

curl https://raw.githubusercontent.com/geerlingguy/pi-cluster/master/benchmarks/disk-benchmark.sh | sudo bash

Run benchmark on any attached storage device (e.g. eMMC, microSD, NVMe, SATA) and add results under an additional heading. Download the script with curl -o disk-benchmark.sh [URL_HERE] and run sudo DEVICE_UNDER_TEST=/dev/sda DEVICE_MOUNT_PATH=/mnt/sda1 ./disk-benchmark.sh (assuming the device is sda).

Also consider running PiBenchmarks.com script.

Network

iperf3 results:

Built-in 1 Gbps Ethernet

  • iperf3 -c $SERVER_IP: 943 Mbps
  • iperf3 --reverse -c $SERVER_IP: 873 Mbps
  • iperf3 --bidir -c $SERVER_IP: (N/A - version shipped with Debian 10 does not allow it)

Built-in RTL8821CS WiFi

  • iperf3 -c $SERVER_IP: 25.5 Mbps
  • iperf3 --reverse -c $SERVER_IP: 135 Mbps
  • iperf3 --bidir -c $SERVER_IP: (N/A - version shipped with Debian 10 does not allow it)

GPU

  • TODO: Haven't determined standardized benchmark yet. See Issue #2.

Memory

  • TODO: Haven't determined standardized benchmark yet. See Issue #2.
@geerlingguy
Copy link
Owner Author

First fun issue... I went to boot up the board today, and searched all over the BPI-CM4 pages on the Wiki:

...and there are no links to download any images, anywhere. After asking around on Twitter, @PomstaZLesa found this old Wiki page revision which does have some links (from 2022-06-20...) to downloads in Google Drive or Baidu Cloud.

Not super confidence-inspiring :/

@kklem0
Copy link

kklem0 commented Jan 31, 2023

First fun issue... I went to boot up the board today, and searched all over the BPI-CM4 pages on the Wiki:

...and there are no links to download any images, anywhere. After asking around on Twitter, @PomstaZLesa found this old Wiki page revision which does have some links (from 2022-06-20...) to downloads in Google Drive or Baidu Cloud.

Not super confidence-inspiring :/

It looks like they have updated your 2nd link 2 days ago.

@geerlingguy
Copy link
Owner Author

geerlingguy commented Jan 31, 2023

Default username / login is pi/bananapi for the Debian image. Just posting it here since it took way too much reading through their Wiki to find that.

Default Debian image didn't include sudo, so I had to run su - to switch to root (same pw), and then install it with apt install sudo. apt update required accepting two keys during the run.

My network scanner found the device's networking manufacturer to be Shenzhen 10MOONS Technology Development CO.,Ltd

@geerlingguy
Copy link
Owner Author

Tried compiling top500-benchmark and got:

    configure: WARNING: X11 not found; GL disabled
    configure: WARNING: compilation failed
    configure: error: ****  Incompatible Fortran and C Object File Types!  ****
    F77 Object File Type produced by "gfortran -fallow-argument-mismatch " is : : cannot open `' (No such file or directory).
     C  Object File Type produced by "gcc    -O2" is : : ELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), not stripped.

On the "Build MPI" step.

@geerlingguy
Copy link
Owner Author

geerlingguy commented Jan 31, 2023

To get WiFi working, I did a sudo modprobe 88x2cs to enable the kernel module (see this doc), then I installed Network Manager:

pi@bananapi:~$ sudo apt install -y network-manager
...
pi@bananapi:~$ nmcli
wlan0: disconnected
        "wlan0"
        wifi (rtl88x2cs), 36:B4:8F:83:24:6E, hw, mtu 1500

pi@bananapi:~$ sudo nmcli device wifi list
sudo: unable to resolve host bananapi: Name or service not known
IN-USE  SSID                   MODE   CHAN  RATE        SIGNAL  BARS  SECURITY 
        geerling...  Infra  36    540 Mbit/s  54      **    WPA2     
        ...
        --                     Infra  11    130 Mbit/s  0             WPA2

pi@bananapi:~$ sudo nmcli dev wifi connect geerling... password "my-password-here"
...
connected!

pi@bananapi:~$ sudo iw wlan0 link
sudo: unable to resolve host bananapi: Name or service not known
Connected to 3c:7c:3f:6a:fa:c4 (on wlan0)
	SSID: geerling...
	freq: 5180
	signal: -43 dBm
	tx bitrate: 867.0 MBit/s

And also, all the details of the interface:

`iw list` details
pi@bananapi:~$ sudo iw list
sudo: unable to resolve host bananapi: Name or service not known
Wiphy phy0
	max # scan SSIDs: 9
	max scan IEs length: 2304 bytes
	max # sched scan SSIDs: 0
	max # match sets: 0
	max # scan plans: 1
	max scan plan interval: -1
	max scan plan iterations: 0
	Retry short limit: 7
	Retry long limit: 4
	Coverage class: 0 (up to 0m)
	Supported Ciphers:
		* WEP40 (00-0f-ac:1)
		* WEP104 (00-0f-ac:5)
		* TKIP (00-0f-ac:2)
		* CCMP-128 (00-0f-ac:4)
	Available Antennas: TX 0 RX 0
	Supported interface modes:
		 * IBSS
		 * managed
		 * AP
	Band 1:
		Capabilities: 0x1963
			RX LDPC
			HT20/HT40
			Static SM Power Save
			RX HT20 SGI
			RX HT40 SGI
			RX STBC 1-stream
			Max AMSDU length: 7935 bytes
			DSSS/CCK HT40
		Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
		Minimum RX AMPDU time spacing: 16 usec (0x07)
		HT Max RX data rate: 300 Mbps
		HT TX/RX MCS rate indexes supported: 0-15
		Bitrates (non-HT):
			* 1.0 Mbps
			* 2.0 Mbps
			* 5.5 Mbps
			* 11.0 Mbps
			* 6.0 Mbps
			* 9.0 Mbps
			* 12.0 Mbps
			* 18.0 Mbps
			* 24.0 Mbps
			* 36.0 Mbps
			* 48.0 Mbps
			* 54.0 Mbps
		Frequencies:
			* 2412 MHz [1] (20.0 dBm)
			* 2417 MHz [2] (20.0 dBm)
			* 2422 MHz [3] (20.0 dBm)
			* 2427 MHz [4] (20.0 dBm)
			* 2432 MHz [5] (20.0 dBm)
			* 2437 MHz [6] (20.0 dBm)
			* 2442 MHz [7] (20.0 dBm)
			* 2447 MHz [8] (20.0 dBm)
			* 2452 MHz [9] (20.0 dBm)
			* 2457 MHz [10] (20.0 dBm)
			* 2462 MHz [11] (20.0 dBm)
			* 2467 MHz [12] (20.0 dBm) (no IR)
			* 2472 MHz [13] (20.0 dBm) (no IR)
			* 2484 MHz [14] (disabled)
	Band 2:
		Capabilities: 0x1863
			RX LDPC
			HT20/HT40
			Static SM Power Save
			RX HT20 SGI
			RX HT40 SGI
			No RX STBC
			Max AMSDU length: 7935 bytes
			DSSS/CCK HT40
		Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
		Minimum RX AMPDU time spacing: 16 usec (0x07)
		HT Max RX data rate: 300 Mbps
		HT TX/RX MCS rate indexes supported: 0-15
		VHT Capabilities (0x03d071b2):
			Max MPDU length: 11454
			Supported Channel Width: neither 160 nor 80+80
			RX LDPC
			short GI (80 MHz)
			TX STBC
			SU Beamformee
			MU Beamformee
			+HTC-VHT
		VHT RX MCS set:
			1 streams: MCS 0-9
			2 streams: MCS 0-9
			3 streams: not supported
			4 streams: not supported
			5 streams: not supported
			6 streams: not supported
			7 streams: not supported
			8 streams: not supported
		VHT RX highest supported: 867 Mbps
		VHT TX MCS set:
			1 streams: MCS 0-9
			2 streams: MCS 0-9
			3 streams: not supported
			4 streams: not supported
			5 streams: not supported
			6 streams: not supported
			7 streams: not supported
			8 streams: not supported
		VHT TX highest supported: 867 Mbps
		Bitrates (non-HT):
			* 6.0 Mbps
			* 9.0 Mbps
			* 12.0 Mbps
			* 18.0 Mbps
			* 24.0 Mbps
			* 36.0 Mbps
			* 48.0 Mbps
			* 54.0 Mbps
		Frequencies:
			* 5180 MHz [36] (23.0 dBm)
			* 5200 MHz [40] (23.0 dBm)
			* 5220 MHz [44] (23.0 dBm)
			* 5240 MHz [48] (23.0 dBm)
			* 5260 MHz [52] (23.0 dBm) (no IR, radar detection)
			* 5280 MHz [56] (23.0 dBm) (no IR, radar detection)
			* 5300 MHz [60] (23.0 dBm) (no IR, radar detection)
			* 5320 MHz [64] (23.0 dBm) (no IR, radar detection)
			* 5500 MHz [100] (23.0 dBm) (no IR, radar detection)
			* 5520 MHz [104] (23.0 dBm) (no IR, radar detection)
			* 5540 MHz [108] (23.0 dBm) (no IR, radar detection)
			* 5560 MHz [112] (23.0 dBm) (no IR, radar detection)
			* 5580 MHz [116] (23.0 dBm) (no IR, radar detection)
			* 5600 MHz [120] (23.0 dBm) (no IR, radar detection)
			* 5620 MHz [124] (23.0 dBm) (no IR, radar detection)
			* 5640 MHz [128] (23.0 dBm) (no IR, radar detection)
			* 5660 MHz [132] (23.0 dBm) (no IR, radar detection)
			* 5680 MHz [136] (23.0 dBm) (no IR, radar detection)
			* 5700 MHz [140] (23.0 dBm) (no IR, radar detection)
			* 5720 MHz [144] (disabled)
			* 5745 MHz [149] (30.0 dBm)
			* 5765 MHz [153] (30.0 dBm)
			* 5785 MHz [157] (30.0 dBm)
			* 5805 MHz [161] (30.0 dBm)
			* 5825 MHz [165] (30.0 dBm)
			* 5845 MHz [169] (disabled)
			* 5865 MHz [173] (disabled)
			* 5885 MHz [177] (disabled)
	Supported commands:
		 * new_interface
		 * set_interface
		 * new_key
		 * start_ap
		 * new_station
		 * set_bss
		 * join_ibss
		 * set_pmksa
		 * del_pmksa
		 * flush_pmksa
		 * remain_on_channel
		 * frame
		 * set_channel
		 * connect
		 * disconnect
	Supported TX frame types:
		 * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
		 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0
	Supported RX frame types:
		 * IBSS: 0xd0
		 * managed: 0x40 0xd0
		 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
		 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
		 * P2P-client: 0x40 0xd0
		 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0
	WoWLAN support:
		 * wake up on anything (device continues operating normally)
	software interface modes (can always be added):
	interface combinations are not supported
	Device supports scan flush.
	Supported extended features:

If I disconnected the Ethernet port entirely and tried connecting through WiFi, I couldn't (it wouldn't respond to pings on the WiFi IP...). So instead I ran sudo ip link set eth0 down to disable eth0, then I ran iperf3 and got 25 Mbps down and 135 Mbps up.

Not sure why the huge discrepancy, but there was also a noticeable amount of coil whine during the --reverse test sending packets to the iperf server.

@melroy89
Copy link

Nice you also have the BPI-CM4 module. I'm trying to get this module working in the BliKVM PCIe card, instead of the Raspberry Pi variant..

Related: ThomasVon2021/blikvm#15

@sgofferj
Copy link

sgofferj commented Jun 2, 2023

I also got one of those together with an MCUZone POE/SSD baseboard. Everything works except the USB ports. There's a forum post reporting the same issue with a Waveshare Mini B baseboard. Not sure if it's an OS thing or they messed up the USB connection. I tried Debian, Ubuntu and Armbian to no avail.
@geerlingguy Have you ever gotten the USB working on a non-BPI baseboard?

@sgofferj
Copy link

sgofferj commented Sep 4, 2023

Somebody from the manufacturer provided a solution for the USB port issue: https://forum.banana-pi.org/t/cm4-with-mcuzone-board-no-usb-port-works/15552/7

@billzez
Copy link

billzez commented Sep 22, 2023

Quick update: we now support Banana Pi CM4, and we now have OMV and OpenWrt images.

https://www.axzez.com/software-downloads

@melroy89
Copy link

Quick update: we now support Banana Pi CM4, and we now have OMV and OpenWrt images.

https://www.axzez.com/software-downloads

WOW! Nice.. I wish blikvm would create images for the Banana Pi CM4 as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants