USB-C : Introduction pour les pirates | Hackaday

Nous avons maintenant au moins cinq ans de ports USB-C dans nos appareils. C’est une norme que de nombreux fabricants et pirates peuvent adopter. Au départ, il y avait beaucoup de confusion sur ce que nous allions rencontrer, et les aberrations induites par le fabricant ont rebuté certaines personnes. Cependant, l’USB-C est là pour rester, et j’aimerais vous montrer comment l’USB-C est réellement utilisé, ce que vous pouvez en attendre en tant qu’utilisateur expérimenté et ce que vous pouvez en retirer en tant que amateur.

Les appareils modernes ont un ensemble de besoins communs – ils ont besoin d’une entrée d’alimentation ou d’une sortie d’alimentation, parfois les deux, généralement une connexion USB2, et souvent une connectivité à plus haut débit comme une sortie/entrée d’affichage ou USB 3. USB-C est un interface qui vise à pouvoir s’occuper de tout cela. Tout ce qui précède est facultatif, ce qui est une bénédiction et une malédiction, mais vous pouvez rapidement apprendre à distinguer à quoi s’attendre d’un appareil en fonction de son apparence ; en cas de doute, j’aimerais vous montrer comment vérifier.

Capacités de communication, configurations et mises en garde

Nous savons tous que l’USB-C peut être tourné – il vous permet d’insérer le câble dans n’importe quel sens – ce qui était une amélioration significative par rapport à l’USB-B. Voyons comment cela fonctionne. Pour rendre cela possible, il existe une connexion CC (Configuration Channel) – une ligne à un seul fil dans chaque câble USB-C qui se fixe à l’une des deux broches CC du connecteur Type-C, et il est essentiel de rendre USB-C travailler. Pour les cas d’utilisation USB-C simples, comme « obtenez USB 2.0 et 5 V d’un port, suivez une recette simple – attachez un pulldown de 5,1 kΩ à chaque broche CC, et vous aurez un port USB-C qui fonctionnera avec tous les raisonnables appareils là-bas.

Il existe bien sûr un support pour les choses au-delà de 5 V et USB 2.0 en USB-C. Vous pouvez obtenir une variété de tensions à partir d’un port USB-C, ce qui est très pratique pour charger des choses comme les ordinateurs portables. Vous pouvez obtenir USB 3, DisplayPort et Thunderbolt. La plupart des ordinateurs portables vous permettront de connecter une station d’accueil en profitant autant que possible de l’USB-C, vous offrant un écran haute résolution, de nombreux ports USB et une charge sur le même câble. Maintenant, comment ça marche ?

Pour des cas d’utilisation tels que des tensions supérieures à 5 V (USB-PD) ou une connectivité haut débit au-delà de l’USB 2 et 3 (les « modes alternatifs », pour le mode alternatif), vous devez les invoquer via la même connexion CC. Vous disposez d’un fil unique pour les communications bidirectionnelles, ce qui fait du fil CC un canal semi-duplex ; c’est un protocole de type Ethernet 300 kbps à débit fixe. Il existe de nombreux circuits intégrés qui parlent de ce protocole pour implémenter un ensemble de fonctionnalités définies, et un certain nombre de circuits intégrés et de périphériques de microcontrôleur vous aideront à dire tout ce que vous voulez sur le protocole.

Avec une grande puissance…

Les ports USB-C ont des broches pour quatre paires différentielles à haute vitesse, huit broches au total. De nombreux périphériques USB-C plus simples les ont déconnectés, mais il y a beaucoup de puissance dans ces ports. Pour commencer, vous pouvez généralement en retirer USB 3.1 ou 3.2 lorsque vous voyez un tel port sur un ordinateur portable. Un port USB3 occupe généralement deux paires différentielles sur quatre, mais certains appareils prennent en charge 2 x 2 liaisons USB3, doublant le nombre de paires et la vitesse de transfert. De plus en plus souvent, vous pouvez également retirer DisplayPort de vos ports USB-C – avec deux ou quatre voies, vous pouvez piloter des écrans assez haute résolution.

Ensuite, il y a Thunderbolt, une technologie semi-propriétaire qui utilise également les paires haut débit sur un connecteur USB-C. Il peut tunnel USB3, DisplayPort et même PCIe en lui-même, bien que ce ne soit aucune de ces trois choses. Avec Thunderbolt, vous pouvez avoir une station d’accueil mais sur des stéroïdes, avec plus d’options DisplayPort, des ports meilleurs et plus rapides, ou peut-être même un GPU externe ! Vous pourriez deviner que c’est l’option la plus rare et la plus chère de toutes.

Compte tenu de ces capacités à haute vitesse et haute puissance, l’unification de tout en un seul connecteur présente de solides avantages. Votre chargeur d’ordinateur portable USB-C peut également recharger votre téléphone en cas de besoin, et grâce à une normalisation agressive, il n’y a plus beaucoup de choses propriétaires impliquées dans la charge.

