Hi, wenn bei einem USB Request data packet ein error, weil z.b. unbekannter bRequest, auftritt, wird doch nach USB Specs ein STALL packet oder ein DATA ststus packet mit status 0x0000 versendet?? grüüße
Das steht schön in der Spec unter 9.2.7 beschrieben. Ich zitiere mal: "When a request is received by a device that is not defined for the device, is inappropriate for the current setting of the device, or has values that are not compatible with the request, then a Request Error exists. The device deals with the Request Error by returning a STALL PID in response to the next Data stage transaction or in the Status stage of the message. It is preferred that the STALL PID be returned at the next Data stage transaction, as this avoids unnecessary bus activity."
The device deals with the Request Error by returning a STALL PID
in response to the next Data stage transaction or in the Status stage of
the message.
Genau auf diese Zeile bezieht sich meine Frage, da ich nach einer STALL
PID nüx mehr vom HOST höre wollte ich vielleicht was anderes schicken,
>or in the Status stage of the message.
das währ doch |sync|data0|0x0000|EOP
oder???
grüüüße
>> or in the Status stage of the message. > das währ doch |sync|data0|0x0000|EOP Nein, da in der Status Stage grundsätzlich DATA1 PID verwendet wird. Du sollst im Fehlerfall aber STALLen. Also entweder blockierst Du die Daten-Phase oder, falls es keine weiteren Daten gibt, die Status Stage. Mehr meint das nicht. DATA0 ist hier absolut fehl am Platz, ein irritierter Host wird Dein Device vermutlich resetten und es erneut versuchen. Das macht er dann so lange, bis er entnervt aufgibt und Dein Device deaktiviert. Wenn Du nach dem STALL vom Host nichts mehr hörst, hat das eine andere Ursache. Je nach SIE könnte es sein, dass Du nach erfolgtem STALL per Hand wieder in "betriebsbereit" zurückschalten mußt. Das weiß ich aber nicht, da Du darüber keine Informationen herausgegeben habe. Auch sonst sind die Infos recht dürftig, daher bleibt nur der Tipp: Schau Dir das mit einem Protokoll-Analyzer an.
Jo danke, hast Du einen Tipp welchen Protokoll Analyzer (für PC) es gibt?? grüüße
Advanced USB Port Monitor SourceQuest SourceUSB USBInfo USBTrace SnoopyPro (free) SniffUSB (free)
Sniff USB habe ich mal probiert, da gab's aber ein fehler mit dem debugviewer,... USBTrace sieht aufm ersten blick ziemlich gut aus,.. werde ich mal gleich austesten,.. danke..
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.