Enfait les infos que j'avais sur le circuit d'alim #USBC du #RaspberryPi4 étaient incomplètes. Factuellement vraies dans le sens où c'est bien une histoire de resistance de rappel manquante¹ sur CC, avec comme conséquence d'avoir un comportement erratique selon le chargeur USB C + cable C-C utilisé

Mais j'avais pas un détail croustillant spécifique au RPi 4 qu'on retrouve pas sur les autres devices avec défaut similaire… Qui rend le comportement encore « hasardeux » 🍿

1. URL plus loin

1/n

Pour être claire, ça n'a rien d'une révélation… C'est bien documenté depuis longtemps, par des gens qui possèdent le device depuiis sa sortie, mais c'est documenté en anglais et certains (la plupart des ?) sources sont ambigues/incomplètes… ET physique j'ai vaguement évoqué le sujet dans la liste des emmerdes apportées apr la soi-disant simplicité/praticité de l'USB C, autant clarifier…

2/

Dans le cas de USB-PD bien implementé
- Le cable d'alim C-C ne doit utiliser pour la communication (continuité à l'autre du fil) qu'un seul fil Configuration Channel: pin cable A5/pin port CC1 OU pin cable B5/pin port CC2. PAS les deux en même temps. Le deuxième est réservé aux cables qui ont besoin de Vconn pour alimenter les amplis des cables actifs ou le chipset e-Marker
- Le device Sink (alimenté), il y a 2 resistances de rappel (GND) de 5.1 kΩ, 1 pour chaque broche CC

2/n

Dans le cable d'un cable soit actif soit avec un chipset e-Marker, l'une des broche A5/B5, celle sur le quelle le chipset est connecté, déclare à la source (typiquement le chargeur) la présence d'un chipset qui a besoin d'une tension (Vconn) par une résistance. Dans le cable e-Marker de 1 kΩ en moyenne, variable de 800 Ω à 1200 Ω. Pour les cables j'en ai pas et j'ai pas les valeurs sous les yeux mais y a forcément de résistances de valeurs standards qui doivent être détectés par la source

3/n

