Tactique de hacker : sonde de diode ESD interne

Les humains sont des générateurs à haute tension, en raison de toutes les frictions avec notre environnement, de la grande variété de vêtements synthétiques et des charges statiques omniprésentes. Nos appareils électroniques sont sensibles aux décharges électrostatiques, et souvent ils le sont d’une manière très exaspérante – provoquant des erreurs et des blocages parasites. Y a-t-il une erreur farfelue dans votre conception qui se répétera dans le prochain lot, ou avez-vous simplement zappé accidentellement un GPIO ? Vous ne le saurez pas tant que vous n’aurez pas vérifié méticuleusement la conception, ou peut-être qu’il vous sera possible de prendre une autre planche.

Heureusement, dans les climats occidentaux d’aujourd’hui et avec la technologie moderne, vous ne rencontrerez probablement pas de problèmes causés par les décharges électrostatiques, mais ils étaient bien plus importants à l’époque. Par exemple, les pirates informatiques plus âgés raconteront à quel point les FET étaient plus sensibles, et toucher inconsidérément la broche de la porte pourrait tuer le FET avec lequel vous travaillez. Nous avons désormais résolu ce problème, en grande partie grâce à l’ajout de diodes de protection ESD à l’intérieur des composants actifs les plus concernés.

Ces diodes n’aident pas seulement contre les décharges électrostatiques : elles constituent une mesure de sécurité générale pour protéger les broches des circuits intégrés et des transistors, et elles peuvent également aider à éviter d’endommager les broches des circuits intégrés si vous mélangez. Ils peuvent également conduire à des résultats amusants et inattendus – par exemple, des parties de votre circuit s’alimentant alors que vous ne vous y attendez pas ! Cependant, il y a une chose géniale que peu de hackers : ils vous permettent de déboguer et de réparer vos circuits d’une manière que vous n’auriez peut-être pas imaginée.

Débogage du câblage et des puces

Voici un scénario simple. Vous avez un bouton connecté à votre Arduino, avec de longs fils, peut-être même sur une planche à pain vissée. Une broche est connectée à la masse et une autre est connectée à un GPIO. Vous appuyez sur ce bouton et rien ne se passe dans votre code. Pourquoi donc?

Tout d’abord, vous souhaitez vérifier vos connexions, et les diodes ESD internes à l’Arduino vous permettent de le faire avec une seule mesure sur le bouton. Mettez votre multimètre en mode test de diode (ou en mode de mesure à faible résistance), puis inversez les fils de votre multimètre, en mettant le fil rouge à la terre et le fil noir sur la broche du bouton. Ensuite, touchez les broches du bouton et voyez si vous pouvez détecter une diode interne – sinon, votre câblage est probablement suspect.

Mais ce n’est pas tout. Avez-vous un GPU PCIe cassé ? Cela peut être accablant – beaucoup de choses pourraient être cassées, par où commencer ? Il peut s’agir de la puce GPU elle-même, de l’une des plus petites puces de mémoire ou du VRM. Un test de diode ESD est encore une fois utile. Mettez le fil rouge sur GND et vérifiez les broches du bord de la carte avec les paires de différentiels PCIe, en sondant derrière les condensateurs série là où ceux-ci sont présents près du bord de la carte.

Les résultats sont époustouflants : vous pouvez remarquer une défaillance de la puce principale du GPU que vous ne remarqueriez pas normalement. C’est simple : les GPIO connectés en bord de carte auront un certain type de chute de tension, et la liaison PCIe aura également une certaine chute de tension, juste différente, car les liaisons à haut débit nécessitent différentes structures de diodes ESD.

Si une ou quelques broches PCIe ou GPIO s’écartent de la valeur de la diode ESD PCIe ou GPIO sur toutes les autres broches, il se peut que vous ayez simplement un noyau cassé – cette connaissance vous fera gagner beaucoup de temps si vous envisagez de reballer le GPU ou de le réparer. certains autres domaines comme le VRM. C’est un moyen très efficace de tester votre technologie et, bien sûr, cela fonctionne pour d’autres choses comme les circuits intégrés.

Ce n’est pas tout : vous sondez une carte et vous voulez savoir où va une résistance. S’agit-il d’une résistance pulldown, est-elle connectée à un connecteur externe ou fait-elle partie d’un circuit analogique ? Avec le fil rouge à nouveau à la terre, vérifiez s’il y a une diode – c’est ainsi que vous pouvez savoir qu’elle est connectée à une entrée numérique quelconque ou flottante.