Si vous avez une station d’accueil USB-C Nintendo Switch, elle agira également théoriquement comme une station d’accueil pour votre ordinateur portable, en supposant que vous puissiez la connecter mécaniquement, et les stations d’accueil pour ordinateur portable fonctionneront avec votre Steam Deck. En général, les stations d’accueil deviennent raisonnables – vous utilisez un seul câble pour tout, il fonctionne avec la plupart des périphériques USB-C, et c’est tout.

Chaque année, il y a de moins en moins que l’USB-C ne peut pas faire. L’année dernière, ils ont annoncé EPR, qui augmente la capacité du port USB-C jusqu’à 240 W, à 48 V @ 5 A – par opposition à SPR, où un port USB-C serait limité à 100 W, 20 V @ 5 A. Cela élimine fondamentalement le besoin d’adaptateurs de prise cylindrique sur les ordinateurs portables, où 100 W d’USB-C étaient autrefois une barrière – nous ne devrions plus avoir besoin de toutes les alimentations « universelles » avec un assortiment d’adaptateurs de prise cylindrique. Ensuite, il y a USB4, une norme à venir, qui ressemble à Thunderbolt, mais pas tout à fait, mais en mieux, mais en pire ? Quoi qu’il en soit, nous allons voir plus de support USB4 dans les ordinateurs, et j’espère qu’un jour chaque ordinateur portable sera équipé d’une interface haut débit, même les moins chers.

Dans l’ensemble, l’USB-C a un bel avenir, et il est raisonnablement bien conçu à bien des égards – en apprenant des erreurs que nous avons commises au cours des décennies de ports, de câbles et de normes, et en laissant suffisamment pour les ajouts à venir.

Bien sûr, l’USB-C a également créé un tout nouveau domaine dans lequel faire des erreurs.

…Vient un palmarès mémorable

Les histoires d’horreur de l’USB-C sont partout – en gros, tous ceux qui ont utilisé l’USB-C peuvent vous en parler une fois où l’USB-C les a échoués, ou peut-être plusieurs fois. Il y a plus d’avantages à l’USB-C qu’il n’y a d’inconvénients, mais je crois fermement qu’il est important que nous nous souvenions de la façon dont il nous a fait défaut, et de la façon dont il le fait encore, afin que nous puissions apprendre de ces façons et comprendre comment les éviter .

Toutes les parties de la norme USB-C ne sont pas aussi bien pensées. La situation du câble et du port est la première qui vient à l’esprit. Lorsque vous voyez un port USB-C, vous ne pouvez presque jamais savoir d’un coup d’œil ce qu’il prend en charge, et il en va de même pour les câbles. La situation est assez désastreuse, dans l’état actuel des choses – l’utilisation de l’USB-C peut parfois nécessiter beaucoup de conjectures pour quelqu’un qui n’a pas encore trouvé d’explication décente. Il existe des directives sur la façon dont vous pouvez distinguer les câbles, et je montrerai quelques astuces en cours de route. Cela dit, ils auraient dû introduire dès le départ un schéma de marquage visuel convaincant.

La norme USB-C est quelque peu compliquée à mettre en œuvre, avec les nombreuses machines d’état et particularités impliquées. La spécification USB-C est connu pour ses documents PDF tristement longs: le document connecteur et câbles fait 350 pages et le document USB-PD fait plus de 600 pages. De nombreux fabricants ont essayé au fil des ans, de bonne foi, et ont toujours créé des appareils avec des bords remarquables et bizarres. Ordinateurs portables qui ne fonctionnent qu’avec certains chargeurs et vice-versa, stations d’accueil qui ne fonctionnent qu’avec certains ordinateurs portables ou uniquement en combinaison avec un certain chargeur, câbles qui fonctionnent dans une seule orientation ou appareils qui fonctionnent différemment selon l’orientation du câble – le mystère ne manque pas.

En plus de cela, il existe une infinité de façons d’abuser de l’USB-C, et certains fabricants s’y mettent ! Ce n’est pas la faute de la norme USB-C si d’autres en abusent – lors de la définition d’une norme complexe, vous ne pouvez mettre en œuvre qu’un nombre limité de protections. Cependant, nous avons encore une toute nouvelle catégorie de problèmes à surveiller. Certains péchés USB-C sont difficiles à pardonner et valent la peine d’être zonés, et certains sont moins évidents – nous en passerons en revue plusieurs en cours de route.

Une myriade de façons de pirater

Il est important que vous gardiez cela à l’esprit – l’USB-C ne fera que devenir plus cohérent avec le temps ; par la force, si nécessaire. De même, il ne deviendra que plus piratable. Parce qu’au fil du temps, nous collecterons de plus en plus de blocs de construction – des pièces de matériel et des connaissances. En plus de cela, les écosystèmes USB-C dans nos maisons ne font que croître chaque jour. Si vous concevez quelque chose aujourd’hui, vous devriez fortement envisager l’USB-C pour vos cas d’utilisation.

