Hallo, ich habe ein Board mit einem USB Host controller und einem OTG Anschluss, alles läuft unter YOCTO build linux kernel 3.14. Am Host hab ich im Moment ein USB Modem (mittels PCI MiniExpress Adapter) klappt prima. Ich wollte nun aber das Modem am OTG anschließen und das funktioniert irgendwie nicht. Nur um sicher zu gehen, an sich sollte es klappen? ID vom OTG auf Masse. Versorgt wird das Modem aber es meldet sich unter Linux nicht an.. DeviceTree Fehler? Oder kann das gar nicht klappen? Danke
Mike schrieb: > Oder kann das gar nicht klappen? Ist die Frage, was der benutzte Controller USB-mäßig unterstützt. CDC braucht drei Endpunkte (zusätzlich zur Steuerung): Daten rein/raus und einmal Interrupt. Der ist zwar mittelmäßig sinnlos (sollte vermutlich für die Signalisierung ankommender Rufe oder sowas gut sein), aber vorgeschrieben. Wenn der Controller das nicht kann, wirst du halt nur sowas wie HID oder Mass Storage dranhängen können, die kommen mit zwei Endpunkten aus.
Mike schrieb: > Versorgt wird das Modem aber es meldet > sich unter Linux nicht an.. Was siehst Du denn im Syslog? Evtl. ist das Syslog auf Deinem Embedded-Linux so eingestellt, daß es standardmäßig nur gravierende Fehler loggt. Dann Logging-Level hochdrehen. Funktioniert es wenn Du an dem selben USB-Port ein anderes USB-Gerät ansteckst? Z.B. eine USB-Tastatur oder ein USB-Massenspeicher? Was siehst Du dabei im Syslog?
:
Bearbeitet durch User
Jörg W. schrieb: > was der benutzte Controller btw ist ein NXP imx6ULL Gerd E. schrieb: > Dann Logging-Level > hochdrehen. Danke werde es mal versuchen.. Im Moment ist gar nichts zu finden im Log
Mike schrieb: > btw ist ein NXP imx6ULL Dem würde ich zumindest zutrauen, mit der Anzahl der Endpunkte kein Problem zu haben, aber Details dazu habe ich mir auch noch nicht angesehen.
Mike schrieb: > ein USB Modem Was für ein Modem? Für WinModems gibt es naturgemäß keine Linux Treiber, und gefühlt 90% der USB-only Modems waren damals(tm) WinModems. Mike schrieb: > Im Moment ist gar nichts zu finden im Log Dann ist was elektisches faul. Linux macht normalerweise Ausschriebe ins dmesg schon alleine wenn es den hochgezogenen D+ oder D- vom USB sieht.
Man muss am OTG_VBUS bei meinem Port 5V anlegen, dann klappt es, dachte das wäre der Steuerausgang für einen möglichen 5V-500mA Treiber.
Wenn der OTG Port Host sein soll darf man von außen keine 5V anlegen... ID auf GND und dann schaltet der Host die 5V an.. Was genau ist es für ein Board? Schaltpläne verfügbar?
No Y. schrieb: > und dann schaltet der Host die 5V an.. Allerdings spezifiziert OTG deutlich weniger als die oben genannten 500 mA. Genauen Wert habe ich nicht im Kopf, aber das könnten weniger als 100 mA sein, was da garantiert wird. Vielleicht genügt das ja dem Modem nicht?
Ja glaub waren 100mA ohne aushandeln. Nach dem aushandeln geht auch mehr soweit ich weiß. Aber fast jeder USB Port liefert die 500mA ohne aushandeln...
No Y. schrieb: > Ja glaub waren 100mA ohne aushandeln. Nein: OTG ist in dieser Hinsicht eben kein normaler Host-Port. "Now, while an un-powered USB hub connected in this fashion can draw enough power to support the use of a mouse, keyboard and even a USB memory stick, the USB OTG specification restricts the maximum amount of current the host device can provide to as little as 8 mA." https://www.rdmag.com/blog/2015/01/go-fascinating-facts-about-usb-otg Hab's jetzt nicht im Standard gegengelesen, aber wenn da wirklich nur 8 mA garantiert werden, könnte das eben für das Modem zu wenig sein.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.