1.2 C
Paris
AccueilFacktualitéÉcrans que nous aimons pirater : DSI

Écrans que nous aimons pirater : DSI

Nous ne serions pas surpris si les écrans DSI constituaient actuellement la majorité des écrans sur notre planète. Si vous possédez un smartphone, il y a 99,9 % de chances que son écran soit DSI. Les tablettes utiliseront probablement également DSI, à moins qu'il ne s'agisse d'eDP à la place, et votre montre intelligente le fera certainement. D'une certaine manière, les écrans DSI sont incontournables.

C'est pour une bonne raison. L'interface DSI est un pilier des SoC et des processeurs mobiles dignes de ce nom. Elle permet des vitesses plus élevées et donc des résolutions plus élevées que celles que SPI pourrait jamais atteindre, relativement peu de broches, une capacité à envoyer des commandes au contrôleur de l'écran contrairement à LVDS ou eDP, et à rester faible consommation tout en faisant tout cela.

Il y a de l'argent et du pouvoir dans le piratage de DSI – une capacité à équiper vos appareils d'écrans qui ne peuvent pas être réutilisés autrement, à créer des éléments de plus en plus cool, à puiser dans des sources d'écrans de téléphone bon marché. De plus, il s’agit également d’un domaine relativement sous-exploré. Alors ne perdons pas de temps !

Des composants internes décemment similaires

DSI est une interface définie par la MIPI Alliance, un groupe dont les standards ne sont pas entièrement ouverts. Pourtant, rien n'est vraiment nouveau sous le soleil, et DSI partage beaucoup de concepts avec des interfaces auxquelles nous sommes habitués. Pour commencer, si vous vous souvenez des composants internes de DisplayPort, il existe des similitudes. En ce qui concerne les voies de données, DSI peut disposer d'une, deux ou quatre voies de flux de données à haut débit ; des écrans plus petits peuvent subsister avec une seule voie, tandis que les écrans à très haute résolution voudront les quatre. C’est là que s’arrêtent les similitudes. Cependant, il n'y a pas d'AUX pour parler au contrôleur d'affichage – au lieu de cela, les voies de données basculent entre deux modes.

Le premier mode est à basse vitesse, utilisé pour envoyer des commandes à l'écran, comme des séquences d'initialisation, peaufiner les paramètres du contrôleur ou passer en mode veille. Vous pouvez capturer cela avec un analyseur logique. Si vous avez déjà flairé les communications d'un écran SPI, vous constaterez qu'il existe de nombreuses similitudes avec la façon dont les commandes DSI sont envoyées. En fait, de nombreux écrans SPI utilisent un jeu de commandes défini par la MIPI Alliance que les écrans DSI utilisent également. (Si votre installation Sigrok répertorie un décodeur DSI, ne vous réjouissez pas trop tôt : il s'agit d'un type de DSI totalement différent.)

Le deuxième mode est rapide et c'est celui généralement utilisé pour le transfert de pixels. Un analyseur logique ne fera pas l'affaire ici, du moins à moins qu'il ne soit très puissant en termes de taux de capture. Vous souhaiterez utiliser un oscilloscope décent pour travailler avec des signaux DSI à grande vitesse, connaître les déclencheurs et peut-être créer une prise PCB personnalisée avec un tampon pour le signal DSI afin que votre sonde ne devienne pas un stub géant, et trouvez un moyen de travailler avec les discontinuités d'impédance. Pourtant, il est tout à fait possible d'exploiter le DSI à haut débit, comme [Wenting Zhang] l'a récemment démontré, parfois une approximation du signal à grande vitesse est plus que suffisante pour la rétro-ingénierie.

Vous avez une fiche technique pour votre panneau ? Soyez prudent : la séquence d'initialisation peut être erronée ; si votre affichage échoue ou si l'image résultante est bizarre, cela pourrait bien être le coupable, donc même si vous avez obtenu le bon PDF, vous pourriez quand même devoir capturer la séquence d'initialisation avec un analyseur logique. Que l'initialisation de votre écran soit bien connue ou que vous finissiez par les capturer à partir d'un appareil fonctionnel connu, vous aurez besoin de quelque chose pour piloter votre écran – une carte Arduino typique ne fera plus l'affaire ; cependant, qui sait, un RP2040 pourrait bien, après avoir vu de quoi vous êtes tous capables.

