Frage

Ich entwickle CDC-Treiber für USB-Gerät und ich stolpern auf einige Probleme. Der Fahrer, den ich auf Windows-Seite bin mit verwendet löscht Endpunkt Eigenschaft als eine Art flish Mechanismus oder Daten richtig zu machen. Das macht mir viel trobule weil ich kann es nicht funktionieren. Ich denke, Daten wechseln nicht einverstanden sind, und ich bin fehlen einige wichtige Datenübertragung, auch nicht im Zusammenhang Interrupt immer mit diesem endpoing wegen der schlechten klaren Daten Knebel. I zurückgesetzt Daten umschalten auf 0 zu festgelegter Schnittstelle und klarer Funktion, wie in USB-Standard aufgezeigt. Gibt es mehr Situation, wenn ich das tun sollte? Oder gibt es einfache Möglichkeit, Fehler ungültige Daten Toggle-Handling.

Danke für anwsering. Ich habe usb Analysator bekam, aber ich dosen't tun mir alle gut jetzt. Von dem, was ich es geschafft, kann zu sammeln und ich denke, geschieht. Ich habe DataToggle Bit in hardvare nach Löschen-Funktion (wie es getan werden sollte) für coresponding Endpunkt. Senden Sie einige Daten, Es ist auf PC recived. Ich weiß, dass diese Form USB-Analysator und ich verfolgte meine Vcom Fahrer mit Port-Monitor. Dann warte ich für einige Daten wie alles konfiguriert ist (Gerät aufgelistet und so weiter), die erste Frage anwsered, aber die nächste ist nicht, nach klaren Endpunkt Fature der PC-Seite die Frage erneut zu stellen. Dies sollte auslösen UBS Interrupt für Endpunkt coresponding aber es iSINT geschah, nach einiger Zeit wieder klar Endpunkt-Funktion und das gleiche Paket gibt es, und es ist dieses Mal erhalten reagiert und wieder gibt es Schweigen über das Komunikation Protokoll. Ich zählte die angeforderte Tranfer im Vergleich zu fehlenden Interrupts und das Verhältnis genau 2: 1, so denke ich Daten Makel um die Hälfte der Zeit falsch eingestellt sind, aber wie kann dies geschehen, wenn ich Datensatz wechselt jedes Mal Bit ich klar Endpunkt Funktion bekommen.

Ich hoffe, dass ich das Problem klar gesagt, für die harvare Seite glaube ich, die einzige rvelant Sache ist das Bit I Einstellung bin. Darin heißt es „eine 1 zu diesem Bit Schreiben Sie die Endpunktdaten Umschalten auf 0 zurückgesetzt“ Ok ich denke, (hoffentlich) löste ich die Clear Endpunkt fature, andere Fehler durch andere Dinge verursacht wurden, und kumulatives Problem war schwer zu fangen.


Ok fixierte ich das Problem vor einiger Zeit, jetzt habe ich noch nicht einmal remeber, was die Ursache war, aber als ususally ist - es ist etwas anderes. Jeder, der gebunden dank anwser.

War es hilfreich?

Lösung

Beachten Sie, dass bei einigen Versionen von Usbser.sys Windows nicht richtig das Rohr nach einer Übertragung eines genauen Vielfaches von 64 Bytes spülen. Ich bin mir nicht ganz klar, aus Ihrer Frage, ob dies das Verhalten Sie sehen, aber ein USB-Analysator soll Ihnen helfen, festzustellen, ob dies der Fall ist. Wenn Sie XP SP2 verwenden, auf SP3 aktualisieren.

Andere Tipps

Ich schlage vor, verwenden usb snoopy (Software usb-Analysator), um zu verstehen, was Sie sind falsch machen. Wenn Sie irgendein Budget besser bekam man Hardware usb-Analysator so uns Lecroy oder Ellisys . Oder bekommen Kommerzielle CDC-Treiber gibt es viel zur Verfügung nur für cdc Fahrer Google. Ihre Beschreibung des Problems ist sehr allgemein und kann direkt angesprochen werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top