Hallo in die Runde.
Ich denke für jeden Heimautomatisierer müsste es interessant sein, Beleuchtung nicht nur per WiFi oder LAN sondern auch mittels USB schalten zu können.
Sei es für einen Christbaum...http://www.joeldare.com/wiki/usb_powered_animated_christmas_lights (http://www.joeldare.com/wiki/usb_powered_animated_christmas_lights) :)
oder zum Energiesparen oder dem Simulieren von Anwesenheit, wenn man im Urlaub ist. USB-Hubs mit USB LED betreiben und diese dann schalten können? Klingt kostengünstig.
Beispielsweise kriegt man 5 schon recht helle LEDs für USB, einen netzversorgten 4-Port USB Hub und dazu je 15m Verlängerungen für ca. 80,- €.
Es gibt seit USB 2.0 das Merkmal Per-Port Power Switching für USB-Ports. Siehe hier http://www.makelinux.net/lib/usb/2/USB_2.0_Specification/doc-363 (http://www.makelinux.net/lib/usb/2/USB_2.0_Specification/doc-363).
Leider wird es nicht von vielen Hub-Herstellern/-Anbietern unterstützt und die verwendeten Chipsets ändern sich oft unter der Haube.
Die Übersichten an verwendbaren USB-Hubs ist sehr überschauber in Blog Postings und oft veraltet, so das die Chance schwindet an geeignete Hubs mittels einer Internetbestellung und das beim ersten Anlauf zu kommen.
Viele der unter Linux verfügbaren Lösungen gehen auf die Aktivitäten auf dieser japanischen Seite zurück http://www.gniibe.org/development/ac-power-control-by-USB-hub/index.html (http://www.gniibe.org/development/ac-power-control-by-USB-hub/index.html).
Tolle Sache. Nur sind genau seine Arbeiten sehr veraltet was die Hardware angeht. OpenWRT hat hubctr inzwischen auch standardmäßig enthalten.
Könnten ein paar der Aktiveren unter euch mal testen, wenn ihr USB-Hubs habt ob dieses Feature unterstützt wird und funktioniert?
"lsusb" sagt mir, dass mein alter Hub ein "Genesys Logic, Inc. USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub" mit der ID "05e3:0606" ist und "lsusb -v" müsste jedem sagen,
was sein Hub so kann. Bei meinem ist das folgendes:
Bus 007 Device 005: ID 05e3:0606 Genesys Logic, Inc. USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x05e3 Genesys Logic, Inc.
idProduct 0x0606 USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub
bcdDevice 7.02
iManufacturer 0
iProduct 1 USB2.0 Hub
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 4
wHubCharacteristic 0x00e9
Per-port power switching
Per-port overcurrent protection
TT think time 32 FS bits
Port indicators
bPwrOn2PwrGood 50 * 2 milli seconds
bHubContrCurrent 100 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0100 power
Port 3: 0000.0100 power
Port 4: 0000.0100 power
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
bNumConfigurations 1
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0001
Self Powered
So weit so gut. Derer Chipsatz des Hubs sollte es also eigentlich wuppen. Leider hat sich beim Testen bei mir gar nix getan. Die Ports habe ich von 1-4 durchnummeriert getestet mit
sudo ./hub-ctrl -b 7 -d 5 -P 1 -p 0 (ausschalten)
sudo ./hub-ctrl -b 7 -d 5 -P 1 -p 1 (und wieder anschalten).
Ich wusste auch nicht ob es bei 1 oder 0 beginnt. Da ich viel in Python arbeite, bin ich da für nativere Linux/Posix Konventionen wohl etwas verdorben...
Jedenfalls ging's bei "-P 0" und "-P 5" nicht mehr.
Ich habe den dann mal aufgeschraubt und gesehen, das ein Genesys Logic GL850A Chipsatz verbaut ist. Die Specs dazu gibts hier: http://www.boardcon.com/download/USBHUB_GL850A.pdf (http://www.boardcon.com/download/USBHUB_GL850A.pdf).
Leider bin ich kein guter Elektroniker. Ich habe verstanden, dass ein timing eingebaut ist, das entscheidet, ob der entsprechende Hub mit individual oder ganged mode power switching
daherkommt. Aber ich habe keine Ahnung wie man sich das zunutzen machen kann. Weiß jemand weiter? Verstanden habe ich auch, dass auf dem 48 pin Bauteil der Pin 40 und bei dem 64 Pin Bauteil
ist der Pin 53. Wenn man sich die Platine anschaut, dann sieht das ganze auf Position 53 (ich habe den 64 Pin Chipsatz) zumindest verdrahtet aus. In der Tabelle zu dem "Hub Interface" wird kurz beschrieben, wie Individual Mode
erreicht werden kann und auf Kapitel 5 (hier 5.2.2) verwiesen. Da liest man, dass es eines max. 50ms langen Intervalls bedarf, um individual mode aktivieren zu können. Ich vermutet ab jetzt muss ich hub-ctrl.c anfassen...
Mist! Hat jemand einen Plan hierfür?
Was sagen eure Hubs denn so?
Jedenfalls wäre meine weitere Idee mit ein paar hochwertigeren USB-Verlängerungen, die nicht gleich die 5V eindampfen so auf bis zu 5m zu gehen
und einige dieser LED's anzubinden. Die wirken von der Qualität ganz okay: https://www.youtube.com/watch?v=w_5EqQb7law (https://www.youtube.com/watch?v=w_5EqQb7law) und bleiben
fast immer auch unter 500mA, so dass das für bus-versorgte USB Hubs eigentlich in Ordnung sein müsste.
Viele Grüsse
Thore
wenn es wirklich usb sein muss: ist es nicht sinnvoller einen leistungsfähiges 5 oder 6 port usb netzteil zu kaufen und dieses dann auf primärseite mit einer funk steckdose zu schalten statt mit dem netzteil erst mal einen usb hub zu versorgen der dann zum einen nur auf der sekundär seite schaltet und auch noch einen rechner in der nähe braucht?
mal abgesehen davon das es scheinbar nicht einfach ist die passende hardware zu finden: warum usb und nicht gleich 12v (oder sogar 24v) leds und auch noch das problem der kabel verluste besser in den griff bekommen?
beleuchtung über usb scheint mir keine vorteile zu haben.
gruss
andre