Ecrans que nous aimons pirater DSIIdéalement, vous aurez besoin d’un microcontrôleur ou d’un processeur doté d’un périphérique DSI, avec une documentation décente et/ou des exemples sur la façon de l’utiliser – cette partie est importante. Les cartes Raspberry Pi compatibles Linux peuvent vous aider ici d'une manière surprenante – vous vous souvenez peut-être de l'en-tête Raspberry Pi DSI comme étant propriétaire, mais ce n'était vrai qu'au début. Avec des développements tels que l'écran officiel Raspberry Pi et les pilotes graphiques open source aidés par la prime de pilote de 10 000 $ qu'ils ont offerte, il est devenu viable de connecter des écrans personnalisés. Les écrans WaveShare DSI sont une alternative connue si vous souhaitez obtenir un écran DSI pour votre Pi. Sur le Pi standard, vous ne disposez que de deux voies de DSI, mais c'est suffisant pour de nombreux écrans. Curieusement, vous pouvez obtenir un écran tiers pour votre Pi qui utilise le même panneau, avec deux puces supplémentaires qui semblent faire fonctionner l'écran sans pilote comme l'écran officiel du Pi (ce fil sur ces écrans est fascinant !) ; l'affichage est toujours limité à la même résolution, le seul avantage est un prix légèrement inférieur, et la possibilité de surcharger votre rail 3,3 V est un avantage discutable. On ne sait pas vraiment pourquoi cet affichage existe, mais vous voudrez peut-être résister à la tentation.

1718222137 89 Ecrans que nous aimons pirater DSISi vous utilisez un module de calcul Pi, vous disposez de deux périphériques DSI complets, un à quatre voies et un à deux voies, et il ne faut pas longtemps pour trouver quelques bons exemples de cartes de module de calcul Raspberry Pi avec Écrans DSI. Si vous avez un module de calcul et son devboard quelque part sur une étagère, vous pouvez créer un DSI à quatre voies, avec une interface exposée à Linux qui fonctionne de la même manière que les systèmes d'exploitation alternatifs sur votre téléphone.

Étant donné que les CM sont généralement utilisés pour des éléments personnalisés et qu'un pirate informatique qui en utilise un est plus susceptible d'avoir de la patience pour déterminer les paramètres du panneau DSI, une plinthe de module de calcul est une option assez populaire pour pirater cet écran DSI bon marché à partir d'une tablette qui a attrapé votre œil! Vous n'avez pas de plinthe ? Vous pouvez même en graver un, voici une dérivation monocouche avec un socket DSI. Non pas que vous n'ayez pas besoin d'un module de calcul si vous utilisez du DSI à deux voies : un Pi classique fera l'affaire.

Alors, allez-y et piratez : il y a une tonne de potentiel inexploré dans l’offre infinie d’écrans de rechange pour les anciens modèles d’iPhone et de Samsung ! En parlant de téléphones, ils sont à l'avant-garde du piratage DSI, comme vous pourriez le soupçonner, grâce à tous les projets de systèmes d'exploitation alternatifs et aux efforts de consolidation du noyau Linux. Vous pouvez profiter assez facilement des fruits de leur travail, en vous épargnant une incursion dans l’analyseur logique – réutiliser un affichage DSI vraiment sympa peut être aussi simple que de charger un module du noyau.

Vous voulez un panneau ? Linux est là pour vous aider

Il existe une tactique de hacker amusante : si vous recherchez une puce d'extension GPIO I2C, vous pouvez faire défiler le fichier de configuration du noyau Linux qui répertorie les extensions GPIO prises en charge et trouver quelques circuits intégrés dont vous n'avez jamais entendu parler ! Ce qui est génial, c'est que vous savez que vous aurez également un chauffeur.

Il en va de même pour les écrans DSI, sauf que le gain est bien plus élevé. Si vous recherchez un écran DSI, vous pouvez ouvrir la liste des pilotes du noyau Linux pour différents panneaux DSI. Il y a de fortes chances que tout ce dont vous avez besoin soit simplement la partie câblage physique, peut-être un peu de pilotage du rétroéclairage et un extrait d'arborescence des périphériques.

Ecrans que nous aimons pirater DSI

Vous voulez un écran IPS 1920 x 1200 à 20 $ pour votre module de calcul ? Qui ne le fait pas ! Eh bien, ne le savez-vous pas, la tablette Google Nexus 7 en utilise un, et le pilote correspondant se trouve sous Linux principal ! Soudez simplement une petite carte adaptateur FPC vers connecteur sur mesure (ou commandez un PCBA), ajoutez un extrait d'arborescence de périphériques dans votre configuration et c'est parti ; il existe même des cartes personnalisées pour utiliser cet écran avec un CM4, c'est aussi sympa.

Ecrans que nous aimons pirater DSIDe nouveaux affichages sont constamment ajoutés au noyau ; tout ce qu'il faut, c'est quelqu'un prêt à fouiller dans le firmware d'origine, peut-être charger un module de noyau propriétaire dans Ghidra et extraire la séquence d'initialisation, ou simplement activer le bon type de journalisation de débogage dans le firmware d'origine. Tout cela est dû aux efforts inlassables de personnes qui tentent de faire fonctionner leurs téléphones au-delà des chaînes bloatware du système d'exploitation Android d'origine ; parfois, c'est une entreprise qui fait le bon choix et qui met en amont un pilote pour un panneau utilisé par des centaines de milliers d'appareils dans la nature.

