Démontage : Adaptateur de sangle | Hackaday

L’espace de l’électronique grand public est toujours en mouvement, mais cela n’est peut-être nulle part plus évident qu’avec les équipements de divertissement. En l’espace de quelques décennies seulement, nous sommes passés de cassettes VHS granuleuses sur des écrans CRT de 24 pouces à des Blu-ray 4K sur des panneaux LED de 70 pouces, pour finir par passer la majeure partie de notre temps de visionnage à regarder du contenu en streaming sur nos smartphones. Il n’y a aucun signe de ralentissement non plus. En fait, ils accélèrent sans doute. Bien sûr, le téléviseur 4K que vous avez acheté il y a quelques années peut avoir le HDR, mais a-t-il HDMI 2.1 et Dolby Vision ?

Il n’est donc pas surprenant qu’eBay regorge de gadgets audiovisuels obsolètes qui peuvent être achetés pour un centime par dollar. Prenez par exemple l’adaptateur de sangle SB700-100 que nous examinons aujourd’hui. Cet appareil coûtait 99 $ lors de sa sortie en 2010 et permettait aux utilisateurs de Dish Network de diffuser du contenu enregistré sur leur DVR sur un smartphone ou une tablette. Pouvoir regarder des émissions de télévision et des films complets sur un appareil mobile via Internet était une astuce intéressante à l’époque, avant même que Netflix ne commence à déployer son application Android. Mais aujourd’hui, il est à peu près aussi utile qu’un lecteur HD-DVD, c’est pourquoi vous pouvez en acheter un pour aussi peu que 5 $.

Bien sûr, ce n’est un accord que si vous pouvez réellement faire quelque chose avec l’appareil. Les critiques contemporaines semblaient assez méfiantes quant à la façon dont la chose fonctionnait réellement, expliquant simplement que le brancher sur votre Dish DVR imprégnait le décodeur de capacités jusqu’alors inconnues. Ils ont assuré au lecteur que la performance était excellente et que ce serait 99 $ bien dépensé s’ils décidaient de plonger la tête la première dans ce nouveau monde courageux où vos émissions de télévision et films préférés pourraient enfin être appréciés dans la salle de bain.

Maintenant, plus d’une décennie après sa sortie, nous allons ouvrir l’adaptateur de sangle SB700-100 et voir si nous ne pouvons pas comprendre comment cette technologie inhabituelle a réellement fonctionné. Ses jours de fronde le dernier épisode de Le bureau peut-être fini, mais peut-être que ce vieux chien peut encore apprendre quelques nouveaux tours.

Une énigme cramoisie

Certes, l’adaptateur Sling est un appareil très inhabituel. Il n’a pas de commandes, pas d’affichage, et son seul lien avec le monde extérieur est la courte queue de cochon USB qui est fixée en permanence à l’arrière de l’unité. Pourtant, malgré son apparente simplicité, son boîtier métallique dissipateur de chaleur laisse entrevoir une puissance brute considérable sous son capot Merlot. Même aujourd’hui, l’appareil semble incroyablement high-tech, ce qui peut expliquer pourquoi les critiques de la décennie précédente en étaient si amoureux. Si l’adaptateur Sling ressemble à une technologie de pointe maintenant, imaginez ce qu’ils en ont pensé en 2010.

À l’ouverture de l’appareil, nous sommes accueillis par une application saine de composé thermique, ce qui confirme que le boîtier en grille métallique est essentiellement un dissipateur thermique massif. Avec le retrait de quatre vis supplémentaires, le PCB de 70 mm x 80 mm peut être retiré du boîtier et, étonnamment, la queue de cochon USB peut être déconnectée de ce qui s’avère être une prise femelle Mini-B. En ce qui concerne le démontage, ce n’est sûrement pas beaucoup plus facile que cela. Mais bien sûr, nous devons encore comprendre ce que fait cette carte.

Avant d’aller plus loin et d’endommager quelque chose, j’ai décidé qu’il serait sage de brancher la carte sur l’ordinateur pour voir ce qui se passe. Nous avons trouvé une fonctionnalité USB inattendue dans les démontages précédents, mais même quand même, j’admets avoir été momentanément abasourdi par la sortie de lsusb.