Ici, récapitulons ce dont vous avez besoin pour ajouter un port USB-C pour vous assurer que votre appareil reçoit 5 V avec jusqu’à 3 A possible, avec des données USB 2.0 et une prise en charge complète de la rotation pour les deux.

Symbole : USB_C_Receptacle_USB2.0 ; empreinte : USB_C_Receptacle_HRO_TYPE-C-31-M-12

C’est ça. Par rapport au MicroUSB, il n’y a que deux résistances supplémentaires et les broches sont plus faciles à souder. Câblez les résistances spécifiquement comme illustré sur le schéma ; ne joignez pas les broches CC comme Raspberry Pi 4 l’a fait, et n’omettez pas non plus les résistances. Si vous omettez les résistances, le port Type-C en amont ne fournira pas 5 V à votre appareil – de nombreux appareils bon marché les omettent. Il n’y a pas d’alimentation fournie sans les résistances de 5,1 kΩ, sauf si vous utilisez un câble USB-A vers USB-C pour alimenter votre appareil. Si vous omettez l’une des résistances, une seule rotation du port fonctionnera – certains appareils bon marché n’ont qu’une seule résistance.

Chaque appareil USB-C qui souhaite recevoir 5 V à tout moment possède ces résistances, soit à bord, soit à l’intérieur d’un circuit intégré de communication USB-C. Pour un simple objectif « 5 V et USB 2.0 », vous pouvez simplement utiliser des résistances 1% 5,1 kΩ. Cela dit, à la rigueur, vous pouvez parallèle deux résistances 10K et cela fonctionne réellement. Personnellement, je viens de commander une bobine de résistances de 5,1 kΩ et elles m’ont été d’une grande aide. Si vous avez un port où le concepteur a oublié d’ajouter ces résistances, vous pouvez également commander des cales FPC qui aident à souder ces résistances sur un type de connecteurs populaire !

Vous avez le choix entre de nombreux connecteurs USB-C, et ceux à 16 broches sont les préférés de la foule – avec une tonne de connecteurs compatibles avec les broches disponibles à l’achat n’importe où, et raisonnablement faciles à souder à la main, surtout si vous avez une mèche de soudure pour corriger les erreurs avec. Assurez-vous de ne pas utiliser de connecteurs sans broches CC – comme vous ne pouvez pas connecter de résistances pulldown, il n’est pas possible de faire fonctionner ces connecteurs avec les ports Type-C réels, et ils ne fonctionneront qu’avec un USB-A vers USB -C câble, ce qui est une limitation importante.

Bien sûr, l’USB-C offre bien plus que seulement 5 V @ 3 A et USB 2.0, comme je l’ai mentionné, et je vais vous montrer comment vous pouvez accéder à toutes les autres possibilités. Cependant, il est important que vous vous souveniez de la formule indiquée, car c’est celle que vous utiliserez le plus souvent, et cela vous aidera également à comprendre d’autres formules. En attendant, vous pouvez utiliser des broches SBU pour exposer certaines connexions de débogage comme un UART, car rien d’autre que DisplayPort n’utilise SBU. Cependant, il peut être difficile de trouver des ruptures de prise qui exposent SBU dans un facteur de forme soudable à la main. Et, si jamais vous entrez dans la cour des pirates du port USB-C, vous pouvez également implémenter le débogage d’une manière conforme aux normes !

Vous n’êtes pas toujours obligé de vous conformer

Et même une conformité totale ne vous protégera pas toujours.

La conformité aux normes USB-C pour un pirate informatique est une épée à double tranchant. Si vous ne vous conformez pas, vous risquez de détruire un ordinateur portable, ou il se peut que vous en bénéficiiez énormément sans dangers ni inconvénients. Certains scénarios sont « interdits » non pas parce qu’ils sont réellement dangereux, mais parce qu’ils sont jugés déroutants pour un utilisateur moyen ou n’entraînent pas une fonctionnalité optimale, et dans de nombreux cas, le pire résultat en cas de non-conformité est que quelqu’un sur Internet pourrait se mettre en colère contre vous pour une pinaillerie.

Dans les prochains épisodes, je discuterai de choses qui sont carrément terribles et qui n’auraient jamais dû être faites. Je vais également vous montrer comment violer doucement (ou durement) les normes là où cela pourrait vous être bénéfique ou cela aurait tout à fait du sens, et où il pourrait sembler que vous pourriez violer les normes, mais vous ne devriez vraiment, vraiment pas. Voici une ligne directrice – lorsque vous entendez que quelque chose que vous souhaitez utiliser enfreint les normes USB-C, il est très important de savoir quelles en sont les conséquences dans votre application spécifique.

Apprenons, propageons et violons ensemble la norme USB-C ! À la semaine prochaine.

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.