banner
Centre d'Information
Nos produits garantissent une solution indolore, pratique et sécurisée.

Mains

May 07, 2023

StarFive m'a envoyé un de ses SBC VisionFive 2 RISC-V pour évaluation et révision. J'ai obtenu le modèle avec double Gigabit Ethernet et 8 Go de RAM, et je rapporterai mon expérience avec l'image "bookworm" Debian 12. Mais notez que ce ne sera pas exactement un examen puisque le conseil n'est pas révisable pour le moment. C'est vraiment pour les premiers utilisateurs et il y a beaucoup de problèmes à résoudre, et dans ce post, je rapporterai ce qui fonctionne et ce qui ne fonctionne pas, et certains des défis que j'ai rencontrés juste pour installer le système d'exploitation…

Le tableau est livré dans un emballage sur lequel on peut lire "Embrasser le changement, embrasser l'avenir".

La partie inférieure contient des liens utiles et des codes QR, et ce que vous voudrez, c'est le référentiel GitHub avec le code source et les instructions pour créer l'image à partir de la source (Remarque : Ubuntu 16.04, 18.04 ou 20.04 x86_64 recommandé), ainsi que la section du forum RVspace pour le forum où nous trouverons des instructions pour démarrer et les commentaires des autres utilisateurs.

La disposition et les composants de la carte sont exactement les mêmes que lors du lancement sur Kickstarter, sauf que ma carte est VisionFive 2V1.3B.

Nous avons le processeur RISC-V quadricœur StarFive JH7110 au centre, une puce RAM BIWIN BWMZCX32H2A-64G de 8 Go, un pont VL805 PCIe vers USB 3.0 comme dans le Raspberry Pi 4, deux émetteurs-récepteurs Gigabit Ethernet MotorComm YT8531C et un PMIC AXP15060. Tous les ports principaux sont d'un côté avec une prise audio 3,5 mm, quatre ports USB 3.0, une sortie HDMI 2.0 et deux ports Gigabit Ethernet.

La face inférieure est livrée avec une prise pour carte MicroSD que nous utiliserons pour démarrer le système d'exploitation, des connecteurs pour un module flash eMMC et une prise M.2 pour un SSD NVMe.

Les images Debian sont disponibles sur le site Web de StarFive avec un lien vers Baidu Drive ou Google Drive. La dernière image est actuellement Image-69 publiée fin décembre

L'image non compressée ne rentrait pas dans ma carte MicroSD de 8 Go, je l'ai donc flashée sur une carte MicroSD de 32 Go, ce qui a pris près de 45 minutes. Je pense qu'il est peut-être sur le point de mourir et que je devrai peut-être acheter un autre lot de cartes. Tout ce temps perdu à obtenir des cartes MicroSD qui ne durent que quelques mois est en partie la raison pour laquelle j'ai toujours détesté les cartes qui ne démarrent qu'avec une carte MicroSD…

J'ai ensuite connecté un clavier USB, une souris USB, un câble Ethernet et un adaptateur secteur USB Type-C. J'ai d'abord opté pour un 5V/2A, mais ce n'est pas une bonne idée, car il ne fournit pas assez de puissance et la carte démarrera en boucle en continu. Un adaptateur secteur Raspberry Pi 5V / 3A ne l'a pas coupé non plus, j'ai donc opté pour un adaptateur secteur GaN 100W pour m'assurer que je n'avais aucun problème lié à l'alimentation. Oh, et j'ai ajouté une entretoise pour élever la planche car c'est recommandé.

Mais ensuite, j'ai remarqué que la carte ne démarrait pas et j'ai trouvé l'annonce Image 69 dans les forums qui explique :

Veuillez mettre à jour les derniers binaires SPL 46 et U-Boot 44 en suivant le Guide : 4.3 charpter 77 avant d'exécuter cette image Debian. c'est très important.

Trouver la documentation appropriée a pris un certain temps, car elle est répartie partout en chinois et/ou en anglais, mais le meilleur endroit où aller est la page Statut de publication du document avec la documentation en anglais. Il est possible de se connecter via SSH, mais compte tenu de la probabilité d'avoir un problème de démarrage, je recommanderais vraiment de connecter une carte de débogage série, c'est ainsi que j'ai découvert le problème de boucle de démarrage mentionné ci-dessus.

Avant d'installer Debian 12, nous devrons mettre à jour le chargeur de démarrage SPL et U-boot sur le VisionFive 2, et utiliser également l'image Linux minimale sdcard.img. Nous les trouverons sur GitHub, et j'ai utilisé la partie fichiers de VisionFive2 Software v2.8.0. La première étape consistait à flasher sdcard.img sur une carte MicroSD. Cette image tient dans une carte de 8 Go.

Nous pouvons nous connecter avec le nom d'utilisateur "root" et le mot de passe "starfive". Voici le journal de démarrage pour les esprits curieux.

Assurons-nous que nous sommes connectés au réseau :