C'est par des résistances de avleurs standardisées détectées sur certains sur des pins A5/B5 (cables) ou CC1/CC2 (Sources et Sink) que les charegurs, cables et device sà alimenter/charger, se mettent d'accord pour savoir qui est branché sur quoi… (Y a aussi PD messaging mais c'est un autre sujet, généralement pas utilisé sur des configurations "simples" et des ports à role unique (Sink OU source)

4/n

En résumé et indépendamment du défaut de conception du RPi 4, coté
Sink : 2 Rés de rappel (pulldown, branché sur Gnd) de 5.1 kΩ notées Rd, une sur CHAQUE pin CC… 2 sinon il faut orienter le connecteur USB C « dans le bon sens » (rangées A ou rangée B du même coté du cable) qu'il faut deviner sans détrompeur 🤡
Cable e-marked OU actif : Une rés de rappel de 800 Ω-1 200 Ω sur l'un des, noté Ra. L'autre coté va vers Gnd. D’où la note "source" et "device" de parts et d'autres de certains cables

5/n

Et quand c'est pas marqué, si que le cable est branché dans le mauvais sens¹

- l'e-Marker pas alimenté = pas de >3 A ⇒ charge lente OU alim insuffisante si device 5 A sans batterie
- amplificateur de signaux pas alimenté = pertes de débit sur la longer du cable. De mémoire 1,5 ou 2 mètre.

1. Cette fois, c'est le sens cable entre Sink et source et non orientation du connecteur comme dans le cas précédemment cité, une Rd sur deux manquante

6/n

Ok certains cables actifs semblent avoir le chipset ampli qui utilise 2 pins Vcc, 2 resistances Ra (une de que coté de l'ampli) et 2 diodes en sens inverse pour respecter la standard USB PD qui interdit la continuité sur à la fois A5 et B5 (continuité uniquement sur le fil qui n'a pas de chipset) mais si c'est pas indiqué clairement, à moins de sortir le testeur USB C ou un multimètre et les breakout board avant d'acheter 🤡

7/n

Et ce double sens concerne que les cables actifs, pas les e-marqués. Jamais vu un cable avec e-Marker SANS sens de branchement¹… Et le sens n'est PAS toujours marqué…

C'est « évident » que quand on sait comment ça fonctionne et que c'est 'un cable avec adaptateur C/A intégré d'un coté (coté source/chargeur) et/ou un adaptateur magnétique USB/C (coté sink/device) : Et mon seul cable qui correspond… a l'e-Marker qui ment 🤣

1. Sens cable, pas orientation du conn., réversibilité dépendante du Sink

Mon seul autre cable avec e-Marker donc sensé pouvoir fournir 5A¹… en supposant que le fabricant ne ment pas², fonctionnera ou non selon le sens du cable… 2 connecteurs identiques

1. Que ce soit que ce soit en 25,5 W, comme RPi 5 ou gros PC 100 W… C'est question d'ampérage, pas de puissance (Watts), la surenchère d’intensité n'implique pas puissance élec. élevée en USB C 🍿 Corrélation n'est pas causalité
2. ça arrive, cf l'e-marker menteur de l’autre cable… Le risque n'arrête pas le capitalisme

Donc je disais… le défaut de conception du RPi 4…

Le schema du circuit d'alim montre qu'au lieu d'avoir 2 rés de rappel Rd=5,1 kΩ sur les Conf Channels : 1 sur CC comme voulu dans les specs pour avoir un cable reversible (connecteur, pas sens cable, qui dépend du cable), ils ont la riche idée de partagée UNE Rd entre les 2 pins CC court-circuités entre eux, la R79 du schema 🍿

⚠️ R1 n'est PAS resistance de rappel ET CC1 - CC2 sont bien en court-circuités…

https://pip-assets.raspberrypi.com/categories/545-raspberry-pi-4-model-b/documents/RP-008345-DS-1-raspberry-pi-4-reduced-schematics.pdf

10/n

Le défaut de conception est complètement transparent si on utilise la chargeur propriétaire, avec son cable intégré du Raspberry Pi 4 commandé en ligne en payant les frais de ports ou en l'ayant eu à l'achat du Pi 4

Mais admettons qu'on fait ce que beaucoup de gens ont essayé de faire : « Pas besoin de l'alim spécifique au pi 4, j'ai déjà des chargeurs USB et des cabels, je les utiliserai »

Après tout « L'USB C cey universel » qu'on dit partout… Toute démo contraire argumentée est « un troll »

Admettons aussi qu'on a aucune notion en électronique et/ou qu'on connait pas les specs de ces cables… Soit la majorité des gens…

Quelqu'un pioche dans son tiroir un chargeur USB C conforme et câble USB C-C, acheté pour couvrir le plus de cas possible donc probablement des devices à la con 5A ou avec la mention « intelligent et sécurisé » donc avec e-Marker…

Au lieu d'avoir coté RPi 4, 2 pins CC bien séparées avec chaque sa résistance Rd=5.1 kΩ, donc une à la fois sera exposée au chargeur […]

[…] pour dire « Salut, je suis un vrai Sink USB C conforme et non un gaget quelconque 2A amx qui détourne le connecteur USB C ou un USB A 900 mA, tu peux balancer 5 V 3 A, je crammerai pas » et l'autre résistance qui gène pas parce que pas visible par le chargeur (si le cable est conforme, continuité que sur A5 XOR B5) et ce quelque soit l'orientation du connecteur du cable (pin row A ou B) et le type du cable, simple 3A, actif ou e-Marqué…

13/

On a coté RPi 4, les pins CC1 et CC2 en court circuit pour partager UNE même résistance de rappel [Rd=5.1 kΩ] (la R79 du schema) et coté câble sur A5/B5 une [Ra=1 KΩ] du cable¹ qui se retrouve en parallèle… Niveau lycée 🤣

Ce que voit le chargeur au lieu de Rd=5.1 kΩ attendue pour ID un Sink USB C et donc initier la charge/alim, c'est Req = (Rd×Ra)/(Rd+Ra) = 5 100×1 000/6 100 = 836 Ω donc hors specs → chargeur inactif

https://pip-assets.raspberrypi.com/categories/545-raspberry-pi-4-model-b/documents/RP-008345-DS-1-raspberry-pi-4-reduced-schematics.pdf

1. Rés. Ra≃1 kΩ sert à réclamer l'alim Vconn

14/

Donc ça fonctionnera ou juste PAS, au petit bonheur la chance… En f(combinaison-alim_cable)

Fonctionne pas avec un cable C-C e-Marked… Sans aucun moyen pour l'utilisateur non-technique de pouvoir identifier le problème… Sauf à avoir le chargeur propriétaire 5,1 V 3 A avec son cable intégré¹… Super la « simplicité » 🍿

1 Ou un chargeur USB A avec cable A∕C 15 W (certains étant limités à 10 W) en espérant que le RPi 4 finisse pas en PLS quand un load important avec 5 V au lieu de 5,1 V…

15/15