Hi, ich habe hier einen ATTiny als USB HID Device, mit dem ich vom PC aus kommunizieren will. Das Ganze basiert auf dem HID-Beispiel aus dem VUSB-Paket. Der Linux-Code funktioniert problemlos, unter Windows klappt es leider noch gar nicht. Mein Problem: Wenn ich versuche, mit HidD_GetFeature() (zu finden in usbhidGetReport() von https://github.com/obdev/v-usb/blob/master/libs-host/hiddata.c ) Daten an mein Device zu senden, so kommt diese Funktion mit 0 zurück. GetLastError() liefert 23, was einem CRC-Fehler entsprechen würde - nur verwendet mein Device gar keine Prüfsumme. Der an HidD_GetFeature() übergebene Buffer fängt mit 0 an (keine ReportID) und demzufolge ein Byte länger - sollte also passen. Jemand eine Idee, was hier schief läuft bzw. wo ich noch schauen könnte? Danke!
Aber sicher verwendest Du auch Prüfsummen, das bringt der USB so mit sich: http://www.usb.org/developers/whitepapers/crcdes.pdf Zum Problem: Mich interessiert zunächst, was der Aufruf von HidP_GetCaps liefert, bzw. was Du für "FeatureReportByteLength" in HIDP_CAPS geliefert bekommst. Stimmt das mit Parameter 3 von HidD_GetFeature überein? http://msdn.microsoft.com/en-us/library/windows/hardware/ff539715.aspx http://msdn.microsoft.com/en-us/library/windows/hardware/ff539697.aspx Wenn das alles passt, musst Du Dir das mal mit einem Protokoll-Analyzer anschauen. Auf den ersten Blick sieht mir das nämlich nach einem Fehlverhalten seitens des Devices aus.
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.