banner
Nachrichtenzentrum
Unsere Produkte garantieren eine schmerzfreie, praktische und sichere Lösung.

Hände

Oct 22, 2023

StarFive hat mir einen ihrer VisionFive 2 RISC-V SBC zur Evaluierung und Überprüfung geschickt. Ich habe mir das Modell mit Dual-Gigabit-Ethernet und 8 GB RAM gekauft und werde über meine Erfahrungen mit dem Debian 12-„Bücherwurm“-Image berichten. Beachten Sie jedoch, dass es sich hierbei nicht unbedingt um eine Überprüfung handelt, da das Board derzeit nicht überprüft werden kann. Es ist wirklich etwas für Erstanwender und es gibt viele Probleme zu lösen. In diesem Beitrag werde ich berichten, was funktioniert und was nicht, und einige der Herausforderungen, denen ich allein bei der Installation des Betriebssystems begegnet bin …

Das Board wird in einer Verpackung mit der Aufschrift „Umfassen Sie Veränderungen, umarmen Sie die Zukunft“ geliefert.

Auf der Unterseite befinden sich einige nützliche Links und QR-Codes. Sie benötigen außerdem das GitHub-Repository mit dem Quellcode und Anweisungen zum Erstellen des Images aus dem Quellcode (Hinweis: Ubuntu 16.04, 18.04 oder 20.04 x86_64 empfohlen). Im RVspace-Forumsbereich für das Board finden wir Anleitungen für den Einstieg und Feedback von anderen Benutzern.

Das Board-Layout und die Komponenten sehen genauso aus wie beim Start auf Kickstarter, außer dass es sich bei meinem Board um VisionFive 2 handeltV1.3B.

Wir haben den StarFive JH7110 Quad-Core-RISC-V-Prozessor in der Mitte, den BIWIN BWMZCX32H2A-64G 8 GB RAM-Chip, eine VL805 PCIe-zu-USB-3.0-Brücke wie im Raspberry Pi 4, zwei MotorComm YT8531C Gigabit-Ethernet-Transceiver und einen AXP15060 PMIC. Alle Hauptanschlüsse befinden sich auf einer Seite mit einer 3,5-mm-Audiobuchse, vier USB 3.0-Anschlüssen, einem HDMI 2.0-Ausgang und zwei Gigabit-Ethernet-Anschlüssen.

Auf der Unterseite befinden sich ein MicroSD-Kartensteckplatz, den wir zum Booten des Betriebssystems verwenden, Anschlüsse für ein eMMC-Flash-Modul und ein M.2-Sockel für eine NVMe-SSD.

Debian-Images sind auf der StarFive-Website verfügbar und verlinken entweder auf Baidu Drive oder Google Drive. Das neueste Bild ist derzeit Image-69, das Ende Dezember veröffentlicht wurde

Das unkomprimierte Bild passte nicht auf meine 8-GB-MicroSD-Karte, also habe ich es auf eine 32-GB-MicroSD-Karte geflasht, was fast 45 Minuten dauerte. Ich denke, es könnte demnächst sterben, und ich muss möglicherweise noch einen weiteren Stapel Karten kaufen. Diese ganze Zeitverschwendung bei der Anschaffung von MicroSD-Karten, die nur ein paar Monate halten, ist zum Teil der Grund dafür, dass ich Boards, die nur mit einer MicroSD-Karte booten, immer nicht gemocht habe …

Anschließend habe ich eine USB-Tastatur, eine USB-Maus, ein Ethernet-Kabel und ein USB-Typ-C-Netzteil angeschlossen. Ich habe mich ursprünglich für 5V/2A entschieden, aber das ist keine gute Idee, da es nicht genug Strom liefert und das Board ständig in einer Boot-Schleife läuft. Auch ein 5V/3A Raspberry Pi-Netzteil reichte nicht aus, daher habe ich mich für ein 100W-GaN-Netzteil entschieden, um sicherzustellen, dass ich keine Probleme mit der Stromversorgung hatte. Oh, und ich habe etwas Abstandshalter hinzugefügt, um die Platine anzuheben, da dies empfohlen wird.

Aber dann bemerkte ich, dass das Board nicht booten würde, und fand in den Foren die Ankündigung von Image 69, die Folgendes erklärt:

Bitte aktualisieren Sie die neuesten SPL 46- und U-Boot 44-Binärdateien gemäß Anleitung: 4.3, Kapitel 77, bevor Sie dieses Debian-Image ausführen. Dies ist sehr wichtig.

