Forum: Mikrocontroller und Digitale Elektronik USB Debugging "Unkown Device"


von Steven T. (kampfwaffel)



Lesenswert?

Seit einiger Zeit nenne ich ein LeCroy WaveRunner 6050A mein eigen. Nach 
dem ich nun das Mainboard gegen Gigabyte GA-B75M-D3V mit i5-3450 
getauscht habe, läuft auch soweit alles - bis auf ein paar 
Kleinigkeiten.

Mein Problem ist aber das Frontpanel. Hier ist was proprietäres von 
LeCroy verbaut (vielleicht auch Iwatsu - wer weiß).
An meinem MSI B650 Pro4, so wie an einem AsRock P5K Pro und dem 
ursprünglichen Intel Desktop Board mit Celeron 2GHz aus dem Scope wird 
das Frontpanel zuverlässig erkannt (VID 0x047, PID 0x0004). Beim 
Gigabyte jedoch wird der Device-Descriptor nicht ausgehandelt.

Das Problem scheint an sich bekannt zu sein, dass dieses Panel sich bei 
neueren Intel-Chipsätzen nicht erkannt wird, jedoch würde ich gerne 
verstehen warum.
Ich bin also nun seit einiger Zeit dabei mir die Kommunikation von 
funktionierend, so wie nicht funktionierend anzuschauen. Ein paar 
Unterschiede sind mir dabei schon aufgefallen, aber so richtig worauf 
ich achten muss, ist mir nicht klar.

Grundsätzlich ist mir aufgefallen, dass irgendwann bei der 
nicht-funktionierenden Kommunikation das Device nur noch "NAK" 
zurückmeldet, wenn der Host PID: IN schickt.
Außerdem ist mir aufgefallen, dass er nach einem SOF und PRE mit 
verringerter Geschwindigkeit Daten anfordert, es kommt dann aber keine 
Rückmeldung. Wohingegen bei der funktionierenden Verbindung dann 
nochmals vom Host ein PRE gesendet wird, woraufhin das Device antwortet.

Verwendet wird ein Logic Analyzer von Dreamsourcelabs mit DS-View.

Im Prinzip stochere ich aber nur in den Daten herum und so richtig 
wonach ich schauen könnte, ist mir nicht klar.

Das Frontpanel scheint ein Full-Speed-Device zu sein (Pull-Up auch auf 
D+), scheint aber manchmal nur in Low-Speed zu kommunizieren.

von Thomas Z. (usbman)


Lesenswert?

Steven T. schrieb:
> Das Frontpanel scheint ein Full-Speed-Device zu sein (Pull-Up auch auf
> D+), scheint aber manchmal nur in Low-Speed zu kommunizieren.

Das kann nicht sein, das geht technisch nicht.

Weist du welcher Baustein im Frontpanel für die USB Kommunikation 
verwendet wird? Kannst du usbtree view auf dem funkt. MB mal auf das 
Panel loslassen. und die gesammte Ausgabe posten.

Der Request den du zeigst ist der usbGetDescriptor (device) und sollte 
den Device Deskriptor liefern. NAK zeigt dass keine Daten bereit stehen, 
was irgendwann zu einem Timeout führt.
Diesen Request solltest du öfters während der Enum sehen, und der muss 
auch zu jeder Zeit funktionieren.

Edit:
ich sehe gerade dass da ein Win XP auf dem Lecroy läuft. Dann kann es 
auch sein dass ev keine passenden Board Treiber für das I5 Mainboard 
vorhanden sind.

: Bearbeitet durch User
von Steven T. (kampfwaffel)



Lesenswert?

Im Anhang einmal die komplette Ausgabe von USB Tree Viewer und der 
Auszug des Schaltplans des Frontpanels (hier habe ich keine 
Bauchschmerzen, da LeCroy selbst die Service Manual der LeCroy-Gruppe 
bei groups.io zur freien Verfügung gestellt hat und diese dort frei 
verfügbar im Archiv liegt).

Es ist ein Mikrocontroller.
Der Mikrocontroller ist mit 64F2215TE16 H8S/2215 bezeichnet. Scheint mir 
ein Renesas H8S2215T zu sein.

Übrigens, wie vermutet wird das Frontpanel als Iwatsu erkannt.