Tout bon. Nous pouvons maintenant télécharger les derniers binaires SPL et U-boot depuis GitHub et les transférer sur la carte via SCP depuis votre machine hôte :

De retour dans le terminal VisionFive 2, nous pouvons vérifier les partitions :

Ça a l'air bien, alors mettons à jour le binaire SPL avec l'utilitaire flashcp :

puis U-boot :

Éteignez la carte VisionFive 2 et remplacez la carte MicroSD par celle avec l'image Debian 12. J'ai pu démarrer l'image "avec succès".

Mais le premier démarrage a pris plus de 3 minutes, vous devrez peut-être être patient :

Les démarrages suivants sont plus rapides à environ 90 secondes.

Un autre problème est que l'écran du téléviseur est noir bien que mon téléviseur détecte que le câble HDMI est connecté et qu'il y a une activité concernant HDMI dans la console série :

J'ai déménagé à un autre endroit et j'ai essayé avec un autre écran et cela n'a pas fonctionné du tout. Mais c'est parce que ma carte MicroSD a apparemment échoué :

J'ai dû prendre une carte MicroSD de ma caméra de sécurité pour continuer et j'ai acheté cinq cartes MicroSD de classe A1 en ligne pour de futurs examens…

Je pouvais démarrer normalement, mais j'avais le même problème d'écran HDMI noir. Je pense savoir pourquoi :

Il y a un défaut de segmentation… D'autres personnes ont eu un problème similaire avec soit un écran noir avec un pointeur de souris, soit un écran noir sans pointeur de souris. On nous dit que c'est parce que les écrans 4K ne sont pas encore pris en charge, et cela peut être contourné en forçant 1920×1080 dans la configuration lightdm (/etc/lightdm/lightdm.conf) en ajoutant la ligne suivante sous [Seat:*] :

Mes écrans sont déjà en 1920×1080 ou 1280×800, et je n'ai pas travaillé pour moi. J'ai donc posté une entrée dans le forum et vous pouvez suivre les progrès à partir de là.

Quoi qu'il en soit, dans cette partie de la critique de VisionFive 2, je ne testerai que Linux sans tête, et j'écrirai probablement une deuxième partie une fois qu'une nouvelle image Debian sera publiée et que je pourrai accéder à l'interface utilisateur graphique.

Nous pouvons vérifier les informations système avec quelques commandes :

Il semble que tout soit correctement détecté avec le processeur quadricœur JH7110, 8 Go de RAM, une carte SD de 32 Go et des pilotes pour l'affichage, l'audio et Ethernet.

Nous ne pouvons pas tester HDMI ou d'autres fonctionnalités liées à la vidéo ou aux graphiques avec cette image car elle ne fonctionne avec aucun de mes moniteurs, mais nous pouvons toujours vérifier les fonctionnalités sans tête.

Les GPIO apparaissent dans sysfs :