Es hat eine Weile gedauert, die richtige Dokumentation zu finden, da sie überall auf Chinesisch und/oder Englisch verteilt ist, aber der beste Anlaufpunkt ist die Seite „Dokumentveröffentlichungsstatus“ mit Dokumentation auf Englisch. Es ist möglich, sich über SSH anzumelden, aber angesichts der Wahrscheinlichkeit eines Boot-Problems würde ich wirklich empfehlen, ein serielles Debug-Board anzuschließen, wodurch ich auf das oben erwähnte Boot-Loop-Problem aufmerksam geworden bin.

Vor der Installation von Debian 12 müssen wir den SPL- und U-Boot-Bootloader auf dem VisionFive 2 aktualisieren und auch das minimale Linux-Image sdcard.img verwenden. Wir finden diese auf GitHub, und ich habe den Dateiteil von VisionFive2 Software v2.8.0 verwendet. Der erste Schritt bestand darin, sdcard.img auf eine MicroSD-Karte zu flashen. Dieses Bild passt auf eine 8-GB-Karte.

Wir können uns mit dem Benutzernamen „root“ und dem Passwort „starfour“ anmelden. Hier ist das Boot-Protokoll für neugierige Köpfe.

Stellen wir sicher, dass wir mit dem Netzwerk verbunden sind:

Alles gut. Wir können jetzt die neuesten SPL- und U-Boot-Binärdateien von GitHub herunterladen und sie per SCP von Ihrem Host-Rechner auf das Board übertragen:

Zurück im VisionFive 2-Terminal können wir die Partitionen überprüfen:

Es sieht gut aus, also aktualisieren wir die SPL-Binärdatei mit dem Dienstprogramm flashcp:

und dann U-Boot:

Schalten Sie das VisionFive 2-Board aus und ersetzen Sie die MicroSD-Karte durch die mit dem Debian 12-Image. Ich konnte das Image „erfolgreich“ booten.

Der erste Start hat jedoch über 3 Minuten gedauert, daher müssen Sie möglicherweise etwas Geduld haben:

Nachfolgende Startvorgänge sind mit etwa 90 Sekunden schneller.

Ein weiteres Problem besteht darin, dass der Fernsehbildschirm schwarz ist, obwohl mein Fernseher erkennt, dass das HDMI-Kabel angeschlossen ist, und es zu HDMI-Aktivitäten in der seriellen Konsole kommt:

Ich bin an einen anderen Ort gezogen und habe es mit einem anderen Display versucht, aber es hat überhaupt nicht funktioniert. Aber das liegt daran, dass meine MicroSD-Karte offenbar ausgefallen ist:

Ich musste eine MicroSD-Karte aus meiner Überwachungskamera nehmen, um weiterzumachen, und kaufte online fünf MicroSD-Karten der Klasse A1 für zukünftige Bewertungen …

Ich konnte normal booten, hatte aber das gleiche Problem mit dem schwarzen HDMI-Bildschirm. Ich glaube, ich weiß warum:

Es liegt ein Segmentierungsfehler vor … Andere Leute hatten ein ähnliches Problem mit einem schwarzen Bildschirm mit Mauszeiger oder einem schwarzen Bildschirm ohne Mauszeiger. Uns wurde gesagt, dass das daran liegt, dass 4K-Displays noch nicht unterstützt werden. Dies kann umgangen werden, indem in der Lightdm-Konfiguration (/etc/lightdm/lightdm.conf) 1920×1080 erzwungen wird, indem unter [Seat:*] die folgende Zeile hinzugefügt wird:

Meine Displays sind bereits 1920×1080 oder 1280×800, und das hat bei mir nicht funktioniert. Deshalb habe ich einen Eintrag im Forum gepostet und Sie können den Fortschritt von dort aus verfolgen.

Wie auch immer, in diesem Teil des VisionFive 2-Tests werde ich nur Headless-Linux testen und wahrscheinlich einen zweiten Teil schreiben, sobald ein neues Debian-Image veröffentlicht wird und ich auf die grafische Benutzeroberfläche zugreifen kann.

Wir können die Systeminformationen mit ein paar Befehlen überprüfen:

Mit der Quad-Core-CPU JH7110, 8 GB RAM, 32 GB SD-Karte und Treibern für Anzeige, Audio und Ethernet scheint alles ordnungsgemäß erkannt zu werden.