Incroyablement, l’adaptateur Sling a été immédiatement reconnu comme un kit de développement Cypress CY7C68013 EZ-USB FX2. L’EZ-USB FX2 associe un microcontrôleur Intel 8051 à une interface USB 2.0 haute vitesse conçue pour faciliter les transferts en masse et a la capacité de se renuméroter à la volée. En creusant un peu, on découvre que le micrologiciel de la puce est généralement téléchargé à partir du système hôte et copié dans la RAM à la mise sous tension, après quoi le code est exécuté et les paramètres USB sont réajustés si nécessaire pour la nouvelle application.

Il semblerait que, accidentellement ou autrement, l’état par défaut de l’adaptateur Sling soit de s’annoncer en tant que carte de développement jusqu’à ce qu’une image du micrologiciel soit fournie par le Dish DVR. Ma première pensée était que l’appareil pourrait fonctionner comme une sorte de dongle de sécurité, où le DVR y téléchargerait du code et attendrait de voir s’il obtient la réponse appropriée après l’exécution. Mais l’appareil ne générerait pas le type de chaleur pour lequel il a clairement été conçu s’il ne faisait que calculer des sommes de contrôle; il est évident qu’il y a de sérieux calculs en cours.

H.264 sur une puce

Après avoir passé du temps de qualité avec des cotons-tiges et de l’alcool isopropylique, nous avons notre réponse. Caché sous l’épaisse couche de composé thermique se trouve un Magnum DX6225-LHG00-A3 qui a été conçu pour transcoder la vidéo MPEG-2 en un flux H.264 basse résolution adapté à la lecture sur les premiers smartphones et tablettes. Les deux puces identiques à côté sont évidemment de la RAM externe, mais j’ai eu du mal à les identifier de manière concluante. Ma meilleure hypothèse est qu’il s’agit de Micron 8 Mo MT47R64M16 avec une autre marque, mais même pour 2010, 16 Mo de RAM semblent assez faibles.

Combiné avec les capacités de transfert en masse de l’EZ-USB FX2, les choses commencent à avoir du sens. Le Dish DVR envoie la vidéo MPEG-2 stockée sur son disque dur vers le DX6225 via USB, où elle est transcodée en temps réel dans un format adapté aux mobiles et renvoyée au décodeur où elle est finalement distribuée sur le réseau.

C’est un concept que nous voyons encore en usage aujourd’hui, bien qu’avec des charges de travail considérablement différentes. L’accélérateur USB Coral et le bâton de calcul neuronal Intel sont une réponse essentiellement moderne à l’adaptateur Sling ; modules de plug-in qui gèrent la charge de travail de calcul de l’apprentissage automatique afin que le système hôte puisse se concentrer sur la logistique et l’interface utilisateur. Cela aide les plates-formes « de bord » aux performances limitées telles que le Raspberry Pi à gérer des tâches telles que la vision par ordinateur à haute fréquence d’images, et en 2010, elle a permis aux abonnés de Dish de lire des vidéos sur leurs téléphones sans embourber le DVR.

Nouveaux ordres de marche

Je sais ce que tu penses. Si le côté USB de l’adaptateur Sling est vraiment basé sur un kit de développement Cypress CY7C68013 EZ-USB FX2, cela signifie-t-il que vous pouvez acheter l’un de ces éléments pour 5 $ et charger un nouveau code dans son MCU 8051 ? La réponse, du moins jusqu’à présent, semble être oui. Mais comme d’habitude, le Diable est dans les détails.

Après avoir compilé la suite open source cyusb linux, j’ai réussi à me connecter à l’EZ-USB FX2 et à télécharger l’une des images de firmware de démonstration incluses dans la RAM. Une fois l’adaptateur Sling renuméroté, un programme exécuté sur l’ordinateur a pu établir une connexion en boucle avec le micrologiciel. Bien que je ne l’aie pas encore testé personnellement, vous devriez pouvoir utiliser le kit de développement logiciel officiel (et relativement moderne) EZ-USB FX3 de Cypress pour commencer à écrire votre propre firmware car il est rétrocompatible avec FX2.

Notez l’ID de produit et la description de l’appareil modifiés après le téléchargement du micrologiciel.

Maintenant pour les mauvaises nouvelles. Rappelez-vous comment j’ai dit que l’adaptateur Sling n’a pas de commandes ou d’affichages ? Malheureusement, cela n’en fait pas une plate-forme très excitante pour expérimenter. Bien sûr, vous pouvez le faire exécuter votre propre code, mais il s’agit d’une machine conçue pour un très objectif spécifique, donc il n’y a pas grand-chose que le code puisse réellement faire. Cependant, si vous parvenez à créer un firmware personnalisé pour ces choses qui fait quelque chose d’intéressant, nous aimerions certainement en entendre parler.