Forum: Mikrocontroller und Digitale Elektronik USB Hub mit Strom versorgen und über SW ein - bzw. ausschalten


von Andreas R. (pcdoc)


Lesenswert?

Hi,

Ja, das Thema gabs schon das eine oder andere Mal. Nur wenn ich nichts 
übersehen hab nicht in dieser Form.

Mein Vorhaben kurz erklärt:

Mir gehts darum an einem Radxa Rock Development Board (oder ähnlichem) 
eine 2,5" USB HDD anzuhängen und und diese über die GPIO Schnittstelle 
ein und aus zu schalten. Grund dafür ist hauptsächlich Strom sparen und 
Lebensdauer der HDD zu erhöhen. Das Board wird mehr oder weniger immer 
laufen, da es einige andere Aufgaben übernimmt, aber ich brauche einiges 
an USB Peripherie nicht dauernd oder nur selten weshalb ich die gern 
remote über SW deaktivieren kann.

Ich hab mir zu dem ganzen natürlich schon ein paar Gedanken gemacht, 
aber ich setzte nicht gern unnötig Sachen in den Sand, deshalb wäre es 
nett wenn ihr mich da vielleicht mit euren Erfahrungen unterstützen 
könnt. Um ein klein wenig Verständniss würde ich auch bitten, da ich 
mich zwar schon öfter mit der Materie auseinander gesetzt habe, aber nie 
wirklich viel unter die Oberfläche gekommen bin und mir sicher das eine 
oder andere an Hintergrundwissen fehlt.

Und so in etwa hab ich mir das vorgestellt. Ich würde einen passiven USB 
Hub nehmen (nicht vorhanden > spezielle Anforderungen können also beim 
Kauf berücksichtigt werden)

Dazu gleich die erste Frage: Ist es möglich den Hub und damit die daran 
hängende Peripherie "auszuschalten" indem man nur ein Stromführendes 
Kabel (VBUS) unterbricht? Oder gibts da Probleme wenn die Datenleitungen 
nicht unterbrochen sind?

Abhängig von der Antwort gäbe es für mich 2 Alternativen, wobei mir 
diese als einfacher/sinnvoller (wenn machbar) erscheint:

Alternative 1: VBUS und GND auf Dauer unterbrechen und nur die beiden 
Datenleitungen bestehen lassen. Dann wir über ein externes Netzteil (das 
gleiche was auch das Dev Board versorgt) der Hub mit Strom versorgt und 
über ein Relais ein- und ausgeschaltet.

Alternative 2: Wäre dass ich die Verbindung zwischen Board und Hub 
ungeändert lasse und dann nur in VBUS vom HUB zur HDD mit einer Schottky 
Diode einlöte, zusätzlich mit strom Versorge und die Stromversorgung der 
Festplatte mit einem Relais unterbreche. Diese Version hätte den 
Vorteil, dass ich bei Bedarf mehrere HDDs seperat ein- und ausschalten 
könnte. (momentan nicht geplant)

Glaubt ihr das funktioniert so wie beschrieben?

mfg
Andreas

von Peter II (Gast)


Lesenswert?

warum schaltest du nicht einfach die Festplatte bei Software aus?

von Uwe (Gast)


Lesenswert?


von Peter II (Gast)


Lesenswert?

Uwe schrieb:
> http://support.microsoft.com/kb/311272/de

für wie Wahrscheinlich hältst du es das er dort Windows ausführen will?

von Andreas R. (pcdoc)


Lesenswert?

Peter II schrieb:
> für wie Wahrscheinlich hältst du es das er dort Windows ausführen will?

Genau das ist eines der Probleme! Aber leider nicht das einzige. Es wird 
entweder Android 4.XX oder wahrscheinlicher Linux drauf laufen.

Es gibt natürlich auch bei Linux die Möglichkeit Geräte zu deaktivieren 
über die bash, aber mein Verständis ist, dass deaktivierte Geräte zwar 
außer Funktion gesetzt werden,aber grad externe USB Geräte immer noch 
Strom ziehen. Natürlich deutlich weniger als im Betrieb, aber es muss 
der Hub und der controller im USB Gehäuse versorgt werden. Keine Ahnung 
wie viel das ist, eventuell irrelevant. Mir gehts aber nicht zwingend 
nur um die HDD, es wäre auch noch ein BT Stick und ein paar andere 
Kleinigkeiten, weshalb ich auch vorzugsweise den ganzen Hub ausschalten 
würde.

mfg
Andreas

Edit: Wenn ich den USB Port an dem der Hub hängt deaktiviere, müsste 
doch auch die Stromversorgung weg sein oder?

: Bearbeitet durch User
von Lenny D. (le-do)


Lesenswert?