Wir können HDMI oder andere Video- oder Grafikfunktionen mit diesem Bild nicht testen, da es mit keinem meiner Monitore funktioniert, aber wir können trotzdem die Headless-Funktionen überprüfen.

GPIOs werden in sysfs angezeigt:

Versuchen wir, GPIO 44 (Pin 40 am GPIO-Header) umzuschalten:

Ich könnte 3,27 V mit einem Multimeter messen, dessen Leitungen an den Pins 40 und 39 liegen. Lassen Sie uns den Wert auf Null ändern

Mein Multimeter meldet 0,00 V. GPIO ist ein Pass. Informationen zur Verwendung der I2C-, SPI-, PWM- und UART-Schnittstellen finden Sie in der Dokumentation.

Fahren wir fort, indem wir die beiden Gigabit-Ethernet-Ports mit iperf3 testen, das mit apt installiert ist.

LAN1 (Platinenkante):

Die Ergebnisse sind in beide Richtungen perfekt, liegen jedoch unter dem Maximum bei Vollduplex. Dies sind jedoch ähnliche Ergebnisse wie auf einigen Arm-Plattformen wie Khadas VIM4 SBC.

LAN2 (neben dem HDMI-Anschluss):

Vollduplex:

Es ist so ziemlich das Gleiche wie der andere Ethernet-Port, und das ist auch ein Pass …

Ich habe eine 256 GB große Apacer M.2 2280 PCIe Gen3 x4 SSD (AS2280P4) im M.2-Sockel an der Unterseite der Platine installiert und sie wird ordnungsgemäß erkannt:

iozone3 ist nicht über apt verfügbar, daher musste ich es herunterladen und aus dem Quellcode erstellen:

Es gibt keine RISC-V-Option im Makefile, also habe ich zuerst versucht, „make linux“ zu verwenden, aber der Build ist beim Verknüpfen fehlgeschlagen. „make linux-arm“ wurde abgeschlossen, also werden wir das verwenden ...

Die SSD soll bis zu 1.800 MB/s Lesegeschwindigkeit und 1.100 MB/s Schreibgeschwindigkeit unterstützen. Bei 169 MB/s und 158 MB/s reicht das also überhaupt nicht aus. Ich habe es zuvor mit 1100 MB/s mit einem ORICO Thunderbolt/USB-Gehäuse getestet, das an einen Intel Mini-PC angeschlossen war. Eine Wiederholung des Tests auf dem VisionFive 2 ergibt die gleichen niedrigen Geschwindigkeiten.

Hier ist die Ausgabe für lscpi als Referenz:

Die Verbindungsgeschwindigkeit wird nicht angezeigt, aber wenn wir eine ausführlichere Ausgabe überprüfen, wird Folgendes angezeigt:

Das wäre vorerst ein Fehlschlag, da die Leistung viel zu gering ist.

Fahren Sie die Platine herunter, entfernen Sie die M.2 NVMe SSD und setzen Sie sie in das oben erwähnte ORICO-Gehäuse ein. Jetzt schließen wir das USB-SSD-Gehäuse an und booten das Board erneut

So sieht die Ausgabe von lsusb mit USB-Gehäuse, Tastatur und Maus aus:

Lassen Sie uns jetzt iozone ausführen:

Die Zahlen liegen merkwürdig nahe an denen beim Anschluss an die M.2-Buchse. 173 MB/s beim Schreiben und 152 MB/s beim Lesen … Das sollte bei einem USB 3.0-Anschluss mit 5 Gbit/s eher bei 300 bis 400 MB/s liegen. Es ist auch möglich, dass iozone3 einige Optimierungen für RISC-V erfordert, aber ich halte dies für unwahrscheinlich.

Obwohl wir HDMI-Audio derzeit nicht testen können, können wir dennoch die 3,5-mm-Audiobuchse ausprobieren, indem wir ein Paar Lautsprecher anschließen, die über einen der USB-Anschlüsse der Platine mit Strom versorgt werden. USB dient nur der Stromversorgung und der Ton kommt über die 3,5-mm-Buchse.

Ich habe das vorinstallierte ffplay verwendet, um einige lizenzfreie MP3 abzuspielen:

Es funktioniert gut, aber der Ton war bei voller Lautstärke gesättigt. Nachdem die Lautstärke der Lautsprecher verringert wurde, trat dieses Problem nicht mehr auf.

