Forum: Mikrocontroller und Digitale Elektronik Selfpowered Hub als Schutz für den PC vor selbstgestrickten USB-Schaltungen


von Uhu U. (uhu)


Lesenswert?

Rufus hatte hier: Beitrag "Re: Alle USB-Ports defekt! Abhilfe?" 
empfohlen, einen Selfpowered USB-Hub zum Schutz der PC-Hardware bei der 
Inbetriebnahme zwischen die Eigenkreation und den PC zu schalten.

Ich hab mir also einen Logilink USB 2.0 4-Port Hub bei P. besorgt.

Jetzt wollte ich es ganz perfekt machen und hab als Ersatz für die 
mitgelieferte Wandwarze ein Adapterkabel gebastelt, über das ich das 
Teil aus meinem strombegrenzbaren Labornetzteil zu speisen gedachte, in 
der Hoffnung, daß ich damit Schäden durch Kurzschlüsse ganz vermeiden 
kann.

Nur leider muß ich feststellen, daß der Hub auch ohne Wandwarze geht und 
sich den Strom dann vom PC holt. Und das auch, wenn man in die 
Hohlsteckerbuchse einen Stecker ohne Spannung steckt, es ist also keine 
Schaltklinke drin, die den PC einfach als Stromversorgung abklemmt.

Jetzt stellt sich natürlich die Frage, ob Rufus' Tipp überhaupt 
funktioniert.

Kann man ohne Probleme zu bekommen, die +5 V in der USB-Strippe zwischen 
PC und Hub auftrennen?

von Ulrich P. (uprinz)


Lesenswert?

Der HUB kann und darf durchaus beide Pfade für die Versorgung zulassen. 
Dazu meldet er ggf. die veränderte Stromaufnahme via USB an den PC. Auch 
das Flag für Self-Powered kann je nach Situation geändert werden.
Der HUB ist aber dafür verantwortlich dann ggf. Ports auf Befehl hin zu 
deaktivieren, wenn im USB-Powered Modus die Stromaufnahme aller Ports 
die max. 500mA am PC überschreitet.
Viele Billig-HUBs schalten in diesem Fall auch gerne ganz aus.

Wichtig in Deinem Fall ist es aber, die USB Ports des PCs vor irgend 
welchen Problemen mit den angesteckten Basteleien zu schützen.
Um das hin zu bekommen, möchtest Du den HUB aktiv versorgen. Dann musst 
Du aber die +5v vom USB-Stecker Richtung PC auftrennen. Im Zweifelsfall 
bindet der HUB nämlich beide Versorgungen über zwei LowDrop Dioden 
einfach zu einer zusammen und bekommt lediglich von der 
Netzteil-Versorgung noch die Info, ob sie da ist oder nicht. Eine 
versehentlich Überspannung am Bastel-Port wird aber leicht den Weg über 
die Diode zurück in den PC finden. Schade.

Um Deinen PC effektiv zu schützen, müsstest Du daher noch nachsehen, ob 
im HUB ein paar vernünftige Schutzdioden in D+ und D- eines jeden Ports 
oder wenigstens zum Uplink vorhanden sind. Ebenso sollte jeder Port auch 
eine schnelle Z-Diode an den +5V haben.

Im Grunde hättest Du Dir auch ein USB-Kabel nehmen können. 
Durchschneiden und auf einer kleinen Lochrasterplatine erneut verbinden, 
bis auf +5V. Die speist Du separat ein. An D+ und D- klemmst Du dann 
schnelle Schottky-Dioden als SMD, dazu noch kräftigere aber langsamere 
Varistoren. Da es diese Bauelemente alle als SMD gibt, muss man D+ und 
D- nicht sehr weit von einander entfernen und stört damit nicht 
zusätzlich die Kommunikation.

Bei diesen Konstruktionen wird dem PC zwar die reale Stromaufnahme aus 
dem USB Profil Deiner Schaltung oder dem HUB gemeldet, aber diese ist 
eine maximal-Angabe. D.h. durch die Bypass-Versorgung mit Netzteil wird 
aus dem PC-USB Port kein Strom gezogen obwohl angemeldet, was aber nicht 
stört.

Gruß, Ulrich

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Uhu Uhuhu schrieb:

> Kann man ohne Probleme zu bekommen, die +5 V in der USB-Strippe zwischen
> PC und Hub auftrennen?

Nein, wahrscheinlich nicht.  In der Regel signalisiert diese Leitung
dem Gerät zugleich, dass es jetzt an einen Host (oder Hub) angestöp-
selt worden ist und folglich damit beginnen muss, sich bei diesem
bemerkbar zu machen, auf dass der Host die Konfiguration erfährt und
das in seinen USB-Stack einsortieren kann.

Allerdings könnte es sein, dass ein eingeschleifter 100-Ω-Widerstand
dafür noch OK ist.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Uhu Uhuhu schrieb:
> Nur leider muß ich feststellen, daß der Hub auch ohne Wandwarze geht

