PI 5 - La promesse

La promesse

On se répète : pas de Raspberry Pi pour cause de pénuries ! Alors on expérimente d'autres pistes. Xunlong, la marque qui fabrique les Orange Pi nous avait surpris en 2015 avec la Orange Pi Zero, une Single Board Computer (SBC) à 8€ avec 4 coeurs ! Ensuite on a reçu de nombreuses autres cartes et ces trois dernières années la Orange Pi Zero 2 nous a emballé pour son rapport performances prix.

En 2022 les processeurs en architecture ARM on beaucoup évolué, par exemple le Rockchip RK3588 offre une lithographie en 8 nanomètres quand la Raspberry propose du Broadcom en 28nm. Cette finesse de gravure, c'est l'actuel nerf de la guerre de processeurs, parce que plus c'est gravé fin, moins ça consomme et plus c'est puissant, en caricaturant à outrance.

Au mois d'avril 2022 Xunlong annonçait une carte avec le RK3588 et c'est seulement fin décembre que les premiers exemplaires sont livrés.

Après neuf mois d'attente, le 11 décembre 2022, la Orange Pi Pi5 de Xunlong est enfin dans nos mains. Alors, la promesse d'une petite carte pas (trop) chère et (très) performante sera t-elle tenue ?

Systèmes d'exploitation ?

Xunlong n'est pas totalement au clair avec les systèmes d'exploitation disponibles pour la carte. On dispose de Debian et Ubuntu et d'une version Android, mais l'OS "Orange Pi" qui promet des merveilles en terme d'IHM n'est pas encore disponible. Dommage.

Android fonctionne très bien sur la carte, super pour faire du rétro-gaming, ceci-dit on s'en fiche, ce n'est pas notre sujet.

Raspberry Pi Imager permet de flasher la carte SD avec une image système et à 380Ko c'est moins lourd que Balena Etcher qui fait 80 Mo !

J'ai essayé Ubuntu qui marche bien mais qui n'est pas très joli, puis ensuite Debian en version serveur pour travailler sur du développement.

De la documentation !

On peut télécharger la volumineuse documentation avec ce lien. La documentation explique par exemple comment transférer l'OS sur le disque nvme de la carte.

Le premier document est très technique et contient le mapping des pins du processeur et d'autres composants.

Le second est le User Manual composé de 181 pages : il y a des informations qu'il faudra lire pour tirer le meilleur de la carte. C'est un soulagement de bénéficier de ce document.

Premiers instants

On n'a pas deux fois l'occasion de faire une première bonne impression. La carte est sous tension et l'écran branché indique qu'un resize de la partition de la SD Card est en cours (128Go, environ 6 minutes).

On va laisser faire son travail... Mais pendant ce temps on prend la main avec une session SSH (orangepi / orangepi). C'est fluide et la carte nous indique 37°, ce qui est plutôt bon signe dans un bureau à 26°.

Comme il se doit, nous allons faire un sudo apt update et sudo apt upgrade pour mettre à jour le système.

Contrairement à la OPZ2 dont les repositories sont hébergés par la meilleure université chinoise, Tsinghua, pour la OPi5 c'est hébergé chez Huawei. Mmm...

Ensuite, pour éviter les mauvaises surprises (type clavier français conecté et clavier américain configuré), toujours sur la ligne de commande, on va lancer l'outil de configuration :

sudo orangepi-config

Et choisi Personal pour au moins régler la time zone et le clavier...

Voilà, on peut changer le clavier ici (en US pour l'instant).

Bien entendu on a aussi la capacité à utiliser l'interface graphique pour ces détails (si l'on a une version desktop du système) mais il s'agit de s'occuper durant le "resize" de la partition de la SD Card.

La question du clavier est assez importante, elle a de quoi frustrer si l'on néglige cette étape.

Ensuite installation de bpytop et neofetch :

sudo apt install bpytop

sudo apt install neofetch

L'application bpytop sur la ligne de commande nous indique que nous avons 8 coeurs, 8Go de RAM et une carte de 120Go (cent vingt gigots, de quoi faire un banquet).

Neofetch nous indique clairement quelle version de Linux nous sommes en train d'utiliser, entre autres choses.

Tant que nous y sommes, nous allons ajouter un nouvel utilisateur :

sudo adduser bob

et on ajoute bob au groupe admin

usermod -aG sudo bob

Et si on s'est loggé avec l'utilisateur orange pi, on modifie le password par défaut :

sudo passwd

Ensuite d'habitude je me logge avec le compte root (root / orangepi) et je change le mot de passe...

Températures, consommation

Je remercie Sabug et GourouLubrik qui ont posé plein de questions et donné des informatoins pour les lignes ci-dessous.