Ich würde für die HDD beides empfehlen:
Zuerst per Software auswerfen, könnte mir vorstellen dass andernfalls 
die Lebensdauer noch kürzer wird als einfach laufen zu lassen.
Danach die Stromleitung unterbrechen. Wenn du die danach wieder 
aktivierst, müsste das System außerdem automatisch wieder ein Einstecken 
der HDD erkennen. Datenleitungen muss man denke ich nicht trennen, 
allerdings hier einige gute Infos dazu:
http://superuser.com/questions/701585/disconnecting-a-usb-device-without-unplugging-it

Die allermeisten Hubs werden simpel gebaut sein und somit beim Auswerfen 
den Strom nicht trennen. Ob das Dev Board den Strom kappt kann ich nicht 
sagen, aber das findest du bestimmt im Manual oder sonst durch schnellen 
Blick auf die Platine/ Messen.

von tmomas (Gast)


Lesenswert?

Suchstichwort: hub-ctrl.c / hub_ctrl.py (beachte die unterschiedliche 
schreibweise: - vs. _)

Dazu noch einen Hub der per-port power switching kann (z.B. DeLock 
87445; Reichelt, 4,95 Euro) und fertig ist der Lack. Oder dein Root hub 
kann schon per port power switching, dann isses noch einfacher.

von Andreas R. (pcdoc)


Lesenswert?

Lenny D. schrieb:
> uerst per Software auswerfen, könnte mir vorstellen dass andernfalls
> die Lebensdauer noch kürzer wird als einfach laufen zu lassen.
> Danach die Stromleitung unterbrechen. Wenn du die danach wieder
> aktivierst, müsste das System außerdem automatisch wieder ein Einstecken
> der HDD erkennen.

Danke! Jap, genauso hätte ich mir das vorgestellt.

Und würde das auch so funktionieren wie oben geschrieben (Alternative 
1)? Oder ist da mehr notwendig? Bei so einfachen Lösungen bin ich oft 
verunsichert! ;-)

mfg
Andreas

von Andreas R. (pcdoc)


Lesenswert?

tmomas schrieb:
> Dazu noch einen Hub der per-port power switching kann (z.B. DeLock
> 87445; Reichelt, 4,95 Euro) und fertig ist der Lack. Oder dein Root hub
> kann schon per port power switching, dann isses noch einfacher.

Danke!

Woran erkennt man ob ein Hub per-port power switching kann? Bei dem 
DeLock zum Bsp stehts nicht dabei und bei dem Preis hätte es mich auch 
nicht gewundert wenn das nicht ginge.

Sollte es wirklich funktionieren wäre das wirklich eine sehr einfache 
Lösung! :-)

: Bearbeitet durch User
von tmomas (Gast)


Lesenswert?

Darüber gibt dir z.B. 'lsusb -v' Auskunft:

(Auszug aus lsusb -v eines Targus PAUH212)

Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             7
  wHubCharacteristic 0x00a9
    Per-port power switching    <---- das will man
    Per-port overcurrent protection
    TT think time 16 FS bits
    Port indicators
  bPwrOn2PwrGood       50 * 2 milli seconds
  bHubContrCurrent    100 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0000
   Port 2: 0000.0503 highspeed power enable connect
   Port 3: 0000.0000
   Port 4: 0000.0000
   Port 5: 0000.0000
   Port 6: 0000.0000
   Port 7: 0000.0000


Gegensatz zu Per-Port (und bei den meisten Hubs anzutreffen: 'ganged 
power switching', d.h. du kannst nur alle Ports zusammen (ganged) 
schalten, nicht einzeln (Per-Port). Oder auch: Du kannst gar nicht 
schalten.

von Andreas R. (pcdoc)


Lesenswert?

tmomas schrieb:
> Darüber gibt dir z.B. 'lsusb -v' Auskunft

Dafür müsste ich das Teil aber schon haben! :-)


Wie funktioniert das deaktivieren per SW genau? Über ein Kommando in der 
Befehlszeile, oder muss man das über eine GPIO Pin (pro Port) ansteuern? 
Wenn über GPIO, muss da noch was zwischengeschaltet werden?

mfg
Andreas

von tmomas (Gast)


Lesenswert?

Nachtrag: Ich hatte hier bezüglich Hubs mit Per-Port Power Switching 
schon mal angefragt -> 
Beitrag "[S] USB Hub mit per port power switching"

Außer intensiver Recherche gibt es vor dem Kauf AFAIK keine sichere 
Möglichkeit herauszubekommen, oder ein Hub das kann oder nicht. Die 
Hersteller geben das schlicht nicht an (außer der Anzahl der Ports und 
der Farbe interessiert den Kunden ja nichts...).

