Alles über USB
Menschen haben mit USB-C eine Vielzahl von Problemen. Ich habe Leute online nach ihren negativen Erfahrungen mit USB-C gefragt und sowohl auf Twitter als auch auf Mastodon eine Vielzahl unterschiedlicher Antworten erhalten. Darüber hinaus pflegen Communities wie r/UsbCHardware eine Reihe von Dingen, die die Erfahrung mancher Menschen mit USB-C unterdurchschnittlich machen.
In der Technik und beim Hacken gibt es unausgesprochene Dinge, die wir früher stillschweigend für undurchführbar hielten. Bidirektionale Stromversorgung und Hochgeschwindigkeitsdaten an einem einzigen Port mit Tausenden von Peripheriegeräten, wobei nur ein einziger Datenpin verwendet wird – wenn Sie sich jemals einen Schaltplan für einen proprietären Docking-Anschluss angesehen haben, der eine solche Leistung erbringt, wissen Sie, dass Sie das tun würden Finden Sie unvorstellbare Schrecken. Beispielsweise entwickelte sich der ID-Pin von MicroUSB schnell zu einer Fundgrube inkompatibler Widerstandswerte für alles, was über „Stromversorgung oder Stromversorgung“ hinausging. Laptop-Hersteller mussten routinemäßig auf Widerstands- und Eindrahtschaltungen zurückgreifen, um sicherzustellen, dass ihre Ladegeräte nicht dadurch überlastet werden, dass ein Laptop mehr Energie aufnimmt, als das Ladegerät abgeben kann, was wiederum zu einer Vielzahl von Fehlermodi führte.
Bei der Entwicklung von USB-C hat sich die Gruppe Ladegeräte, OTG-Adapter, Display-Ausgänge, Dockingstationen, Dockingstationen mit Ladefunktionen und Display-Ausgänge angesehen und sie in einer Spezifikation vereint, die praktisch alles abdecken kann – über ein einziges Kabel . Was könnte schiefgehen?
Natürlich haben Gerätehersteller eine Reihe von Möglichkeiten gefunden, alles, was USB-C bietet, zu nutzen und damit den Boden zu wischen. Einige der USB-C-Sünden sind auffällige Trends. Ich habe herausgefunden, dass die meisten davon auf Herstellerfehler zurückzuführen sind, sei es aus Unachtsamkeit oder aus böser Absicht. Dinge wie die Kabelbeschriftung liegen völlig im USB-C-Standardbereich, und es gibt viele zufällige Abnutzungsfehler.
Ich weiß nicht, ob der USB-C-Standard einfacher hätte sein können. Ich kann mit Sicherheit sagen, dass viele Fehler darauf zurückzuführen sind, dass Geräte- und Kabelhersteller nicht darauf achten. Lassen Sie uns die berüchtigten Sünden von USB-C durchgehen und sehen, was wir daraus lernen können.
Ja, du hast es verstanden. Der erste, ehrenamtliche Eintrag ist das Weglassen von 5,1-kΩ-Pulldowns an einem USB-C-Anschluss, der zum Laden Ihres Geräts gedacht ist. „Warum lädt mein Gerät mit einem USB-A-zu-USB-C-Kabel, aber nicht mit einem USB-C-zu-USB-C-Kabel“, fragt der Benutzer? Die Antwort ist einfach – weil der Entwickler Ihres Geräts beschlossen hat, beim Bau Ihres Geräts einen Cent zu sparen, und sich nicht darum gekümmert hat, das Gerät vor dem Verkauf an Sie zu testen. Mit anderen Worten: Ihr Gerät sollte über zwei Widerstände verfügen, die an den USB-C-Stecker angeschlossen sind, aber das ist nicht der Fall, und USB-C-Netzteile können nicht erkennen, dass sie Strom liefern sollen. Denken Sie daran, dass die Widerstandserkennung grundsätzlich ein Sicherheitsmechanismus ist und Informationen zu diesem Problem mittlerweile allgegenwärtig sind.
Das Weglassen dieser Widerstände ist einer der ärgerlichsten Typ-C-Fehler für Benutzer und führt oft dazu, dass das Problem stundenlang behoben wird. Hier ist nur ein Beispiel eines Entwicklers, der mit einem WCH RISC-V-Board unter Verwendung eines USB-C-Anschlusses für die Stromversorgung arbeitete und einige Stunden damit verbrachte, weil WCH sich nicht die Mühe machte, diese Widerstände hinzuzufügen. Wenn Sie bei Aliexpress ein mit USB-C ausgestattetes Arduino Pro Micro oder TP4056-Board kaufen, ist es wahrscheinlich ohne Widerstand. Überall, wo Sie hinschauen, finden Sie ein oder zwei widerstandslose Geräte. Das schiere Ausmaß dieses Problems ist ehrlich gesagt lächerlich.
Erinnern Sie sich an den Artikel über die Stromversorgung, insbesondere daran, wie Sie zu höheren Spannungen gelangen? Fassen wir noch einmal zusammen: Sie erhalten zuerst 5 V und dann erst nach der Widerstandserkennung. Höhere Spannungen erfordern Aushandlungen über ein digitales Protokoll. Dies ist eine Sicherheitsregel – so können Sie dasselbe USB-C-Ladegerät für Ihren Laptop, Ihr Telefon, Ihre kabellosen Kopfhörer, Ihre Devboards und was auch immer verwenden.
Was passiert nun, wenn jemand ein Netzteil mit einem festen Ausgang von mehr als 5 V, beispielsweise 12 V, baut und einen USB-C-Stecker daran anschließt? Die Antwort lautet: Es passieren wirklich schlimme Dinge. Ein solches Netzteil ist für die Verwendung mit echten USB-C-Geräten nicht sicher – es zerstört wahrscheinlich Ihr Telefon oder Ihren Laptop und ist auf den ersten Blick nicht von einem Adapter zu unterscheiden, der den USB-C-Regeln entspricht, die für alle anderen gelten. Wenn Sie einen solchen Adapter hin und wieder für etwas verwenden müssen, sollten Sie das Kabel so mit Bürokratie markieren, dass auch der Anschlussstecker abgedeckt ist, damit Sie (oder Ihre Liebsten) nicht danach greifen, um etwas anderes aufzuladen . Im Ernst, es ist leicht, einen Fehler zu machen, und je besser Sie sich mit USB-C vertraut machen, desto wahrscheinlicher ist es, dass Sie einen Fehler machen.
Wer macht das? Nun ja, viele No-Name-Hersteller tun das, aber zum Beispiel auch Lidl Parkside-Werkzeuge. CrowPi tut dies auch in seinem kürzlich veröffentlichten CrowPi L-Laptop. Beide werden mit dummen „USB-C“-12-V-Netzteilen geliefert, und keines davon sollte an Verbraucher verkauft werden, insbesondere wenn man bedenkt, dass der CrowPi-Laptop für Kinder und Bildungszwecke konzipiert ist und Parkside-Tools für Nicht-Techniker konzipiert sind. kluge Leute. Wenn Ihr Kind ein 500-Dollar-Smartphone verbrennt oder Ihr Opa seinen Laptop wegen eines 2-Dollar-Netzteils verbrennt, dann wird die Schwere dieses Standardverstoßes erst richtig deutlich.
Das Weglassen des Widerstands ist den Verbrauchern mittlerweile ein Dorn im Auge und die mörderischen Netzteildesigns sind unverzeihlich. Designer sollten diese Dinge nicht tun. Es gibt jedoch einen Bereich, in dem ich Fehler verzeihen kann, und das ist das USB-PD-Protokoll – insbesondere die Kompatibilitätsfehler, insbesondere in der frühen USB-C-Technologie.
Die PD-Spezifikation umfasst 800 Seiten – das ist zweifellos einschüchternd. Wenn Sie jedoch für die Implementierung von USB-C bezahlt werden, ist es Ihre Aufgabe, sich damit auszukennen. Wenn Sie jedoch zu den Early Adopters gehören und eine komplexe Spezifikation umsetzen, ist es sehr wahrscheinlich, dass Sie ohne eigenes Verschulden einen Fehler machen. Sie haben nicht so viele Implementierungen, mit denen Sie arbeiten können, Sie werden mit (und um) ähnlicher Early-Adopter-Low-Level-Hardware wie ICs arbeiten, und andere Geräte um Sie herum werden auf subtile Weise ähnlich verzerrt sein. Das Wesentliche ist: Die frühe Einführung ist ein schwierigeres technisches Problem, als wir vielleicht erkennen.
Darüber hinaus gibt es zwei Early Adopter-Wege für eine weitreichende Schnittstellentechnologie wie diese. Eine Möglichkeit besteht darin, ein Gerät zu bauen, das speziell auf die Kompatibilität mit den von Ihnen hergestellten teuren Peripheriegeräten ausgelegt ist, obwohl es auf einem offenen Standard basiert, der auf Interkompatibilität abzielt, und das Gerät nicht wirklich mit anderen Dingen zu testen. Ich nenne dies ohne besonderen Grund die Nintendo Switch-Route.
Der andere Early-Adopter-Weg besteht darin, ein Gerät zu entwerfen und es dann mit anderen Geräten zu testen. Da es sich um eine frühe Einführungsphase handelt, sind andere Geräte oft ähnlich kaputt und am Ende stapeln sich eine ganze Reihe von Problemumgehungen und Bugfixes übereinander. Es werden immer wieder neue Geräte veröffentlicht, und für eine Weile bringt jedes von ihnen eine etwas fehlerhaftere Implementierung mit sich. Im besten Fall verbringen Sie viel Zeit mit dem Testen, wenn es sonst kaum jemand in der Nähe tut, und stellen so eine erstklassige Kompatibilität sicher – vorausgesetzt, Sie können Entwickler mit dem Problem betrauen. Im schlimmsten Fall erzeugen Ihre Korrekturen eine völlig neue Art von fehlerhaftem Gerät.
Mit diesem Haftungsausschluss „Unternehmen die Schuld geben“ im Hinterkopf, kommen wir zum nächsten Punkt, an dem ich den Unternehmen die Schuld geben werde.
Heutzutage gibt es keine Entschuldigung mehr, ein schlecht getestetes USB-C-Produkt auf den Markt zu bringen. Wenn ein Open-Source-Projekt über eine Reihe von Netzteilen zum Testen eines USB-C-Netzteils verfügen kann, haben große Unternehmen keine Ausrede. Wenn Sie eine schwere Powerbank gekauft haben, die sich nicht genug Mühe gibt, die Rolle der Stromversorgung herauszufinden, und die am Ende über den Laptop aufgeladen wird, wenn Sie das Gegenteil brauchen, bedeutet das, dass sie nicht auf Laptops wie Ihrem getestet wurde, und die Chancen stehen gut, dass Ihres nicht funktioniert. Nichts Besonderes. Seien wir ehrlich: Ein Unternehmen, das Powerbanks entwickelt, kann es sich leisten, ein paar Laptops mit unterschiedlichen Betriebssystemen zu kaufen und das Verhalten zu testen, bis es gut funktioniert.
Die PD-Kompatibilitätsprobleme gibt es, und Sie könnten irgendwann darauf stoßen, insbesondere wenn es um das Aufladen geht. Es gibt Laptops, die zum Beispiel nicht mit bestimmten Ladegeräten funktionieren – mein Framework-Laptop funktioniert nicht mit einem Xiaomi-Laptop-65-W-Ladegerät, sodass der Akku ständig von 10 % auf 30 % wechselt und das Ladegerät weiterhin angeschlossen ist /Disconnect-Zyklen. Ich habe auch eine Dockingstation, bei der die Durchleitung des Ladegeräts nur bei der Hälfte der Laptops funktioniert. Natürlich gibt es Möglichkeiten, Spezifikationen falsch zu verwalten, aber seien wir ehrlich: Dafür muss es einen tieferen Grund geben.
Ein Teil des Problems ist der mangelnde Informationsaustausch. Wenn ein großes Open-Source-Projekt ein kniffliges Kompatibilitätsproblem löst und eine Problemumgehung hinzufügt, geht es auf GitHub, damit jeder es sehen und nutzen kann, mit einer durchsuchbaren Beschreibung des Problems in der Commit-Nachricht.
Wenn ein kommerzielles Unternehmen denselben Fehler behebt, wird er zu allen anderen Informationszwecken und -zwecken in /dev/null abgelegt, mit Ausnahme des Binär-Blobs, das sie als Firmware-Update veröffentlichen – falls überhaupt. In diesem Fall verfügt jedes Unternehmen, das PD-Talking-Funktionen implementiert, über eine eigene Datenbank mit PD-Macken, die die Besonderheiten der Geräte umgeht, mit denen sie getestet haben. Diese PD-Macken sollten öffentlich zugängliche Informationen sein, aber das sind sie nicht.
Entwickler proprietärer Lösungen werden nicht dafür bezahlt, Dinge zu teilen, während bei Open-Source-Projekten die gemeinsame Nutzung auf natürliche Weise und ohne zusätzlichen Aufwand erfolgt, was einmal mehr die grundsätzliche Unterlegenheit proprietärer Prozesse offenbart. Der Hauptgrund dafür, dass Sie fehlerhafte USB-C-Geräte haben, liegt darin, dass Unternehmen lieber zu viel bezahlen und Inkompatibilitäten erleiden, als dass sie sich die Mühe machen, Informationen untereinander auszutauschen. Ganz gleich, ob es um Informationen zu Sicherheitslücken oder um die gemeinsame Entwicklung von Standards geht: Große Unternehmen lernen langsam, die Dinge richtig zu machen, Domäne für Domäne, aber das allgemeine Konzept scheint nie wirklich durchzuhalten – die grundlegenden Scheuklappen von Profitmotiven und Gier sind einfach so stark.
Auch die Arbeit mit Mikrocontrollern mit PD-Peripherie ist oft schwierig. Dies ist wiederum ein Mangel an Anstrengungen, um diese Peripheriegeräte für Entwickler benutzerfreundlich zu machen, sei es durch besseres Design oder bessere Dokumentation – oft leider mehr offener Code, wie Sie vielleicht erraten können. Allein dieser Faktor erhöht die Wahrscheinlichkeit, dass der Endbenutzer auf Fehler stößt, da es für ein Peripheriegerät, mit dem schwieriger zu arbeiten ist, schwieriger ist, vernünftigen Code zu schreiben.
Sie können einen 1000-Dollar-Laptop kaufen und feststellen, dass sein USB-C-Anschluss nur USB3 unterstützt – kein Aufladen oder DisplayPort. Oder Sie kaufen ein Mittelklasse-Smartphone für 500 US-Dollar und stellen fest, dass es nicht gleichzeitig laden und OTG ausführen kann, obwohl USB-C dafür sorgt, dass Geräte genau das problemlos und auf standardisierte Weise tun können, was zum Scheitern verurteilt ist all diese MicroUSB-Splitter-Adapter mit seltsamen Widerständen am ID-Pin.
Im Laptop-Bereich ist Asus einer der schlimmsten Übeltäter, da es eine lange Reihe von Geräten nur mit USB3-Ausgang auf USB-C gibt – ohne DisplayPort, ohne Aufladen, ganz zu schweigen von Thunderbolt. Was noch schlimmer ist: Wenn Sie sich die Dokumentation ansehen, finden Sie möglicherweise keine Erwähnung darüber, wozu der USB-C-Anschluss fähig ist, egal ob er dazu fähig ist oder nicht. Und natürlich macht es das Fehlen einer klaren Kennzeichnung der Anschlüsse noch schlimmer.
Das Sahnehäubchen ist ein einzelner USB-C-Anschluss an einem Laptop – und sonst nichts – Sie haben vielleicht MacBooks wie dieses gesehen. Sie müssen grundsätzlich einen Dongle mit PD-Passthrough bei sich tragen, Ihren kabellosen Mausempfänger können Sie nirgends anschließen und der USB-C-Anschluss wird zur lebendigen Definition des Wortes „Engpass“. Wenn es um das Recht zur Reparatur geht, bedeutet ein einziger USB-C-Anschluss für absolut alles, dass ein riesiger Fehlerpunkt entsteht, der dazu führt, dass Sie keinen Laptop mehr haben, wenn Sie versehentlich ein zu billiges Ladegerät verwenden und am Ende das Plastik des einzigen Anschlusses zum Schmelzen bringt. Wenn es sich nicht um ein MacBook handelt, wünschen wir Ihnen viel Glück bei der Suche nach einem Ersatzanschluss. Für einen Bastler kann es im wahrsten Sinne des Wortes unmöglich sein, maßgeschneiderte USB-C-Anschlüsse in kleinen Stückzahlen zu finden.
Denken Sie daran: Wenn Ihr USB-C-Kabel kaputt oder wackelig ist, sollten Sie es nicht mehr verwenden und ein Ersatzkabel kaufen. Markieren Sie Geräte, die sich schlecht verhalten, und sprechen Sie online darüber. großzügig benennen und beschämen. Lesen Sie Online-Bewertungen, wenn Ihnen die Kompatibilität Sorgen bereitet, scrollen Sie auf Aliexpress nach unten oder suchen Sie nach dem Produktnamen, um zu sehen, ob das von Ihnen gekaufte Gerät über die benötigten Widerstände verfügt. Wenn Sie ein USB-C-Netzteil oder ein teures Dock kaufen, kann es sinnvoll sein, es mit Ihrem Gerät zu testen und sicherzustellen, dass Sie es zurückgeben oder gegen ein anderes austauschen können. Mit der Zeit werden die scharfen Kanten geglättet, und wann immer USB-D in unsere Haushalte kommt, werden viele Menschen nostalgisch darüber verspüren, wie einfach USB-C war.