Question température, quand on ne fait rien, la carte ne chauffe pas beaucoup. Rien, c'est bricoler sur la ligne de commande.

Sans radiateur, sous fortes sollicitations la température augmente et se rapproche de 80°.

Avec un radiateur sur le processeur, la température max est mieux gérée (voir-cidessous).

Considérez qu'il faut au moins un radiateur et selon votre usage, par exemple retro-gaming, il faut penser à un ventilateur.

Voici les températures pendant le test CPU Benchmark, avec un radiateur, dans une pièce à 26° : on a un pic à 70° !

On voit bien les deux vitesses différentes des deux types de coeurs. Cela confirme que le test est bien effectué à la bonne fréquence. Il y a eu quelques cartes de tests qui sont sorties avec une fréquence limitée à 2.2GHz, là nous sommes dans la bonne vitesse.

Ci-contre, la même mesure de température pendant le test. Nous avons désigné une boite permettant de poser deux petits ventilateurs dessus.

La température maxi n'arrive pas à atteindre 60° : très intéressant !

En sélectionnant avec l'utilitaire orangepi-config :

  • 408MHz de vitesse mini

  • power save pour le CPU

Dans une pièce à 25° on se retrouve avec une température qui oscille entre 28.7° et 29.6° pour le processeur, avec un nvme Samsung 500Go et les deux ventilateurs qui ronronnent.

Voilà notre Orange Pi 5 installée dans le design 3D avec deux ventilateurs qui permettent de gérer complètement la question de la température.

Le support du bas permet de protéger un nvme 2280 et il est compatible VESA 7.5 et 10cm. Nous avons aussi un modèle plus court pour les 2242 ou 2230.

Le support du haut dispose de petits trous qui permettent de positionner des ventilateurs autour de la carte de la manière dont on le souhaite.

La prise de température pendant cpubench montre que cela fonctionne. Certainement un design avec les ventilos sur le rad aurait été plus efficaces, mais ici on est libre de poser les ventilateurs où l'on veut ou visser d'autres choses si on le souhaute.

Selon la température ambiante, en "idle", sans rien faire, la carte est à 35° sans rad et sans ventilateur, dans un bureau à 25°. Ce matin, au boot, dans un bureau à 21° la carte est à 26° avec un rad : j'apprécie.

Avec une carte SD, durant 10 heures en idle, la carte a consommé un peu moins de 12Wh, ce qui nous fait une consommation horaire < 1.2Wh, sans nvme ni ventilateurs.

Dans les mêmes condition "idle", avec un nvme connecté, j'ai trouvé une consommation de 1.28Wh, soit 0.1Wh de plus pour le modèle de nvme installé. Attention à l'alimentation : un nvme peur consommer jusqu'à 3A en 3.3V !

Attention quand même, lors de benchs du nvme, la consommation est montée à 10W ! Orange Pi propose une alimentation capable de délivrer 4A, sous 5V cela correspond à 20W : ce n'est pas du luxe.

D'autre part, même si la consommation en idle est de 1.28Wh avec le nvme, certains nvme consomment plus que d'autres : certains indiquent 1.5A ou 2A en 3.3V, soit environ 7Wh. Ce sont des pics bien entendu.

En résumé :

  • idle = 1.28W

  • maximum = 10W

Il faut soigner l'alimentation, ce n'est pas comme une Rapsberry Pi Zero qui se contente d'électrons distribués au compte goutte !

Installer un NVME

Sur Taobao il y un très grand choix de "disques". Pour 128Go on est dans les 12€ et pour 256Go on est à 15€. Les marques connues sont présentes, avec des modules Samsung ou Hinyx. Pour ma part, j'ai pris le moins cher que je puisse trouver avec un KingSpec à 8€ : si cela ne fonctionne pas, ce n'est pas grave.

Très important : la carte n'a qu'une ligne PCIe2 : le débit maximum théorique est de 500MB/s, inutile dépenser des fortunes dans des disques aux performances élevées.

A vrai dire, c'est la première fois que j'ai un nvme sur une SBC. Avant la crise sanitaire (et celle des composants) on avait de nombreuses cartes à des tarifs ridicules. C'était des petits jouets rigolos avec des performances peu élevées, en rapport avec le tarif. Et même, la OPZ2 à 18€ initialement, proposait beaucoup pour si peu cher.

Maintenant on a pris l'habitude de dépenser plus. 80€, c'est énorme pour une SBC, surtout quand on trouve des Lenovo X220 pour 150€ d'occasion, ou des équivalents NUC neufs dans les même tarifs. Ceci dit, 80€ pour ces performances, nvme (même limité), ça "tue" un Raspberry Pi 4 8G à supposer qu'elle soit disponible.