Hier und da findet man im Netz spärliche Infos von Leuten, die selbst 
sowas gesucht haben und ein paar Hersteller/Modellbezeichnungen 
zusammengetragen haben.

Aber vielleicht brauchst du ja auch gar keinen zusätzlichen Hub, weil 
dein eingebauter Controller schon USB Power schalten kann.

Eine Fritzbox kann's z.B., und wenn die's schon kann... ;-)

von Lenny D. (le-do)


Lesenswert?

Wow cool, ich habe tatsächlich noch nie einen USB Hub gesehen der sowas 
kann.
Ja ich denke deine Variante 1 würde schon funktionieren. GND würde ich 
verbunden lassen für Signalqualität, dann würden die 5V für USB vom 
Netzteil halt über das Dev Board abfließen aber das sollten sie ja 
ursprgl. sowieso.
Ich will jetzt keine Garantie geben aber wenn ich den verlinkten Beitrag 
von mir richtig verstanden habe, sollte das in jedem Fall ausreichen.

Ob du das Relais nun zwischen das Board und den Hub oder den Hub und die 
HDD machst ist ja dann egal, kannst dir ja überlegen dann auch BT und so 
separat schalten zu können.

Ich weiß nicht ob ich Relais verwenden würde, würden Optokoppler oder 
FETs auch funktionieren? Da kenne ich mich gar nicht aus aber vielleicht 
lohnt sich die Überlegung bezügl. Baugröße und zB auch Stromverbrauch 
vom Relais.

von tmomas (Gast)


Lesenswert?

Andreas R. schrieb:
> Dafür müsste ich das Teil aber schon haben! :-)

Den Zusatz-Hub, ja.
Aber lsusb funktioniert auch bei deinem eingebauten Hub. Irgendwo mußt 
du die HDD ja einstecken :)

Andreas R. schrieb:
> Wie funktioniert das deaktivieren per SW genau? Über ein Kommando in der
> Befehlszeile

Genau. Es gibt die bereits genannten Alternativen:
hub-ctrl.c
hub_ctrl.py

Ich hab die .py Variante hier auf OpenWRT laufen, zusammen mit 2x Targus 
PAUH212, um 14 Webcams ein- und auszuschalten. Funktioniert prächtig.
Nebenbei kann man auch noch lustige Lichtspielchen mit den eingebauten 
Port-LEDs machen :-D

von Andreas R. (pcdoc)


Lesenswert?

tmomas schrieb:
> Beitrag "[S] USB Hub mit per port power switching"

Ich hab ihn mir schon angeschaut. Ist zwar OT, aber hättest du da mal 
ein Bsp von den Aufnahmen die du da machst? Das klingt nämlich nach 
einem sehr interessanten Projekt!

Bei meinem würde auch eine Webcam (wenn ich mit der Kabellänge hinkomme) 
dranhängen über USB die ich nur in Einzelfällen aktivieren würde. Da 
würde mir natürlich per port deaktivieren sehr entgegen kommen weil ich 
diese unabhängig von der HDD aktivieren und deaktivieren würde.

Lenny D. schrieb:
> Ja ich denke deine Variante 1 würde schon funktionieren.

Cool, na wenigstens hätte es funktioniert! ;-) Der Einfachheit halber 
werde ich es mal mit dem Hub versuchen. Sollte das aus irgendeinem Grund 
nicht gehen komme ich vielleicht nochmal darauf zurück!

tmomas schrieb:
> Genau. Es gibt die bereits genannten Alternativen:
> hub-ctrl.c
> hub_ctrl.py

Hab mir das rausgesucht. Das sollte eigentlich ganz gut gehen! Dann 
bleiben mir auch mehr GPIO Pins frei für andere Sachen. Jetzt muss ich 
mir nur noch andere Sachen dafür einfallen lassen! ;-)

Danke für die vielen und vor allem schnellen Antworten!

mfg
Andreas

von Andreas R. (pcdoc)


Lesenswert?

Hab doch noch eine kleine Frage zu den Hubs. Ich hab grad versucht einen 
aktiven Hub zu finden, der per port power down unterstütz, war aber 
leider nicht Erfolgreich bei der Suche. Hättet ihr da vielleicht 
Empfehlungen?

Danke!

mfg
Andreas

von Lenny D. (le-do)


Lesenswert?

Ich denke das ist am einfachsten selbst zu bauen.
In diesem Artikel schreibt der Autor, die Stromversorgung ist sogar 
direkt auf der selben Schiene vom USB Kabel (die Verbindung zu 5V vom PC 
trennt er allerdings beim Anbau des ext. Netzteils):
http://www.instructables.com/id/Adding-an-external-power-supply-to-a-cheap-USB-hub/

