Es wäre ja schön, wenn man mal einen vernünftigen Kernel in die Hand bekommen würde. Der Stand der Dinge, so wie meine Info's sind.
Archiv älterer Blog-Beiträge
24Sinovoip hat ein kleines Tool veröffentlicht, mit dem man ein bestehendes SD-Karten-Image aktualisieren kann, ohne eine Neuinstallation des Images. Vorgehensweise: Mit git die bpi-tools clonen. root@bpi-iot-ros-ai:~# git clone https://github.com/BPI-SINOVOIP/bpi-tools.gitCloning into 'bpi-tools'...remote: Counting objects: 49, done.remote: Total 49 (delta 0), reused 0 (delta 0), pack-reused 49Unpacking objects: 100% (49/49), done.Checking connectivity... done. Verzeichnis wechseln root@bpi-iot-ros-ai:~# cd bpi-tools Befehl zum Updaten der bpi-tools
Heute mal ein Thema, was offensichtlich nicht so einfach ist. Aber, Versuch macht klug ;) Der BananaPi M2-Ultra besitzt als WLan-Chip einen AP6212, dieser beinhaltet ein WLan- und ein Bluetooth-Modul. Mein Testsystem ist ein Linux bpi-iot-ros-ai 3.10.65-BPI-M2U-Kernel #1 SMP Sun Sep 25 21:08:46 CST 2016 armv7l GNU/Linux Meine ersten Versuche waren nicht sehr erfolgreich, also auf die Suche machen und ich wurde in einem Forum fündig.
BPi M2-Ultra - Fazit
Ich fange mal mit dem Wichtigsten an, für mich ist der BPi M2-Ultra ein würdiger Nachfolger des BananaPi's M1. Nun zu dem was nicht so toll ist, die Unterstützung mit Treibern und Kernelversionen ist im Moment noch sehr bescheiden. Evt. habe ich ein Vorserienmodell?, so weit ich weiß hat Sinovoip erst eine kleine Serie aufgelegt. Evt. sind ja sogar noch Änderungen möglich? Ich weiß es nicht, ich habe aber mal nachgefragt ;)
BPi M2-Ultra - SSD
Ich hatte heute mal die Möglichkeit eine SSD an den Ultra zu hängen. Es handelt sich um eine "SanDisk SSD PLUS 240GB Sata III 2,5 Zoll Interne SSD, bis zu 530 MB/Sek". iperf3 -s-----------------------------------------------------------Server listening on 5201-----------------------------------------------------------Accepted connection from 192.168.3.12, port 46071[ 5] local 192.168.3.213 port 5201 connected to 192.168.3.12 port 46072[ ID] Interval Transfer Bandwidth[ 5] 0.00-1.00 sec 85.2 MBytes 715 Mbits/sec[ 5] 1.00-2.00 sec 88.8 MBytes 745 Mbits/sec[ 5] 2.00-3.00 sec 88.0 MBytes 738 Mbits/sec[ 5] 3.00-4.00 sec 88.3 MBytes 741 Mbits/sec[ 5] 4.00-5.00 sec 88.5 MBytes 742 Mbits/sec[ 5] 5.00-6.00 sec 88.4 MBytes 741 Mbits/sec[ 5] 6.00-7.00 sec 88.3 MBytes 741 Mbits/sec[ 5] 7.00-8.00 sec 88.8 MBytes 745 Mbits/sec[ 5] 8.00-9.00 sec 88.9 MBytes 745 Mbits/sec[ 5] 9.00-10.00 sec 88.4 MBytes 741 Mbits/sec[ 5] 10.00-10.04 sec 3.77 MBytes 742 Mbits/sec- - - - - - - - - - - - - - - - - - - - - - - - -[ ID] Interval Transfer Bandwidth Retr[ 5] 0.00-10.04 sec 885 MBytes 739 Mbits/sec 0 sender[ 5] 0.00-10.04 sec 885 MBytes 739 Mbits/sec receiver-----------------------------------------------------------Server listening on 5201----------------------------------------------------------- Dann iperf3 -c 192.168.3.12Connecting to host 192.168.3.12, port 5201[ 4] local 192.168.3.213 port 36402 connected to 192.168.3.12 port 5201[ ID] Interval Transfer Bandwidth Retr Cwnd[ 4] 0.00-1.00 sec 105 MBytes 881 Mbits/sec 0 764 KBytes[ 4] 1.00-2.00 sec 112 MBytes 940 Mbits/sec 0 813 KBytes[ 4] 2.00-3.00 sec 112 MBytes 938 Mbits/sec 0 897 KBytes[ 4] 3.00-4.00 sec 112 MBytes 939 Mbits/sec 0 1000 KBytes[ 4] 4.00-5.00 sec 112 MBytes 941 Mbits/sec 0 1000 KBytes[ 4] 5.00-6.00 sec 112 MBytes 943 Mbits/sec 0 1000 KBytes[ 4] 6.00-7.00 sec 109 MBytes 918 Mbits/sec 0 1.04 MBytes[ 4] 7.00-8.00 sec 109 MBytes 912 Mbits/sec 0 1.23 MBytes[ 4] 8.00-9.00 sec 112 MBytes 940 Mbits/sec 0 1.23 MBytes[ 4] 9.00-10.00 sec 112 MBytes 940 Mbits/sec 0 1.23 MBytes- - - - - - - - - - - - - - - - - - - - - - - - -[ ID] Interval Transfer Bandwidth Retr[ 4] 0.00-10.00 sec 1.08 GBytes 929 Mbits/sec 0 sender[ 4] 0.00-10.00 sec 1.08 GBytes 928 Mbits/sec receiver iperf Done. Danch nochmal die Schreib- und Lesegeschwindigkeit getestet. Schreibtest: root@bpi-iot-ros-ai:~# dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc1024+0 records in1024+0 records out1073741824 bytes (1.1 GB) copied, 29.8102 s, 36.0 MB/s Danach mal ein Lesetest. Cache leeren. root@bpi-iot-ros-ai:~# echo 3 | sudo tee /proc/sys/vm/drop_caches3 Lesetest: root@bpi-iot-ros-ai:~# dd if=tempfile of=/dev/null bs=1M count=10241024+0 records in1024+0 records out1073741824 bytes (1.1 GB) copied, 5.85632 s, 183 MB/sroot@bpi-iot-ros-ai:~# dd if=tempfile of=/dev/null bs=1M count=10241024+0 records in1024+0 records out1073741824 bytes (1.1 GB) copied, 2.09852 s, 512 MB/sroot@bpi-iot-ros-ai:~# dd if=tempfile of=/dev/null bs=1M count=10241024+0 records in1024+0 records out1073741824 bytes (1.1 GB) copied, 2.02298 s, 531 MB/sroot@bpi-iot-ros-ai:~# dd if=tempfile of=/dev/null bs=1M count=10241024+0 records in1024+0 records out1073741824 bytes (1.1 GB) copied, 2.02782 s, 530 MB/sroot@bpi-iot-ros-ai:~# dd if=tempfile of=/dev/null bs=1M count=10241024+0 records in1024+0 records out1073741824 bytes (1.1 GB) copied, 2.02498 s, 530 MB/s Der Lesewert kommt gut an die Werbung des Herstellers ran, sogar ziemlich genau aber nur wenn der Cache gefüllt ist. Wenn Daten im Cache sind geht der Wert an die Angabe des Herstellers hoch. Der Schreibwert ist wie beim ersten Test mit einer normalen 2,5 Zoll HDD. Die SATA-Schnittstelle wird also auch beim Ultra nicht komplett ausgereizt :( Siehe -> BPi M2-Ultra - SATA Schnittstelle HDD
Ich bin nach dem Test gefragt worden, hier die Ergebnisse. Server auf dem Ultra. Sys auf HDD. Client mein Haupt-PC. iperf3 -c 192.168.3.14Connecting to host 192.168.3.14, port 5201[ 4] local 192.168.3.213 port 36558 connected to 192.168.3.14 port 5201[ ID] Interval Transfer Bandwidth Retr Cwnd[ 4] 0.00-1.00 sec 110 MBytes 920 Mbits/sec 0 556 KBytes[ 4] 1.00-2.00 sec 109 MBytes 915 Mbits/sec 0 789 KBytes[ 4] 2.00-3.00 sec 112 MBytes 942 Mbits/sec 0 789 KBytes[ 4] 3.00-4.00 sec 112 MBytes 940 Mbits/sec 0 789 KBytes[ 4] 4.00-5.00 sec 110 MBytes 922 Mbits/sec 27 655 KBytes[ 4] 5.00-6.00 sec 112 MBytes 939 Mbits/sec 0 757 KBytes[ 4] 6.00-7.00 sec 112 MBytes 939 Mbits/sec 0 789 KBytes[ 4] 7.00-8.00 sec 112 MBytes 940 Mbits/sec 0 854 KBytes[ 4] 8.00-9.00 sec 107 MBytes 898 Mbits/sec 7 609 KBytes[ 4] 9.00-10.00 sec 104 MBytes 876 Mbits/sec 9 452 KBytes- - - - - - - - - - - - - - - - - - - - - - - - -[ ID] Interval Transfer Bandwidth Retr[ 4] 0.00-10.00 sec 1.07 GBytes 923 Mbits/sec 43 sender[ 4] 0.00-10.00 sec 1.07 GBytes 922 Mbits/sec receiver iperf Done. Das Ganze anders rum! root@bpi-iot-ros-ai:~# iperf3 -c 192.168.3.213Connecting to host 192.168.3.213, port 5201[ 4] local 192.168.3.14 port 39882 connected to 192.168.3.213 port 5201[ ID] Interval Transfer Bandwidth Retr Cwnd[ 4] 0.00-1.00 sec 87.8 MBytes 736 Mbits/sec 0 240 KBytes[ 4] 1.00-2.01 sec 88.8 MBytes 736 Mbits/sec 0 240 KBytes[ 4] 2.01-3.01 sec 87.5 MBytes 737 Mbits/sec 0 240 KBytes[ 4] 3.01-4.01 sec 87.5 MBytes 733 Mbits/sec 0 257 KBytes[ 4] 4.01-5.01 sec 87.5 MBytes 732 Mbits/sec 0 257 KBytes[ 4] 5.01-6.00 sec 87.5 MBytes 743 Mbits/sec 0 546 KBytes[ 4] 6.00-7.01 sec 88.8 MBytes 738 Mbits/sec 0 546 KBytes[ 4] 7.01-8.01 sec 88.8 MBytes 742 Mbits/sec 0 546 KBytes[ 4] 8.01-9.01 sec 87.5 MBytes 737 Mbits/sec 0 546 KBytes[ 4] 9.01-10.00 sec 87.5 MBytes 739 Mbits/sec 0 546 KBytes- - - - - - - - - - - - - - - - - - - - - - - - -[ ID] Interval Transfer Bandwidth Retr[ 4] 0.00-10.00 sec 879 MBytes 737 Mbits/sec 0 sender[ 4] 0.00-10.00 sec 879 MBytes 737 Mbits/sec receiver iperf Done.
In einem Kommentar von tkaiser wurde ich gebeten, doch mal ein paar Perfomance Tests zu machen. Ok, warum nicht? ;) Als erstes mal apt-get install iozone3echo performance >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor Danach folgende drei Tests: iozone -e -I -a -s 100M -r 1k -r 2k -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 4K -r 1024Kiozone -O -i 0 -i 1 -i 2 -e -+n -r 4K -s 2000m Und hier die Ergebnisse: Das Betriebssystem läuft auf einer 1TB HDD. Siehe -> BPi M2-Ultra - SATA Schnittstelle HDD
Nun, warum habe ich mir den BananaPi Ultra zugelegt und in Vergangenheit den ein oder anderen BPi links liegen gelassen? Es ging um die Anbindung der SATA-Schnittstelle, so eine gefummelte Anbindung wie z.B. bei den Raspberry's möchte ich nicht. Die sol bitte vernünftig angebunden sein. Und das verspricht der Ultra. Also, schauen wir mal ob das auch stimmt ;) Mein Versuchsaufbau :) Eine 2,5 Zoll 1TB Samsung HDD am BananaPi M2-Ultra. BananaPi M2-Ultra SATA-Kabel 2,5 Zoll HDD ECO-friendly Stecker-Schaltnetzteil, max 2250 mA
Der neue BananaPi M2-Ultra hat einen eingebauten 8GB Speicher (eMMC). Das macht den neuen so verlockend, kann man da doch schön ein Linux direkt reinschreiben und von dort booten. Tipp: Um vom eMMC zu booten, darf keine SD-Karte gesteckt sein. Die Bootreihenfolge ist also fest vorgegeben. Schlecht , wenn man nun eine SD-Karte als Datenspiecher benutzen möchte. Für meine möglichen Anwendungsgebiete aber nicht so wichtig, wenn dann nutze ich den Ultra als Server und dann kommt da eine HDD über SATA dran. Ich habe hier eine 16 GB SD-Karte, dort schreibe ich das Debian Jessie Linux der Chinesen drauf. Danach vergrößere ich die ROOT-Partition mittels GParted auf die maximale Größe. In die ROOT-Partition kopiere ich jetzt das Image. Danach booten wir den Ultra von der SD-Karte. Ab auf die Konsole. Wir schauen mal rein wie es dort plattenmäßig so aussieht.
Mein Test-Image: debian-8-jessie-lite-preview-bpi-m2u.img 2016-09-27 Link -> https://bananapi.gitbooks.io/bpi-m2-ultra/content/linuxsoftware.html Nun wollen wir mal das WLan aktivieren. Dazu aktivieren wir das entsprechende Modul. In /etc/modules