Edit: Zum Edit: Ich hab sowohl XP, Xubuntu, Win7 als auch Win10 (alles 
32bit) auf dem Gigabyte GA-B75M-D3V installiert - es wird überall 
rigoros nicht erkannt - "UNKOWN DEVICE", auch ohne Treiber sollte 
zumindest der Device Descriptor erkannt werden - oder nicht?
Wird immerhin auch unter Win11 64bit erkannt, auf einem Rechner der noch 
mal eine ganze Ecke neuer ist.
Auf einem Testboard mit Core2Dou, dem P5K, hatte ich Win7 drauf mit der 
LeCroy-Software, da lief das Frontpanel 1a.

EditEdit: An meinem Dell XPS 7590 (i7-9750H) wird das Frontpanel 
übrigens auch nicht erkannt.

: Bearbeitet durch User
von Steven T. (kampfwaffel)


Angehängte Dateien:

Lesenswert?

Noch mal zur Sache mit der unterschiedlichen Geschwindigkeit:

Im Screenshot sieht man zwei Kommunikationen mit dem Mikrocontroller. 
Einmal kommuniziert er mit einer Bitbreite von ~90ns, einmal mit ~670ns.
(Das ist die funktionierende Kommunikation)

: Bearbeitet durch User
von Thomas Z. (usbman)


Lesenswert?

Du musst aufpassen da ist ein Cypress HUB dazwischen. Die Dinger haben 
ein Translation Layer. Deswegen siehst du vermutlich unterschiedliche 
Speeds.

Ganz sicher wird es wenn du die Kommunikation an der CPU aufzeichnest.
Ev .ist eine Inkompatibilität diese Hubs dafür verantwortlich dass die 
Frontplatte nicht geht. Ich würde erst am an PortA einen alten usbhub 
einschleifen.

von Steven T. (kampfwaffel)


Lesenswert?

Die Kommunikation ist schon zwischen HUB und MCU - Hätte ich 
dazuschreiben sollen.

Ich hatte es nebenbei erwähnt auch schon ohne Hub probiert (die 
Widerstände ausgelötet und direkt die Verbindung angebracht - aber auch 
hier funktionierten nur die Geräte die vorher schon liefen und die 
anderen nicht.

Probiert habe ich auch schon mehrere Hubs. Auch eine VIA VL805 PCIe USB 
3 Karte - gleiches Spiel. Eine Dell-Dock von USB 3 auf USB2 lieferte das 
gleiche Ergebnis (im Übrigens klappte es hier auch plötzlich bei 
funktionierenden Geräten nicht mehr).
Es soll eine PCIe Karte mit Chipsatz geben der Funktionieren soll - von 
Renesas, die habe ich bestellt und warte noch auf Erscheinen - aber die 
Neugier ist halt schon da warum es bei einigen Geräten nicht geht und 
bei anderen schon.

: Bearbeitet durch User
von Thomas Z. (usbman)


Lesenswert?

Der Cypress Hub ist ein alter Full Speed Hub. Soweit nichts besonderes. 
Auf der Webside von Gigabyte habe ich gesehen dass es lediglich einen W7 
Treiber  für USB3 gibt.

Das sollte eigentlich kein Problem sein zumal 3.0 Leitungen ja nicht 
weitergeführt werden. Sehr seltsam das Ganze.

von Steven T. (kampfwaffel)


Lesenswert?

Das Board hat zwei USB3 hinten und zwei interne - ansonsten noch 4x USB 
2 hinten und 4x intern - an denen bin ich dran.

Für das Board gibt es Treiber von XP bis Win10 (erstaunlicherweise), 
USB3 gibt es unter XP - meine ich - nicht, weil XP gar kein USB3 kann, 
nicht mal nachgepatched.
Aber es ist halt leider auch komplett irrelevant unter welchem OS ich 
starte - selbst Linux erkennt nur unknown.
Verschiedene Ports, inkl. USB3 und USB2 habe ich auch durchprobiert.

Zudem habe ich im BIOS noch verschiedene Sachen ausprobiert, EHCI / XHCI 
Hands-Off ein/ausgeschaltet, die Legacy-Optionen ein/aus u.s.w.
Leider ist das Ergebnis immer das gleiche.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Steven T. schrieb:
> 0977d3a6-85c8-431b-8b5d-ec296a4725c7.jpg
> 562e0a66-45b3-4787-881b-7ed8f2a41453.jpg
> aec85d70-46a2-4dec-8c36-f9bfd7d02ada.jpg

Wichtige Regeln - erst lesen, dann posten!

Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Steven T. schrieb:
> DSView_2LilenSEMq.png

Geht doch und sieht gleich viel besser aus ;-)

: Bearbeitet durch User
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.