Das müsste ohne Probleme gehen. Dann kannst du den DeLock 87445 von 
Reichelt nehmen. Der USB Hub muss natürlich in wahrscheinlich jedem Fall 
ein bisschen eigenen Strom ziehen.

Noch ein Gedanke: Falls das Dev Board "einfach gestrickt" ist sind die 
USB Versorgungen vlt sogar direkt an VCC angebunden. In dem Fall macht 
es keinen Unterschied, über eine andere Leitung vom selben Netzteil zu 
ziehen.

von tmomas (Gast)


Lesenswert?

Andreas R. schrieb:
> Ich hab grad versucht einen
> aktiven Hub zu finden, der per port power down unterstütz, war aber
> leider nicht Erfolgreich bei der Suche. Hättet ihr da vielleicht
> Empfehlungen?

Schrub ich doch schon:

DeLock 87445 (4port), Reichelt, 4,95 Euro
Targus PAUH212 (7port) -> ebay, 1..5 Euro

Und es heißt nicht "per port power down", sondern "per port power 
switching".

von Andreas R. (pcdoc)


Lesenswert?

Lenny D. schrieb:
> Falls das Dev Board "einfach gestrickt" ist sind die
> USB Versorgungen vlt sogar direkt an VCC angebunden.

Das wäre ne Hoffnung! Aber ich hab das Ding noch nicht mal. Bin noch am 
Überlegen welches board am sinnvollsten ist, Aber so wie es aussieht 
brauch ich eh 2! :-) Nachdem das Ding fast die ganze Zeit läuft und kaum 
Rechnerleistung braucht würde sich da vielleicht ein RPi besser eignen. 
Das Radxa Rock würde dann quasi als Mediaplayer und Spielconsole am TV 
hängen und dort eventuell auch ein paar Servertätigkeiten übernehmen. 
Außerdem möchte ich damit etwas rumexperimentieren, da ich die 
Möglichkeiten von GPIO und I2C etwas erforschen möchte.

Aber es gibt ja noch deutlich mehr Alternativen zum RPi, muss mal 
schauen was sich da als bestes eignet.

tmomas schrieb:
> Schrub ich doch schon:
>
> DeLock 87445 (4port), Reichelt, 4,95 Euro

Danke nochmal für den Hinweiß. Der Name ist etwas irreführend da er 
"ohne Netzteil" beinhaltet! Das hab ich dann gleich als passiver HUB 
interpretiert und nicht, dass es ein aktiver ist, der aber nur ohne 
Netzteil geliefert wird.

mfg
Andreas

von _hen (Gast)


Lesenswert?

Kennt jemand einen USB-Hub mit per port power switching, der noch 
verfügbar ist? Der empfohlene delock von reichelt hat leider offenbar 
nur noch in einer anderen Revions erhältlich, die KEIN power switching 
mehr kann.

Eine Liste von Hubs die das untersützen (oder auch nur ein einzelner) 
wäre echt super.

Mich wundert echt, dass es da nicht mehr davon gibt - das Feature ist 
ein echter Mehrwert und wäre in vielen Situationen sehr praktisch. 
Offenbar ist es aber recht unbekannt, und wird nicht beschrieben oder 
gar beworben. Dabei wäre ich, uns sicher auch viele andere, bereit dafür 
deutlich mehr als für einen HUB ohne dieses Feature zu zahlen.

von georg3003 (Gast)


Lesenswert?

Ja würde mich auch interessieren.

Aber Reichelt bekommt am 20.11-2014 eineneue Lieferung.


Vielleicht jetzt wieder?

von Konrad S. (maybee)


Lesenswert?

Ich habe einen "D-Link DUB-H7" mit einzeln schaltbaren Ports (ID 
2001:f103 D-Link Corp.). Die LEDs je Port werden zusammen mit Power 
geschaltet, das Ein- und Ausschalten der LEDs per hub-ctrl bewirkt nur 
eine Statusänderung (indicator) beim Port.

Die aktuell unter dieser Bezeichnung angebotenen Modelle, z.B. 
http://www.reichelt.de/?ARTICLE=131488 , sehen etwas anders aus als mein 
Modell (z.B. hier http://s2ptech.wordpress.com/tag/d-link-usb-hub/ ).

von Konrad S. (maybee)


Lesenswert?

Konrad S. schrieb:
> Die aktuell unter dieser Bezeichnung angebotenen Modelle, z.B.
> http://www.reichelt.de/?ARTICLE=131488 , sehen etwas anders aus

... und die Ports sind nicht einzeln schaltbar. :-(

von Porter (Gast)


Lesenswert?

Der aktuelle DeLock und der aktuelle D-Link können ja offenbar die Ports 
nicht mehr schalten. Gibt es denn andere Modelle, die das können und die 
man irgendwie in Deutschland kaufen kann?

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.