Hallo zusammen,
zuerst die Frage, dann der Hintergrund;)
Was bedeutet "maxpower" bei der Ausgabe von lshw?
Darf die Summe der Elemente die maxpower vom Knoten über steigen?
Der Hintergrund:
Bei einem Projekt haben wir zwei TouchMonitore von iiyama, die über ein
Lindy USB->Ethernet
(http://www.lindy.de/USB-2-0-Cat-5-Extender-100m-Premium-4Port.htm?websale8=ld0101&pi=42700&ci=5003)
an einen HP Proliant DL380 Gen9 angeschlossen sind.
Der Monitor und der HP werden getrennt gepowered. Zuerst wird der Strom
am Monitor und dann am HP eingeschaltet (über eine SPS). Der HP startet
dann automatisch.
Meistens funktioniert es auch, aber ab und zu wird einer der Touch nicht
erkannt (immer der gleiche). Es ist leider nicht reproduzierbar, aber
tritt immer wieder auf (1 von 10).
Ein zweites System, dass identisch aufgebaut ist, hat diese Probleme
nicht.
Im Monitor ist neben dem Touch auch eine WebCam integriert (die wir aber
nicht nutzen).
Was ich mit
1
lshw
sehe ist, dass die WebCam als maxpower 500mA angibt, aber der HUB (im
Monitor) eine Ebene drüber nur 100mA. Heisst dass, dass die Kamera den
HUB überlasten könnte, und deswegen der Touch manchmal streikt?
Im syslog sehe ich den entsprechenden Touch dann nicht.
Ein Aus-und Einschalten vom Monitor behebt das Problem (USB wird danach
korrekt angemeldet).
Hier der relevante USB Tree von lshw
1
*-usb:0
2
description: USB controller
3
product: C610/X99 series chipset USB xHCI Host Controller
Maxpower ist der Wert aus dem USB-Device-Descriptor, mit dem das Gerät
seinen eigenen Strombedarf beim Host anmeldet.
Das ist bei Deinen Hubs deren eigene Stromaufnahme, nicht der Strom, den
sie wiederum an ihren Downstream-Ports zur Verfügung stellen können.
Mit anderen Worten: Das ist nicht die Ursache Deines Problems.
Du kannst natürlich mal versuchen, Deine Webcam an einen anderen USB-Hub
anzustöpseln, Du hast ja anscheinend genug.
Wozu dient der Hub zwischen PC und Monitor? Den könntest Du ja auch
einfach mal weglassen; je weniger Hubs in Reihe geschaltet sind, desto
weniger Probleme wirst Du damit haben.
Hallo Rufus,
danke für Deine Erklärung!
Ich hatte es vielleicht etwas undeutlich geschrieben:
Die Webcam ist IN dem Monitor verbaut. Der Monitor (mit Touch und
Webcam) wird über ein USB Kabel an die USB-Verlängerung angeschlossen.
Der Monitor ist ca. 30Meter von dem Rechner entfernt, deswegen wurde ein
USB auf Ethernet Verlängerung eingebaut.
Diese Verlängerung enthält dann einen 4Port HUB (an dem dann zwei
gleiche Touch Monitore mit ihrer Webcam, eine Maus und eine Tastatur
angeschlossen sind).
Der Aufbau sieht wie folgt aus:
1
HP -> Lindy -> Monitor
2
|-> Monitor
3
|-> Maus
4
|-> Tastatur
War nicht meine Idee mit dem Lindy Ding :D
Ich habe den Monitor in Verdacht, dass der einen Schaden hat.
Lutz schrieb:> Meistens funktioniert es auch, aber ab und zu wird einer der Touch nicht> erkannt (immer der gleiche).
Heißt das, dieser Eintrag erscheint nicht:
Lutz schrieb:> *-usb:0> description: Human interface device> product: SiS HID Touch Controller> vendor: USBest Technology> physical id: 1> bus info: usb@4:c.1.1> version: 4.00> capabilities: usb-2.00> configuration: driver=usbhid maxpower=98mA> speed=12Mbit/s
Aber der schon?
Lutz schrieb:> *-usb:1> description: Video> product: SPCA2281 Web Camera> vendor: Sunplus IT Co> physical id: 2> bus info: usb@4:c.1.2> version: 1.11> capabilities: usb-2.00> configuration: driver=snd-usb-audio maxpower=500mA> speed=480Mbit/s
Oder beide nicht? Steht vielleicht was im syslog, Linux gibt
einigermaßen hilfreiche Meldungen aus wenn ihm bei einem USB-Gerät was
nicht passt.
Lutz schrieb:> Die Webcam ist IN dem Monitor verbaut. Der Monitor (mit Touch und> Webcam) wird über ein USB Kabel an die USB-Verlängerung angeschlossen.
Sorry, die USB-Verlängerung ist bei meiner Erklärung irgendwie unter den
Tisch gefallen.
Tja, das Problem könnte durchaus an dieser Verlängerung liegen, denn so
etwas beeinflusst das USB-Timing.
Dr. Sommer schrieb:> Heißt das, dieser Eintrag erscheint nicht:
Ich habe lshw noch nicht ausgeführt, als das Problem auftrat.
Wenn das Problem auftritt wird das USB device nicht erkannt und der
eintrag fehlt:
1
|__ Port 1: Dev 14, If 0, Class=Human Interface Device,
bei lsusb -t
Hier der "ok" Zustand. Man sieht die WebCam mit Video und Audio:
1
# lsusb -t
2
/: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
3
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/15p, 480M
4
|__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/2p, 480M
5
|__ Port 11: Dev 3, If 0, Class=Hub, Driver=hub/4p, 12M
6
|__ Port 1: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
7
|__ Port 1: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
8
|__ Port 1: Dev 5, If 2, Class=Human Interface Device, Driver=usbhid, 1.5M
9
|__ Port 1: Dev 5, If 3, Class=Human Interface Device, Driver=usbhid, 1.5M
10
|__ Port 12: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
11
|__ Port 1: Dev 13, If 0, Class=Hub, Driver=hub/4p, 480M
12
|__ Port 1: Dev 14, If 0, Class=Human Interface Device, Driver=usbhid, 12M
13
|__ Port 2: Dev 15, If 0, Class=Video, Driver=uvcvideo, 480M
14
|__ Port 2: Dev 15, If 1, Class=Video, Driver=uvcvideo, 480M
15
|__ Port 2: Dev 15, If 2, Class=Audio, Driver=snd-usb-audio, 480M
16
|__ Port 2: Dev 15, If 3, Class=Audio, Driver=snd-usb-audio, 480M
17
|__ Port 2: Dev 7, If 0, Class=Hub, Driver=hub/4p, 480M
18
|__ Port 1: Dev 10, If 0, Class=Human Interface Device, Driver=usbhid, 12M
19
|__ Port 2: Dev 12, If 0, Class=Video, Driver=uvcvideo, 480M
20
|__ Port 2: Dev 12, If 1, Class=Video, Driver=uvcvideo, 480M
21
|__ Port 2: Dev 12, If 2, Class=Audio, Driver=snd-usb-audio, 480M
22
|__ Port 2: Dev 12, If 3, Class=Audio, Driver=snd-usb-audio, 480M
23
|__ Port 3: Dev 8, If 0, Class=Human Interface Device, Driver=usbhid, 12M
24
|__ Port 3: Dev 8, If 1, Class=Human Interface Device, Driver=usbhid, 12M
25
|__ Port 4: Dev 11, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
26
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
27
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
28
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
29
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/2p, 480M
30
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
Im Syslog steht kein Fehler.
Das ist der "ok" Fall:
1
Feb 1 10:29:21 proliant kernel: [ 2.754592] usb 4-12.1.1: new full-speed USB device number 9 using xhci_hcd
2
Feb 1 10:29:21 proliant kernel: [ 2.845741] usb 4-12.1.1: not running at top speed; connect to a high speed hub
3
Feb 1 10:29:21 proliant kernel: [ 2.858993] usb 4-12.1.1: New USB device found, idVendor=0457, idProduct=1165
4
Feb 1 10:29:21 proliant kernel: [ 2.859048] usb 4-12.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
5
Feb 1 10:29:21 proliant kernel: [ 2.859110] usb 4-12.1.1: Product: SiS HID Touch Controller
6
Feb 1 10:29:21 proliant kernel: [ 2.859157] usb 4-12.1.1: Manufacturer: USBest Technology
7
8
Feb 1 10:29:21 proliant kernel: [ 2.914619] usb 4-12.2.1: new full-speed USB device number 10 using xhci_hcd
9
Feb 1 10:29:21 proliant kernel: [ 3.007613] usb 4-12.2.1: not running at top speed; connect to a high speed hub
10
Feb 1 10:29:21 proliant kernel: [ 3.020663] usb 4-12.2.1: New USB device found, idVendor=0457, idProduct=1165
11
Feb 1 10:29:21 proliant kernel: [ 3.020715] usb 4-12.2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
12
Feb 1 10:29:21 proliant kernel: [ 3.020777] usb 4-12.2.1: Product: SiS HID Touch Controller
13
Feb 1 10:29:21 proliant kernel: [ 3.020824] usb 4-12.2.1: Manufacturer: USBest Technology
Beim genaueren anschauen vom Syslog ist mir aber jetzt aufgefallen, dass
sich unterschiedliche Kameras anmelden...
1
Feb 2 08:51:29 proliant kernel: [ 3.212729] usb 4-12.1.2: Product: SPCA2281 Web Camera
2
Feb 2 08:51:29 proliant kernel: [ 3.906374] usb 4-12.2.2: Product: PC Camera
Bei dem "guten" Device ist es zweilmal die "SPCA2281 Web Camera".
Lutz schrieb:> Wenn das Problem auftritt wird das USB device nicht erkannt und der> eintrag fehlt:
Öh, welcher ist das jetzt genau? Mach das dochmal in der langen
Auflistung kenntlich...
Lutz schrieb:> Beim genaueren anschauen vom Syslog ist mir aber jetzt aufgefallen, dass> sich unterschiedliche Kameras anmelden...
Nanu, hat jeder Monitor zwei Kameras? Oder sind das nur Sound&Video?
Vielleicht zwei verschiedene Versionen vom Gerät mit kleinen
Unterschieden?
Lutz schrieb:> Im Syslog steht kein Fehler.
Zeig zur Sicherheit auch mal den Fehler-Fall zum Vergleichen...
Funktioniert es denn unter Windows besser? Mal testweise einen anderen
Root-Hub am PC genutzt?
|__ Port 12: Dev 4, If 0, Class=Hub, Driver=hub/4p, 480M
2
|__ Port 1: Dev 13, If 0, Class=Hub, Driver=hub/4p, 480M
3
* |__ Port 1: Dev 14, If 0, Class=Human Interface Device, Driver=usbhid, 12M
4
|__ Port 2: Dev 15, If 0, Class=Video, Driver=uvcvideo, 480M
5
|__ Port 2: Dev 15, If 1, Class=Video, Driver=uvcvideo, 480M
6
|__ Port 2: Dev 15, If 2, Class=Audio, Driver=snd-usb-audio, 480M
7
|__ Port 2: Dev 15, If 3, Class=Audio, Driver=snd-usb-audio, 480M
8
|__ Port 2: Dev 7, If 0, Class=Hub, Driver=hub/4p, 480M
9
|__ Port 1: Dev 10, If 0, Class=Human Interface Device, Driver=usbhid, 12M
10
|__ Port 2: Dev 12, If 0, Class=Video, Driver=uvcvideo, 480M
11
|__ Port 2: Dev 12, If 1, Class=Video, Driver=uvcvideo, 480M
12
|__ Port 2: Dev 12, If 2, Class=Audio, Driver=snd-usb-audio, 480M
13
|__ Port 2: Dev 12, If 3, Class=Audio, Driver=snd-usb-audio, 480M
an dem Lindy HUB.
Die mit * markierte Zeile ist nicht vorhanden im Fehlerfall.
Dr. Sommer schrieb:> Nanu, hat jeder Monitor zwei Kameras?
Das habe ich auch nicht ganz verstanden. Sie beiden Video und Sound
haben den gleichen Port, aber unterschiedliche Device und Interfaces.
Dr. Sommer schrieb:> Funktioniert es denn unter Windows besser?
Das habe ich noch nicht probiert. Aber hat auch leider keinen Mehrwert,
oder? Ich bin auf Ubutnu16.04 festgelegt.
Dr. Sommer schrieb:> Mal testweise einen anderen> Root-Hub am PC genutzt?
Ja, tritt trotzdem auf.
Dr. Sommer schrieb:> Zeig zur Sicherheit auch mal den Fehler-Fall zum Vergleichen...
Der sieht aus wie der "ok" Fall, nur dass eben die Einträge von 4-12.1.1
fehlen.
Aber hatte mit der Camera einen Zahlendreher drin...
Die Kamera ist an dem "schlechten" Monitor die gleiche. Bei dem zweiten
Monitor ist es eine andere als die übrigen...
Eventuell stört die aber trotzdem den USB?
Lutz schrieb:> |__ Port 1: Dev 13, If 0, Class=Hub, Driver=hub/4p, 480M
Das wird wohl ein Hub im Monitor selbst sein?
> * |__ Port 1: Dev 14, If 0, Class=Human Interface Device,> Driver=usbhid, 12M
Dann ist es besonders kurios dass nur eines der enthaltenen Geräte nicht
geht. Was passiert eigentlich wenn du die Monitore an andere Ports an
der Verlängerung anschließt/tauschst? Geht dann der selbe Monitor nicht
mehr oder hängts an der Port-Nummer?
Lutz schrieb:> Aber hat auch leider keinen Mehrwert,> oder? Ich bin auf Ubutnu16.04 festgelegt.
Wenn Linux da einen Bug hat...
Lutz schrieb:> Eventuell stört die aber trotzdem den USB?
Eigentlich können einzelne Geräte den Bus nicht so stören, dass andere
komplett unsichtbar wären...
Tritt das Problem eigentlich auch auf wenn du die Ethernet-Verlängerung
am PC anschließt, wenn der schon hochgefahren ist? Und wenn du den
Monitor erst nachträglich an der Verlängerung anschließt? Und wenn du
den Monitor einschaltest, am PC anschließt, und dann den PC hochfährst?
Du könntest Wireshark nutzen und gucken was da übertragen wird, ist aber
Fummelei... Dass im Log gar nichts erscheint kann eigentlich nur sein,
wenn das Gerät den 1.5kOhm-Erkennungs-Widerstand auf D+ nicht
einschaltet. Das könnte man nachmessen - zwischen Touch-Controller und
Hub im Monitor, d.h. man müsste den öffnen. Wenn der Widerstand da
ist, aber das Gerät nicht korrekt antwortet, müsste man was im Log
sehen...
Oder probier einfach mal, die VBus-Leitungen zwischen Verlängerung und
Monitoren zu trennen, und die Monitore direkt mit einem/zwei
5V-Netzteil(en) zu versorgen (oder zwei Self-Powered Hubs
zwischenschalten) - das sollte eventuelle Versorgungsprobleme lösen. Da
aber die Ethernet-Verlängerung bereits Self-Powered ist kann es
eigentlich nicht so eng sein.
PS: Wenn gar kein dedizierter Hub-IC im Monitor ist, sondern der den Hub
mit angeschlossenen Geräten softwareseitig simuliert (was eigentlich
unnötig kompliziert ist weil auch ein Verbundgerät möglich und einfacher
wäre), kann es eigentlich nur ein Bug in der Monitor-Firmware sein.
Rufus Τ. F. schrieb:> Tja, das Problem könnte durchaus an dieser Verlängerung liegen, denn so> etwas beeinflusst das USB-Timing.
Dann müsste es eigentlich Fehlermeldungen zu Timeouts geben...
Dr. Sommer schrieb:> Lutz schrieb:>> Aber hat auch leider keinen Mehrwert,>> oder? Ich bin auf Ubutnu16.04 festgelegt.> Wenn Linux da einen Bug hat...
Da es an einem anderen System das vom Betriebssystem, der Verdrahtung
und Komponenten 1:1 aufgebaut ist, schliesse ich das eigentlich aus. Den
einzigen Unterschied sehe ich, dass die Monitore wahrscheinlich nicht
aus einer Batch sind.
Dr. Sommer schrieb:> Lutz schrieb:>> |__ Port 1: Dev 13, If 0, Class=Hub, Driver=hub/4p, 480M> Das wird wohl ein Hub im Monitor selbst sein?>> * |__ Port 1: Dev 14, If 0, Class=Human Interface Device,>> Driver=usbhid, 12M
Ja, sehe ich auch so.
Dr. Sommer schrieb:> Tritt das Problem eigentlich auch auf wenn du die Ethernet-Verlängerung> am PC anschließt, wenn der schon hochgefahren ist? Und wenn du den> Monitor erst nachträglich an der Verlängerung anschließt? Und wenn du> den Monitor einschaltest, am PC anschließt, und dann den PC hochfährst?
Das sind alles Dinge, die ich nochmal systematich prüfen muss...
Dr. Sommer schrieb:> Du könntest Wireshark nutzen und gucken was da übertragen wird, ist aber> Fummelei...
Am HP wird das wieder auf USB gewandelt vom Lindy. Die Lindy Teile
bestehn aus
USB -> BOX -> Ethernet -> BOX mit 4 USB Port
Dr. Sommer schrieb:> Oder probier einfach mal, die VBus-Leitungen zwischen Verlängerung und> Monitoren zu trennen, und die Monitore direkt mit einem/zwei> 5V-Netzteil(en) zu versorgenDr. Sommer schrieb:> Da> aber die Ethernet-Verlängerung bereits Self-Powered ist kann es> eigentlich nicht so eng sein.
Das denke ich auch.
Die Lindy wurden schonmal getauscht (untereinander), aber der Fehler
blieb bei dem einem Monitor.
Lutz schrieb:> Am HP wird das wieder auf USB gewandelt vom Lindy. Die Lindy Teile> bestehn aus> USB -> BOX -> Ethernet -> BOX mit 4 USB Port
Schon klar, ich denke mal das ist auch gar kein "richtiges" Ethernet mit
Ethernet-Frames, sondern nutzt nur die gleichen Kabel (und evtl.
Überträger). Ich meinte mit Wireshark den USB-Traffic direkt abgreifen,
das kann das mittlerweile - da kann man sehen, wie der Kernel die Ports
vom Hub abfragt.
Dr. Sommer schrieb:> Ich meinte mit Wireshark den USB-Traffic direkt abgreifen,> das kann das mittlerweile
Achso, das war mir neu :)
Was ich auf die schnelle testen konnte ist, dass beim Ein/AUsschalten
des Monitors das Problem bei 15mal nicht aufgetreten ist.
Auch das abstecken der LAN-Leitung zwischen den Lindy hat 15mal
funktioniert.
Die messtechnischen Ueberpruefungen kann ich leider nicht machen.
Da muss ich leider andere Leute mit ins Boot holen, die das
entsprechende Geraet haben. Aber das ist nicht immer so einfach in der
Firma :D
Am USB Kabel zwischen Lindy und Monitor kann es nicht liegen, da die
anderen internen USB Geraete erkannt werden. Das heisst man muesste den
Monitor aufschrauben und dort modifizieren :/
Dr. Sommer schrieb:> kann es eigentlich nur ein Bug in der Monitor-Firmware sein.
Wenn die Seriennummern fortlaufend sind (reine Zahlen), dann habe ich
Geraete die sowohl juenger als auch aelter sind.
Die achtstellige Zahl unterscheidet sich zu einem nur um 1000. Da gehe
ich jetzt mal von :identischen" Geraten aus?
Ich versuche mal einen Ersatz fuer den Monitor aufzutreiben,
beziehungsweise den Monitor mal durchzutauschen. Wenn der Fehler mit dem
Monitor mitwandert muss halt ein Neuer her...
Vielen Dank fuer deine sehr kompetente Hilfe!
Lutz schrieb:> Was bedeutet "maxpower" bei der Ausgabe von lshw?
Das ist der Strombedarf, den das USB-Gerät bei der Enumerierung
angemeldet hat. Wenn sich das Gerät korrekt verhält, dann wird es nicht
mehr als diesen Strom aus dem USB-Port ziehen.
Lutz schrieb:> sehe ... dass die WebCam als maxpower 500mA angibt, aber der HUB (im> Monitor) eine Ebene drüber nur 100mA. Heisst dass, dass die Kamera den> HUB überlasten könnte
Nein. Jedes Gerät meldet nur seinen eigenen Strombedarf im Deskriptor
zurück. Ein Hub kann bei der Enumerierung ja auch nicht wissen, welche
Geräte eventuell später mal angesteckt werden.