Recyclez vos shitbox TV Android ! Armbian, LibreELEC, MiniArch... [TU] - Electronique, domotique, DIY
Marsh Posté le 17-02-2025 à 19:31:48
XFCE avec 1 Go de RAM plutôt pas. Peut-être à la limite LXQt, mais même tu ne pourras pas lancer grand chose au niveau logiciel avec la RAM...
Y'a pas moyen de rajouter 1 Go ou du genre?
Sinon un lien intéressant pour le SoC: https://linux-sunxi.org/Main_Page
Marsh Posté le 17-02-2025 à 19:39:25
Reprise du premier post qui a initié le topic :
J'avais acheté cette TV box Android CX-968 ... peut être bien sur DX Elle est parfois référencée comme CX-H3, rapport à son processeur, l'AllWinner H3. Elle dormait dans un tiroir depuis des années, bloquée sur Android 4.4
1 Go de ram, 8 Go de stockage, et une extraordinaire puce 4 cœurs Cortex-A7 à 1.3 GHz.
Bref. Je tombe dessus en faisant de rangement, je branche pour voir, ça fonctionne mais bon sang le retour dans le passé... Je cherche sur internet s'il n'y a pas une rom plus récente, et pas grand chose. Je décide donc de me tourner vers GNU/Linux.
Cette box a une particularité bien pratique : elle tente de booter sur la carte SD, puis passe sur la mémoire interne. Je remarque que la bête est construite exactement comme un Banana Pi M2+. Même processeur, même chip réseau/wifi/BT, même mémoire... Je flash sur une SD l'image Minimal/IOT basée sur Debian, et roule ma poule. Ça boot, et un peu de armbian-config plus tard j'ai le wifi (et l'ethernet) fonctionnel !
Le wifi b/g/n se défends encore pas trop mal :
/dev/null 100%[==========================================>] 1,00G 4,97MB/s ds 3m 57s
J'ai tenté XFCE, mais on atteint les limites de la machine, ça rame. Pourtant j'ai trouvé cette comparaison, ça serait un peu au dessus d'un Pi 3 :
Mais en tant que serveur, c'est largement suffisant. Vu qu'il y a un ethernet et le wifi, je me demande si ça peut pas faire un routeur/Pi Hole. Il semblerait que même le capteur infrarouge soit reconnu par Linux !
Des idées d'utilisation (j'ai déjà un Pi 4 et 2b, mais ça me faisait mal au cœur de jeter cette chinoiserie ) ?
Y'a un emplacement de libre pour la ram, la plateforme supporte jusqu'à 2Go, mais ... faut souder
1 Go est suffisant pour un petit serveur, j'ai désinstallé la partie graphique qui me servira à rien.
Marsh Posté le 17-02-2025 à 23:54:57
daouar a écrit : faut souder |
et alors?
Faudrait voir le boîtier et le type de puce RAM, peut-être c'est faisable même au fer (avec du flux et de l'expérience!). Tu n'aurais pas (un lien vers) des photos de l'intérieur de la bête?
Marsh Posté le 18-02-2025 à 07:58:47
Voici la carte :
De l'autre coté, j'ai arraché le fil d'antenne à l'ouverture, obligé de ressouder le microscopique coax C'est probablement là qu'il faut ajouter 2x512 de DDR3 Samsung pour arriver aux 2 Go. Un fer à souder ne suffira pas
:
Et la magnifique plaque en chinoisium pour donner du poids à la bête, ça ne touche même pas complètement le radiateur pour évacuer la chaleur...
Marsh Posté le 18-02-2025 à 20:06:47
J'ai continué de jouer avec, en essayant Batocera et Retrorange Pi (car oui, chez Orange Pi la version "PC" est aussi très proche de l'architecture de ma TV Box, ça bloque juste sur le wifi qui est différent).
C'est pas mal mais pour du 8/16 bits, la N64 ou la PSP c'est mort. J'ai donc rebooté sur Armbian, présent sur la mémoire interne de la box. Bien pratique de pouvoir booter sur une SD et garder le système d'origine en interne
apt-get install xorg icewm, startx, et voilà un bureau minimaliste ! Ice WM, tout léger, qui m'a beaucoup servi sur les vieilles bécanes, avec son look Windows 95 :
Source : https://www.reddit.com/r/unixporn/c [...] indows_95/
Chromium installé (dommage pas de Firefox dispo ), la navigation web est utilisable, on peut même regarder sans trop de mal des vidéos Youtube. Les gros sites mettent de temps à s'afficher, il faut éviter d'ouvrir trop d'onglet, mais ça dépanne.
Enfin, ce n'est pas le but de ce bricolage, qui va plutôt devenir un serveur (voir une mini console rétrogaming ?).
Si vous avez des merdouilles du genre en AllWinner qui traîne, lancez vous, c'est amusant
Marsh Posté le 19-02-2025 à 12:36:31
Est-ce que ça intéresserait du monde de transformer le topic en topic unique pour centraliser ce genre de recyclage de box TV ? Je me rends compte du terrier de lapin que c'est, il y a beaucoup de distributions adaptées à ce genre de manip, et des dizaines de box Ali à pas cher qui peuvent devenir un serveur/mini ordi/borne rétrogamming finalement plus économique qu'un PI
Marsh Posté le 19-02-2025 à 16:27:59
daouar a écrit : Un fer à souder ne suffira pas |
Oui, clairement. Dommage. On pourrait tenter à l'air chaud mais c'est chaud pour ainsi dire sur une carte avec des composants sur deux faces et du BGA qu'il faut aligner; sans compter qu'il faut avoir les bons CI... A mon avis ça vaut pas la peine sauf si on est super bien équipé et expérimenté dans ce genre de bricolages.
Marsh Posté le 19-02-2025 à 17:24:00
Je salue l'initiative du TU. Tu pourrais rajouter une collection de liens utiles, notamment celui que j'ai fourni pour Allwinner. Si on s'y connaît un minimum (en élec, ligne de commande toussa) ça permet p.ex. de "dumper" la mémoire interne et de la reflasher ensuite etc.
Marsh Posté le 19-02-2025 à 17:30:29
Bah pas bien grave... Je vais me trouver deux manettes USB old school et en faire une NES/SNES/MD qui s'emporte facilement dans le sac Et une fois la SD ôtée, ça redeviens un serveur (qui sert que dalle pour l'instant
).
Et j'ai passé le topic en discussions sur ce genre de manip.
Marsh Posté le 19-02-2025 à 17:57:44
rat de combat a écrit : Je salue l'initiative du TU. |
Merci ! J'espère que ça va intéresser du monde, je me débrouille un peu en GNU/Linux mais je suis loin d'être un crack
Marsh Posté le 19-02-2025 à 18:00:42
Idem pour moi... Je tourne sous Debian depuis un moment, j'ai pas peur de la ligne de commande etc, mais je suis pas un "vrai barbu".
Il y a toute une cat' Linux aussi sur hfr si tu as des questions qui ne rentrent pas dans ce sujet.
Marsh Posté le 19-02-2025 à 20:07:45
J'ai utilisé Mandrake puis Ubuntu pendant des années sur ma machine principale, avant de céder à l'unix facile : MacOs Mais j'ai toujours eu un GNU/Linux qui tournait sur un PI ou autre quelque part dans la maison
Marsh Posté le 19-02-2025 à 22:17:02
j'avais une merde s92 aussi, très déçu que les ROM soient faites avec le cul ou absente, jamais pensé à foutre gnu/linux...
Marsh Posté le 20-02-2025 à 11:14:56
Bienvenu au club ! C'est quoi comme box exactement ? On veut voir les entrailles ! Et le splash screen de boot linux
Marsh Posté le 20-02-2025 à 11:48:04
Elle est à 2000 bornes
Mais j'aime bien le concept, au lieu de toper du x86 pour se faire une petite voix domotique, ça vaut le coup.
Marsh Posté le 20-02-2025 à 14:22:07
J'avais mis une debian sur une de ces box alacon
Marsh Posté le 20-02-2025 à 15:19:40
@daouar: Si l'image dans le FP vient de ton install tu devrais censurer l'adresse IP WAN à mon avis.
Marsh Posté le 20-02-2025 à 15:34:00
Pas faux, merci
Marsh Posté le 21-02-2025 à 09:31:55
J'ai trouvé une utilité à ma vieille box, elle va pister les avions C'était mon Pi 4b qui s'en occupait, mais il est loin de la fenêtre. Là, connecté en wifi, la CX-968 capte beaucoup mieux.
Pour faire ça il faut :
Une box (ou un pi) sous GNU/Linux, moi ça sera Armbian
Une clé RTL 2832 (ça se trouve pour une quinzaine d'euros sur Ali)
Ensuite, on branche la clé, on reboot la machine pour voir si elle est détectée avec un petit dmesg|grep rtl
[ 6.750813] rtl2832 1-0010: Realtek RTL2832 successfully attached |
sudo rtl-test pour voir si ça fonctionne :
Found 1 device(s): |
Cool, mais j'aimerais que ça ne soit pas que le root qui puisse utiliser la clé ! On va donc ajouter une règle udev : sudo nano /etc/udev/rules.d/20.rtlsdr.rules
Dans ce fichier, on va ajouter la ligne suivante, en ajustant le idVendor et idProduct pour correspondre aux identifiants matériels retournés par lsusb :
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", GROUP="adm", MODE="0666", SYMLINK+="rtl_sdr" |
Reboot, et maintenant plus besoin de sudo, rtl-test va fonctionner pour l'utilisateur.
Ensuite il faut dump1090, qui va extraire les informations ADS-B que capte la clé : sudo apt-get install dump1090-mutability
On test : dump1090-mutability --interactive --aggressive
Et ça marche !
Hex Mode Sqwk Flight Alt Spd Hdg Lat Long RSSI Msgs Ti- |
Reste à installer le client fr24 : wget -qO- https://fr24.com/install.sh | sudo bash -s
Se laisser guider. Puis dans un navigateur ouvrez ip_de-la_box:8754 pour accéder à l'administration de fr24 :
Au passage, ça permet d'avoir un compte Gold sur FlightRadar
Marsh Posté le 21-02-2025 à 23:24:00
Je ne comprends pas l'utilité, il y a déjà la carte des déplacements en temps réel, non ?
Marsh Posté le 21-02-2025 à 23:30:39
Kyjja a écrit : Je ne comprends pas l'utilité, il y a déjà la carte des déplacements en temps réel, non ? |
Parce que justement des gens bénévoles font tourner ce genre de matos chez eux non?
Sinon sympa le FP.
Marsh Posté le 17-02-2025 à 19:23:31
Les "nano-ordinateurs" sont dominés par le Raspberry Pi, suivi de clones chinois comme les Orange Pi, Banana Pi, et autre_fruits_et_légumes PI.
L'intérêt de ces machines vient surtout d'un faible coût, d'une consommation électrique réduite, et d'un encombrement minimum. Mais au fil du temps, le prix d'un Pi a augmenté, auquel il faut ajouter un boitier, une alim, une carte SD. Elles ont aussi la particularité d'offrir des ports GPIO (General purpose input/output), pour brancher des capteurs, écrans tactiles et autres gadgets. Chose totalement inutile dans bien des cas.
Viens alors une autre solution, objet de notre topic : les box TV, souvent sous Android. Elles partagent un hardware très similaire aux différents "bidules-PI". Sans les GPIO, mais avec généralement un port infrarouge, du wifi intégré, du stockage interne. Et un boitier plus ou moins moche
Que ce soit les *-Pi ou les box TV, leur particularité vient de leur architecture ARM. Qui est fournie principalement par trois constructeurs.
LES PLATEFORMES ARM :
Allwinner Technology (Chine) : Support limité, mais on trouve quelques pistes pour les chip H3, H6, H616 et H313.
Amlogic (USA) : Plutôt un bon support, beaucoup de projets sur la base S9xx.
Rockchip (Chine) : Bon support également (rk3399, rk3328, rk3288, rk3228, etc), c'est la section la plus active du forum box TV d'Armbian.
Bench Antutu des différentes plateformes, ça donne une idée de la puissance de votre box, ou pour vous orienter dans un achat (attention, tout n'est pas forcément compatible !) :
(grande image mais moins de 70ko)
Ensuite vient l'OS. Très souvent Android. Avec aucune mise à jour. Ma CX-968 était bloqué sur Android 4. Elle tourne maintenant avec le dernier noyau Linux !
LES DISTRIBUTIONS
Les distributions généralistes :
Armbian : basée sur Debian (et Ubuntu), offre une distribution optimisée pour ARM pour les adorateurs de apt. Beaucoup d'outils pour créer son Armbian "from scratch", avec l'aide d'un forum assez actif. Voir aussi ce dépôt qui propose des images Armbian pour plusieurs box Tv.
MiniArch : Un passionné qui propose plusieurs images disque basées sur Arch Linux pour plusieurs TV Box. S'il y a une image dans son dépôt, votre box devrait tourner correctement sous GNU/Linux.
Les distributions multimédia :
LibreELEC : conçu pour faire tourner le lecteur multimédia Kodi, elle donne aussi accès à un environnement GNU/Linux complet. Mais avec beaucoup de limitations par rapport à une distribution plus généraliste. Une partie de leur forum est dédié aux bidules sous ARM : https://forum.libreelec.tv/board/23-community/
CoreELEC : Frangin du précédent, se focalise uniquement sur la plateforme Amlogic.
MiniMyth : distribution spécialisée pour apporter MythTV / Kodi, là aussi orienté Amlogic.
Les distributions réseau :
OpenWRT : la célèbre distribution pour routeur, dispose de quelques versions pouvant fonctionner sur des box TV. Mais voir surtout ce dépôt avec des images spécifiques : https://github.com/ophub/amlogic-s9xxx-openwrt
NextClout : Pas une distribution mais un logiciel pour créer son cloud. Voici un (long) tuto pour installer sur une base Debian : https://debian-facile.org/doc:reseau:nextcloud
Les distributions rétrogaming :
Oui, vous pouvez aussi transformer votre box TV en console rétro ! Souvent vous avez même deux USB pour brancher des manettes, et si le bluetooth fonctionne c'est encore mieux.
Batocera : Fork de Recalbox, n'est plus limité au Rapsberry.
EmuELEC : Rejeton de CoreELEC, pour l'émulation sur la plateforme Amlogic (et un peu RockChip). Tuto pour EmuELEC
Lakka : La distribution officielle de RetroArch.
LES LIENS UTILES :
Linux-Sunxi : une communauté autour des logiciels open source dédiés aux appareils avec SOC Allwinner (Sunxi est la gamme budget d'AllWinner).
Turning an Amlogic S192 Android TV Box Into a Linux Appliance : Exemple pas à pas de l'installation de GNU/Linux sur une TV Box (en anglais)
LES BOX TV...
Là, c'est l’embarras du choix. Il existe des centaines de constructeurs, essentiellement chinois, qui sortent régulièrement des nouveautés, mais souvent avec le même hardware, assemblé selon les puces pas cher qu'ils peuvent trouver. Il est donc difficile de recommander un modèle, car déjà il risque de ne plus être vendu après quelques mois ou années, et surtout il n'est pas rare de voir des révisions de la carte mère qui casse la compatibilité. Sans parler des clones avec des noms similaires, ou même des copies !
Mais le plus simple est déjà de regarder à la cave ou dans vos tiroirs, vous avez peut être déjà craqué pour une Box TV il y a quelques années sur Banggood ou DealExtrem
L'INSTALLATION
Là, on touche la différence entre un truc-Pi et une box TV : l'installation va du assez simple à l'arrachage de cheveux
Compatibilité
Essayez d'ouvrir votre box, afin de voir la dénomination exacte des composants (attention à l'antenne, parfois scotché sur le couvercle !). Processeur, contrôleur ethernet, chip wifi... Et cherchez si quelqu'un a déjà tenté l'aventure avec votre matériel. Si, comme moi, vous avez de la chance d'avoir une box avec le même matériel qu'un système plus courant (ma box est quasi un clone du Banana Pi M2+), ça sera assez simple. Ou alors vous trouvez une image qui semble correspondre, testez, le risque est faible de briquer votre box : soit ça boot, soit ça plante. Et dans le dernier cas, il faudra bricoler...
L'arborescence de périphérique
Si vous n'avez pas trouvé d'image assez proche de votre matériel, il va falloir mettre les mains dans le cambouis. En compilant votre "device tree". Explications :
Les machines ARM n'ont pas de BIOS, il faut donc utiliser une autre technique pour détecter le matériel. C'est là qu'intervient le Device Tree (DT), il s'agit essentiellement d'une structure de données au format binaire (non lisible par un humain) qui contient des informations utiles au noyau lors du démarrage.
Ce "device tree" existe sous 3 formats :
C'est simple : dtS = Source (on peut le modifier puis le compiler, pour obtenir un dtB = Binaire (utilisé par le noyau au boot).
Les distributions proposent des DTB intégrés, qui peuvent fonctionner. Il faudra définir celui à utiliser soit en éditant un fichier de config, soit en plaçant un img.dtb à la racine, selon votre distribution.
Heureusement, certains paramètres sont accessible sans compiler via les overlays (plus de détail dans /boot/dtb/overlay/README.dtb_utilisé), via un fichier de config. Par exemple pour activer les différentes sorties son. Sur Armbian c'est /boot/armbianEnv.txt. Ils sont aussi activables par la commande armbian-config.
Compiler son DTB
Vous trouverez plus facilement des devices tree pour votre box qu'une image avec les bons DT déjà compilée. Attention, ne prenez pas un dtb (binaire) trouvé sur le web, ça ne fonctionnera pas. Il faut que ce soit compilé pour votre noyau !
Il faudra donc chercher le device tree correspondant à votre matériel, et ensuite le compiler avec le device tree compiler (oui, la commande est ... dtc
Généralement les DTS sont créés à partir du DTB décompilé récupéré dans le firmware Android original de la box (soit le boot.img, soit en extrayant depuis le kernel avec un outil comme Extract-DTB). Il y a plusieurs techniques, qui dépendent de la version d'Android et d'autres facteurs...
Ensuite on le décompile : dtc -I dtb -O dts <your DTB> -o <dts filename>
Autre possibilité, tester plusieurs DTS et les comparer pour reprendre les paramètres qui feront marcher votre matos. Très bon exemple de ce fonctionnement dans ce thread : https://forum.armbian.com/topic/330 [...] -dtb-file/
Et on compile avec la commande inverse de la précédente : dtc -I dts -O dtb <your DTS> -o <dtb filename>
Puis (pour Armbian), on copie dans /boot/dtb le .dtb créé précédemment, et on ajoute la ligne fdtfile=votre.stb dans /boot/armbianEnv.txt. Attention d'enlever la ligne overlay_prefix=machintruc pour bien cibler votre dtb.
Rassurez vous, ce n'est pas toujours une étape nécessaire, mais parfois si l'on veut le wifi ou le BT, il faudra passer par là...
Plus d'info :
Device Trees, Overlays and Parameters (Armbian)
Device Tree Usage (Embedded Linux Wiki)
Flasher une SD
Très simplement depuis l'image disque téléchargée avec, par exemple, Balena Etcher.
Booter la SD
Avec de la chance, votre box boot en priorité sur la SD s'il y a un système présent. Un peu moins de chance, il faudra appliquer la technique du cure dents : certaines box ont un switch sous un trou qui force le boot sur SD (souvent il est caché au fond de la prise jack !). Encore moins de chance, il va falloir ouvrir pour trouver le switch
Installer (ou pas) sur la mémoire interne
Il est souvent possible de flasher la mémoire interne avec votre distribution. À faire qu'une fois que tout fonctionne, avec le risque de briquer la box. Généralement on peut "débriquer" avec les outils de flash du constructeur du chipset de la box...
Finalisation
Bravo, tout fonctionne ! Il ne reste qu'à fignoler votre distrib comme n'importe quelle installation de GNU/Linux.
Message édité par daouar le 20-02-2025 à 19:55:48
---------------
Recyclez vos box TV Android | Fournisseurs d'énergie | Montres pour avoir l'heure