Puissant, simple, convivial

Me croiriez-vous si je vous disais qu’il y a plus ? Si vous avez déjà parcouru Aliexpress à la recherche de cartes de développement ou de technologie PC, vous avez probablement vu ces adaptateurs avec des tonnes de LED et une carte de batterie. Ce sont des cartes de test pour les composants PC, leur fonctionnement est magnifiquement analogique et il est incroyablement facile de construire les vôtres – laissez-moi vous montrer comment.

Oui, ces testeurs testent également la présence de diodes ESD. De plus, la LED brillera avec une luminosité différente selon la nature de la connexion. C’est vraiment génial de voir avec quelle rapidité vous pouvez tester des choses à un niveau fondamental avec ces cartes. Si le processeur de votre ordinateur ne démarre pas, il se peut qu’il s’agisse simplement d’une boule cassée dans son socket LGA, et brancher un tel testeur vous évitera une kilotonne de problèmes de débogage d’autres choses.

Ils sont aussi très simples. Si vous souhaitez tester 20 ou 200 connexions à la fois, vous n’avez besoin que d’une pile CR2032 et d’un tas de LED – peut-être quelques résistances en série, mais même celles-là ne me semblent pas nécessaires. Les piles boutons ont leur propre résistance interne, ce qui nous aide car nous n’avons pas besoin de résistances de limitation de courant par LED – vous pouvez simplement remplir une carte de LED, ajouter un support de pile bouton et en faire un débogueur pour rien.

En tant que fanatique de l’USB-C, bien sûr, j’ai fabriqué un testeur USB-C – et je l’ai immédiatement testé sur certains de mes ports USB-C cassés ou mystérieux, avec un grand succès. Voici les fichiers Kicad, accompagnés d’un schéma très fragmenté.

Pour commencer, cela vous permet de vérifier si un port USB-C avec lequel vous travaillez est compatible USB2 ou non. Ce port de station d’accueil est-il « chargeur uniquement », ou pouvez-vous également y brancher une clé USB ? La réponse par défaut est « chargeur uniquement », mais ici, vous pouvez en être sûr. Cependant, cela ne s’arrête pas là : un tel testeur vous donnera une valeur analogique de la même manière qu’un test multimètre !

Un port USB-C malsain. Le remplacement du contrôleur PD l’a corrigé

La luminosité de la LED varie en fonction de ce qui est connecté à la broche. Par exemple, cette broche CC est-elle connectée à une broche numérique IC, est-ce un court-circuit avec GND, va-t-elle simplement à une résistance pulldown ou est-elle déconnectée ? Ce testeur vous montrera tout grâce à la seule luminosité des LED. C’est difficile à voir sur les photos, mais votre œil sera capable de distinguer les différentes épingles et leurs rôles, et il y a quelque chose de profondément beau là-dedans.

Votre port USB-C est peut-être mécaniquement vissé ? Ou est-ce simplement qu’une broche CC est court-circuitée, et c’est pourquoi elle ne fonctionne que dans une seule orientation ? Peut-être qu’une des paires de données USB3 est cassée parce qu’un condensateur s’est envolé ? J’ai déjà réussi à déboguer tous ces cas, en utilisant cette carte pour réparer quelques ports USB-C morts.

Pourquoi si impopulaire ?

À l’heure actuelle, je ne comprends vraiment pas pourquoi nous n’avons jamais vu un tel testeur pour, par exemple, les ports MicroUSB. Comment ça se fait? Il serait très simple d’avoir des LED pour VBUS, D+, D- et ID, avec la LED de la broche d’identification vous indiquant immédiatement si le port MicroUSB de votre smartphone est compatible avec le mode OTG, et cela coûterait environ 1 $. Les testeurs de RAM et de CPU ne manquent pas sur les plateformes orientales, et les réparateurs les ont adoptés depuis longtemps, mais le monde des hackers manque de quelques petits périphériques ludiques et à portée de main.

En bref, les tests internes de diodes ESD sont une tactique de hacker très sous-estimée. Quoi que vous souhaitiez faire, qu’il s’agisse de réparer des composants PC, de vérifier les câbles ou de tester vos cartes pour détecter les courts-circuits après refusion, la détection des diodes ESD est facile et peut vous donner des informations à la vitesse de la lumière.

François Zipponi
Je suis François Zipponi, éditorialiste pour le site 10-raisons.fr. 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.fr, 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.fr.