Das ist auch so vorgesehen, damit wird der Hub zu einem "bus-powered" 
Hub. Wenn der wirklich was taugt, meldet er diesen Zustand an den PC, an 
dem er hängt, der daraufhin die für die angeschlossenen Geräte zur 
Verfügung gestellten Leistungen drosselt. Ein Gerät, das beim 
Anschließen 500 mA fordert, wird mit einer Fehlermeldung abgewiesen.

Leider gibt es Hubs, die sich darum nicht kümmern.

Den zweiten Punkt würde ich experimentell ermitteln; daß so etwas 
prinzipiell vorgesehen ist und funktioniert beweist jede 
3.5"-USB-Festplatte, die ohne angeschlossenes Netzteil gar nichts tut. 
Und daß es andersherum auch keine Probleme gibt, beweist wiederum diese 
Festplatte, wenn sie mit Strom versorgt wird, der PC, an dem sie hängt, 
aber nicht.

Beides sind legale Betriebsarten, und daher sollte das mit dem USB-Hub 
ebenso funktionieren.

Viel Erfolg, und berichte von Deinen Erkenntnissen.

[Nachtrag]

> Nein, wahrscheinlich nicht.  In der Regel signalisiert diese
> Leitung dem Gerät zugleich, dass es jetzt an einen Host
> (oder Hub) angestöpselt worden ist und folglich damit
> beginnen muss, sich bei diesem bemerkbar zu machen

Das dürfte ein Blick ins Datenblatt des Hub-Controllers im Hub klären, 
gegebenenfalls ist nicht die 5V-USB-Leitung direkt an der 
Upstream-Leitung (zum PC hin) zu kappen, sondern an dem Punkt, an dem 
der Hub-Controller seine Versorgungsspannung bezieht.

von Uhu U. (uhu)


Lesenswert?

Also:
- Die Leitung zwischen PC und Hub auftrennen
- Die 5V vom PC mit 100 Ω gegen GND
- Den Hub per Netzteil speisen, wie ich es gedacht hatte.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Uhu Uhuhu schrieb:

> - Die 5V vom PC mit 100 Ω gegen GND

Nein, sondern gegen die ursprüngliche Leitung, an die sie im Hub
ging, damit dieser eine Meldung erhält, wenn er an den Host
angestöpselt wird.

Wenn möglich, kannst du dir ja auch das Datenblatt zum benutzten
IC beschaffen und versuchen herauszufinden, auf welche Weise dieser
die VUSB vom Host gemeldet bekommt.

Falls die interne Versorgung wirklich über zwei Dioden eingespeist
wird, genügt es ggf. auch, die Diode vom Host zur internen Versorgung
auszulöten.

von Stefan B. (steckersammler)


Lesenswert?

Also zumindest mein LogiLink-Hub funktioniert einwandfrei mit rein 
externer Versorgung.

Ich hab einfach den Kontakt für 5V im USB-Stecker abgeklebt, um es 
zerstörungsfrei zu testen.

Der Grund bei mir war aber ein anderer: Mein Mainboard schaltet im 
Aus-Zustand die USB-Ports nicht ab, und ich wollte das externe Netzteil 
vom Hub einsparen. Also hab ich 5V vom PC-Netzteil nach außen gelegt, 
und versorge den Hub damit...

MfG Stefan

von Uhu U. (uhu)


Lesenswert?

Stefan B. schrieb:
> Also zumindest mein LogiLink-Hub funktioniert einwandfrei mit rein
> externer Versorgung.

D.h. mit unterbrochener 5V-Leitung zwischen Hub und PC?

von Uhu U. (uhu)


Lesenswert?

Jörg Wunsch schrieb:
> Wenn möglich, kannst du dir ja auch das Datenblatt zum benutzten
> IC beschaffen und versuchen herauszufinden, auf welche Weise dieser
> die VUSB vom Host gemeldet bekommt.

Dazu müßte ich das Ding erst mal einigermaßen zerstörungsfrei auf 
kriegen.

von Uhu U. (uhu)


Lesenswert?

So, ich habs jetzt so gemacht, wie ich oben beschrieben hatte und das 
funktioniert.

Wenn ich dem Hub die Stomzufuhr abdrehe, dann mein Linux, das Ding wäre 
abgesteckt umd ein USB-Stick, der drinsteckt wird gedismountet.

Wahrscheinlich kann man sich die 100 Ω auch noch sparen, also einfach 
die rote Strippe im USB-Kabel kappen.

von Stefan B. (steckersammler)


Lesenswert?

Uhu Uhuhu schrieb:
> Stefan B. schrieb:
>> Also zumindest mein LogiLink-Hub funktioniert einwandfrei mit rein
>> externer Versorgung.
>
> D.h. mit unterbrochener 5V-Leitung zwischen Hub und PC?

Genau, ich habe wie gesagt einfach den 5V-Kontakt im Verbindungskabel 
PC-Hub abgeklebt.

von Uhu U. (uhu)


Lesenswert?

Das Dingens meldet sich übrigens als

   ID 058f:6254 Alcor Micro Corp. USB Hub

bei lsusb.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.