Lassen Sie uns einige Kommentare zur MicroSD-Karte hinzufügen. Die verwendeten Karten haben eine schlechte Random-I/O-Leistung, aber ich konnte sie ohne große Schwierigkeiten mit Raspberry Pi und anderen SBCs verwenden. Aber mit dem Debian 12-Image, das in VisionFive 2 verwendet wird, kann es wirklich sein, einfach Befehle in das Terminal einzugeben, selbst ein einfaches „ls“ im Stammverzeichnis kann 10 Sekunden dauern.

Außerdem muss ich etwa 5 bis 10 Minuten warten, bevor ich über die Anmeldeaufforderung „StarFive Login: Root“ gehen und mit der Eingabe von Befehlen beginnen kann. Eine leistungsstärkere MicroSD-Karte oder die Verwendung eines eMMC-Moduls würden sicherlich helfen, aber ich bin mir ziemlich sicher, dass auch das Debian-Image in dieser Hinsicht optimiert werden muss.

Normalerweise führe ich das Skript sbc-bench.sh aus, um die Leistung von Einplatinencomputern und Mini-PCs zu bewerten. RISC-V ist eine ziemlich neue Plattform, daher habe ich nicht viel gehofft, dass es reibungslos funktionieren würde, aber ich habe es trotzdem versucht.

Die Informationsansicht funktioniert gut. Hier gibt es viele Aktivitäten und E/A-Vorgänge, da ein Paket in einem anderen Terminalfenster installiert wird.

Aber selbst im Leerlauf startet die SBC-Bank aufgrund einer hohen CPU-Auslastung nicht:

Darüber hinaus gibt es noch zwei weitere Warnungen. Der erste Grund ist, dass das Skript nicht auf dem noch zu veröffentlichenden Debian 12 „Bookworm“ getestet wurde. Der zweite Grund liegt darin, dass die dmesg-Ausgabe abgeschnitten ist und nicht bei 00:00 beginnt. Ich werde keinen Neustart durchführen, da der vollständige Startvorgang nach der Anmeldung und dem Zugriff auf die Eingabeaufforderung etwa 8 Minuten dauert. Deaktivieren wir die Überprüfung der durchschnittlichen CPU-Auslastung und starten Sie das Skript neu, um zu sehen, wie weit es gehen kann:

Das 7-zip-Paket ist nicht Teil des Debian RISCV64-Repositorys und müsste aus dem Quellcode erstellt werden, um auf dem VisionFive 2-Board ausgeführt zu werden. Daher ist es zum jetzigen Zeitpunkt nicht möglich, SBC Bench auszuführen, ohne einige Tests auszulassen. Schauen wir uns das in ein paar Monaten noch einmal an.

StarFive VisionFive 2 sollte zu diesem Zeitpunkt als RISC-V-Entwicklungsboard betrachtet werden und ist nicht für die Integration in Projekte/Produkte geeignet, bis weitere Fortschritte auf der Softwareseite erzielt werden. Da Linux RISC-V noch recht neu ist, insbesondere aus Video-/Grafiksicht, ist damit zu rechnen. Es gibt bereits Funktionen, die gut funktionieren, wie Gigabit-Ethernet, GPIOs, die Audio-Buchse und USB, aber andere wie HDMI und Speicherleistung erfordern noch viel Arbeit. Auch die Systemstabilität muss verbessert werden, da meine SSH-Verbindung einige Male unterbrochen wurde und ich die Verbindung nicht wiederherstellen konnte. Auch die serielle Konsole funktionierte nicht, was einen harten Neustart erforderte. Aber ich sehe eine ordentliche Aktivität in den Foren und das Unternehmen arbeitet an der Mainlining des Linux-Kernels.

Ich möchte StarFive für die Zusendung des Boards danken. Entwickler, die bei Software und/oder Tests helfen möchten, können den hier getesteten VisionFive 2 SBC für 70,40 $ zzgl. Versand (und möglicherweise Steuern) erwerben. Das Board wird auch bei Amazon für 112 US-Dollar mit WLAN angeboten.

Jean-Luc startete CNX Software im Jahr 2010 als Teilzeitunternehmen, bevor er seinen Job als Software-Engineering-Manager kündigte und später im Jahr 2011 begann, täglich Nachrichten und Rezensionen in Vollzeit zu schreiben.

Unterstützen Sie CNX Software! Spenden Sie über Kryptowährungen oder werden Sie Patron auf Patreon

Zusammenhängende Posts:

V1.3B