La procédure d'installation est simple et détaillée dans la documentation. En gros, il faut préparer une sdcard OS temporaire sur laquelle on boote, puis :

  • lancer nand-sata-install pour modifier le bootloader dans la mémoire SPI, choisissez l'option n° 7 et patientez environ trois minutes : il n'ya pas d'écho, seulement la mention "Done" qui va apparaître en haut à gauche quand l'opération est terminée

  • nettoyer le disque nvme dd bs=1M if=/dev/zero of=/dev/nvme0n1 count=2000 status=progress

  • recopier l'image du système (environ 30 secondes) : dd bs=1M if=OPi5.img of=/dev/nvme0n1 status=progress

  • sudo reboot

Le point important, c'est de récupérer l'image sur la carte : on un système sur la SD Card sur lequel on ne veut pas passer du temps, il sert juste à préparer le nvme. J'ai trouvé que le mieux c'est de le copier sur une clé USB (on a des ports sur la carte). Et aussi, j'ai renommé l'image en OPi5.img, plutôt que de me trainer le nom à rallonge. C'est le seul paramètre à ne pas louper : indiquer le bon nom de l'image.

Quelques performances nvme

Mesures de lecture selon le support :

  • SD Card Samsung = 61MB/s

  • nvme = 366MB/s

Nous sommes dans un facteur 6 !

Avec sysbench nous sommes à ces vitesses là :

  • read 392 MBs

  • write 362 MBs

Ce n'est "bon" pour un nvme mais c'est excellent pour une SBC par rapport à une SD Card. Globalement sur un port USB 3 on peut espérer atteindre la moitié de ces performances avec de l'USB 3.1 et sur une Raspberry avec de l'USB 3.0 on est très loin de ces chiffres.

Si l'on veut avoir une vue (sur la ligne de commande) sur son nvme on peut installer nvme-cli et le lancer.

La copie ci-contre est sur un "vieux" nvme qui en service depuis deux ans.

  • sudo apt install nvme-cli

  • sudo hdparm -I /dev/nvme01n1p1

Dans le cas où l'on achète un disque neuf, c'est confortable de confirmer qu'il est vraiment neuf, sinon il repart chez amazon.

S'il a 10000 heures de vol et que 90% du spare est utilisé, et bien c'est une saucisse qui va pas tarder à finir sa vie en eau de boudin.

En conclusion

Encore beaucoup de chose à éclaircir :

  • par exemple les performances de l'USB 3.1 présentes (excellentes) sont sur un des deux port USB bleu du bas uniquement

  • je ne comprends pas le port USB C. A investiguer en traçant les connexions sur la documentation pour voir comment c'est câblé

  • il n'y a pas de Wifi. Quasiment n'importe quel dongle va fonctionner sous Linux mais ceux qui veulent en faire un centre multimédia Android vont devoir tester quel dongle fonctionne avec la carte

  • à confirmer : le PCB semble dans une sorte de bakélite, réputée pour prendre l'humidité et prendre des températures jusqu'à 120 / 130°

  • le système Orange Pi n'est pas disponible et ça fait des mois que l'on en parle. Beaucoup de frustration pour ma part, j'attends impatiemment de voir ce que cela donne.

On a préparé un désign et on le propose sur Thingiverse.

Le point important pour la OPi5, c'est que le RK3588S est disponible dans une carte à moins de 100€ : ce n'est pas la meilleure, mais c'est le rapport puissance / € le plus intéressant à ma connaissance.

La carte a été reçue il y a trois semaines (décembre 2022). Cela fait deux semaines qu'elle est utilisée "en production" avec Docker et des outils autour de l'écosystème Grafana : Loki, Prometheus etc... C'est très très fluide, tout fonctionne, comme si j'avais un serveur à disposition dans le cloud. Le Linux saveur Debian serveur est excellent pour tout ce que j'ai fait jusqu'à présent.

Je me répète : je suis impatient de pouvoir tester le système Linux "Orange Pi Os", ça fait des mois que je l'attend, c'est annoncé, on a des articles qui se recopient les uns sur les autres mais qui ne montrent que des photos récupérées ici. Cet OS qui fait saliver n'est pas disponible !

Je vais commander une autre OPi5, pour remplacer la vénérable Orange Pi Zero 2 qui chauffe depuis quatre ans à faire serveur LMS. Les performances de la OPi5 sont d'un tout autre niveau, c'est celui d'un petit PC, pas celui d'une SBC : plein de coeurs et plein de RAM !

La OPi5 n'empêchera pas d'utiliser des SBCs pas chères pour faire un lecteur audio ou gérer une imprimante 3D. Pour tous ceux qui souhaitent, pour moins de 100%, expérimenter du serveur Linux, la OPi5 est un tournant. Ceux qui souhaitent une machine de jeux sous Android aussi, les perfs ont l'air époustouflante, mais ce n'est pas notre sujet.