Essayons de basculer GPIO 44 (broche 40 sur l'en-tête GPIO):

J'ai pu mesurer 3,27V avec un multimètre avec des fils placés sur les broches 40 et 39. Changeons la valeur à zéro

Mon multimètre indique 0.00V. GPIO est un laissez-passer. Vous trouverez comment utiliser les interfaces I2C, SPI, PWM et UART dans la documentation.

Continuons en testant les deux ports Gigabit Ethernet avec iperf3 installé avec apt.

LAN1 (bord de carte) :

Les résultats sont parfaits dans les deux sens, mais inférieurs au maximum avec le full-duplex. Ce sont cependant des résultats similaires à ceux de certaines plates-formes Arm telles que Khadas VIM4 SBC.

LAN2 (à côté du port HDMI) :

Un duplex plein:

C'est à peu près la même chose que l'autre port Ethernet, et c'est aussi une réussite…

J'ai installé un SSD Apacer M.2 2280 PCIe Gen3 x4 (AS2280P4) de 256 Go dans le socket M.2 en bas de la carte, et il est correctement détecté :

iozone3 n'est pas disponible via apt, j'ai donc dû le télécharger et le compiler à partir des sources :

Il n'y a pas d'option RISC-V dans le Makefile, j'ai donc d'abord essayé d'utiliser "make linux", mais la construction a échoué lors de la liaison. "make linux-arm" s'est terminé, nous allons donc l'utiliser…

Le SSD est censé prendre en charge des vitesses de lecture allant jusqu'à 1 800 Mo/s et des vitesses d'écriture de 1 100 Mo/s. Donc, à 169 Mo/s et 158 ​​Mo/s, cela ne suffit pas du tout. Je l'ai précédemment testé à 1100 Mo/s avec un boîtier ORICO Thunderbolt/USB connecté à un mini PC Intel. Répéter le test sur le VisionFive 2 donne les mêmes basses vitesses.

Voici la sortie pour lscpi pour référence :

Il n'affiche pas la vitesse de la liaison, mais si nous vérifions une sortie plus détaillée, il affiche :

Celui-là serait un échec pour le moment, car les performances sont bien trop faibles.

Laissez éteindre la carte, retirez le SSD M.2 NVMe et placez-le dans le boîtier ORICO mentionné ci-dessus. Maintenant, connectons le boîtier USB SSD et redémarrons la carte et

Voici à quoi ressemble la sortie de lsusb avec le boîtier USB, le clavier et la souris :

Lançons maintenant iozone :

Les chiffres sont étrangement proches de ceux lorsqu'ils sont connectés à la prise M.2. 173 Mo/s en écriture et 152 Mo/s en lecture… Cela devrait être plus proche de 300 à 400 Mo/s sur un port USB 3.0 à 5 Gbps. Il est également possible que iozone3 nécessite certaines optimisations pour RISC-V, mais je considère cela comme peu probable.

Bien que nous ne puissions pas tester l'audio HDMI pour le moment, nous pouvons toujours essayer la prise audio 3,5 mm en connectant une paire de haut-parleurs alimentés par l'un des ports USB de la carte. L'USB sert uniquement à l'alimentation et l'audio provient de la prise jack 3,5 mm.

J'ai utilisé le ffplay préinstallé pour lire des MP3 sans licence :

Cela fonctionne bien, mais le son était saturé à plein volume. Il n'y avait pas de problème après avoir baissé le volume des haut-parleurs.

Ajoutons quelques commentaires sur la carte MicroSD. Les cartes utilisées ont de mauvaises performances d'E / S aléatoires, mais je pourrais les utiliser avec Raspberry Pi et d'autres SBC sans trop de difficulté. Mais avec l'image Debian 12 utilisée dans VisionFive 2, le simple fait de taper des commandes dans le terminal peut être vraiment, même un simple "ls" dans le répertoire racine peut prendre 10 secondes.

Je dois également attendre environ 5 à 10 minutes avant de pouvoir passer par l'invite de connexion "starfive login: root" et commencer à taper des commandes. Avoir une carte MicroSD plus performante ou utiliser un module eMMC serait certainement utile, mais je suis presque sûr que l'image Debian doit également être optimisée à cet égard.

J'exécute généralement le script sbc-bench.sh pour évaluer les performances des ordinateurs à carte unique et des mini-PC. RISC-V est une plate-forme assez nouvelle, donc je n'espérais pas vraiment que cela fonctionnerait correctement, mais j'ai quand même essayé.

La vue d'information fonctionne bien. Il y a beaucoup d'activité et d'E/S ici car un paquet est en cours d'installation dans une autre fenêtre de terminal.

Mais même en cas d'inactivité, le banc SBC ne démarre pas en raison d'une charge CPU élevée :

Il y a aussi deux autres avertissements. Le premier est que le script n'a pas été testé sur le "Bookworm" Debian 12 qui n'est pas encore sorti. La seconde est que la sortie dmesg est tronquée et ne commence pas à 00:00. Je ne vais pas redémarrer, car cela prend environ 8 minutes pour un cycle de démarrage complet jusqu'au point après que je me suis connecté et que j'ai accédé à l'invite de commande. Désactivons la vérification de la charge moyenne du processeur et redémarrons le script pour voir jusqu'où il peut aller :

Le package 7-zip ne fait pas partie du référentiel Debian RISCV64 et il devrait être construit à partir de la source pour s'exécuter sur la carte VisionFive 2. Donc, à ce stade, il n'est pas possible d'exécuter SBC Bench sans sauter quelques tests. A revoir dans quelques mois.

StarFive VisionFive 2 doit être considérée comme une carte de développement RISC-V à ce stade, et elle ne convient pas à l'intégration dans des projets/produits jusqu'à ce que de nouveaux progrès soient réalisés du côté logiciel. Étant donné que Linux RISC-V est encore assez nouveau, en particulier d'un point de vue vidéo/graphique, il faut s'y attendre. Il existe déjà des fonctionnalités qui fonctionnent bien telles que Gigabit Ethernet, GPIO, la prise audio et USB, mais d'autres comme HDMI et les performances de stockage nécessitent encore beaucoup de travail. La stabilité du système doit également être améliorée car ma connexion SSH a chuté plusieurs fois et je n'ai pas pu me reconnecter, et la console série n'a pas fonctionné, ce qui a nécessité un redémarrage brutal. Mais je peux voir une quantité décente d'activité dans les forums et la société travaille à la mise au point du noyau Linux.

J'aimerais remercier StarFive pour l'envoi de la carte. Les développeurs qui souhaitent aider avec les logiciels et / ou les tests peuvent acheter le VisionFive 2 SBC examiné ici pour 70,40 $ plus les frais d'expédition (et éventuellement les taxes). La planche est également proposée sur Amazon pour 112 $ avec WiFi.

Jean-Luc a lancé CNX Software en 2010 à temps partiel, avant de quitter son poste de directeur de l'ingénierie logicielle et de commencer à écrire des nouvelles quotidiennes et des critiques à temps plein plus tard en 2011.

Soutenez le logiciel CNX ! Faites un don via des crypto-monnaies ou devenez mécène sur Patreon

Articles Similaires:

V1.3B