Beleuchtung mittels USB-Hub für USB-Leuchten

Begonnen von yodi, 24 April 2016, 00:05:24

Vorheriges Thema - Nächstes Thema

yodi

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  :)
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.

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.
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.
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 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

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968