Il y a des nuances amusantes dans la scène d'affichage, tout autant qu'une « scène » : les gens essaient simplement de faire fonctionner leurs appareils pour eux, puis partagent ce travail avec d'autres personnes dans la même situation, comprenant qu'un écran est utile. partie du processus. Il n'est pas rare qu'un smartphone utilise des écrans légèrement différents dans le même lot – cela peut être un problème avec des systèmes d'exploitation alternatifs comme LineageOS, où, disons, 10 % des utilisateurs de votre micrologiciel pourraient avoir un dysfonctionnement de leur panneau car, malgré le fait que le téléphone indique le même modèle sur le couvercle, leurs téléphones spécifiques utilisent un écran avec un contrôleur différent, que seul le micrologiciel du fabricant prend correctement en compte.

Nos modèles DSI

Ce sont les bases de ce dont vous avez besoin pour réutiliser les écrans DSI comme sans effort. Maintenant, j'aimerais souligner quelques bons exemples de personnes piratant DSI, issues de notre couverture ou autre.

Sans aucun doute, le premier qui me vient à l’esprit est [Mike Harrison] alias [mikeselectricstuff]depuis 2013. J'ai passé beaucoup de temps avec l'iPod Nano exact en cours d'ingénierie inverse, et [Mike]Les vidéos de m'ont donné un aperçu d'une technologie sur laquelle je comptais beaucoup. Par exemple, dans cette vidéo, [Mike] construit magistralement un gabarit de cadrage, soude des fils microscopiques au minuscule PCB, nous guide tout au long du processus de rétro-ingénierie et réutilise avec succès l'écran LCD pour un projet.

Suite à [Mike]Dans la foulée, nous avons même vu cet écran réutilisé dans un projet ESP32, grâce à une puce de conversion parallèle RVB vers DSI !

[Wenting Zhang] la rétro-ingénierie d'un écran Macbook Touchbar est définitivement sur ma liste de favoris. Dans cette courte vidéo, il nous enseigne les fondamentaux du DSI et parvient à montrer l'intégralité du processus de rétro-ingénierie du début à la fin, sans aucun détail épargné. Je viens de vérifier la description de la vidéo, le code est open-source, et il s'agit bien d'un projet RP2040 – tout comme je l'avais prédit quelques paragraphes plus haut.

Les ASIC mystérieux sont-ils votre ambiance et aimeriez-vous fouiller dans un firmware ? Vous devriez alors voir ce projet d’adaptateur HDMI vers DSI. Le créateur le transforme même en batterie externe avec un écran intégré en guise de démonstration – c'est un accessoire de hacker si j'en ai déjà vu un. Vous êtes plutôt fan de gateware ? Voici une carte FPGA faisant de même, et une autre, que vous pouvez voir ici piloter un écran Galaxy S4 sans effort. Oh, et si vous êtes amis avec une combinaison Xilinx+Vivado, il existe des cœurs IP DSI que vous pouvez utiliser avec pratiquement aucune restriction.

L'année du piratage DSI

DSI est une interface de plus en plus conviviale pour les hackers : les économies d’échelle nous forcent tout simplement la main, et même les fabricants de microcontrôleurs emboîtent le pas. Le devboard officiel de l'ESP32-P4 d'Espressif, une puce RISC-V assez costaude, arbore une interface DPI aux côtés du désormais habituel CSI pour les caméras. Nous verrons de plus en plus de DSI, et je lève un verre d'eau pour que de nombreux hackers récoltent bientôt les champs de DSI. Que votre récolte soit abondante.

je remercie [timonsku] pour obtenir de l'aide avec cet article !

François Zipponi
François Zipponihttps://10-raisons.com/author/10raisons/
Je suis François Zipponi, éditorialiste pour le site 10-raisons.com. J'ai commencé ma carrière de journaliste en 2004, et j'ai travaillé pour plusieurs médias français, dont le Monde et Libération. En 2016, j'ai rejoint 10-raisons.com, un site innovant proposant des articles sous la forme « 10 raisons de... ». En tant qu'éditorialiste, je me suis engagé à fournir un contenu original et pertinent, abordant des sujets variés tels que la politique, l'économie, les sciences, l'histoire, etc. Je m'efforce de toujours traiter les sujets de façon objective et impartiale. Mes articles sont régulièrement partagés sur les réseaux sociaux et j'interviens dans des conférences et des tables rondes autour des thèmes abordés sur 10-raisons.com.
Articles récents