Hi, ich beiß mir an folgendem Problem die Zähne aus. Ziel: Erkennung ob mein Wireless Gamepad eine Verbindung zum Pi aufbaut oder die Verbindung abbricht. Mit dem proprietären Windows Treiber geht das. Unter Linux sieht das schon anders aus. Habt ihr Ideen? ___________________________________________ Ich habe: - Raspberry Pi, Model B - MS wireless adapter - Xbox 360 wireless Gamepad - xpad-Treiber - xboxdrv auch probiert, gleiches Problem ___________________________________________ Folgendes habe ich bisher probiert: ioctl ( EVIOCGSW…) -> Get all switches -> ERRNO.h Message: Function not implemented ioctl (EVIOGSREP..) -> Set auto repeat time -> ERRNO.h Message: Function not implemented ioctl (EVIOCGVERSION EVIOGID EVIOCGNAME) -> zeigt alle möglichen anschließbaren Controller, nicht die tatsächlich angeschlossenen lsusb /dev/input zeigt immer alle 4 anschließbaren Controller an Libusb_get_device_list () –> verhält sich scheinbar wie lsusb Habe ein Force_Feedback(Rumble) zum Gamepad gesendet. Das geht auch, aber es wird kein Fehler erkannt, wenn das Gamepad aus ist. Mit einem USB-Sniffer habe ich festgestellt, dass tatsächlich gar nix kommt, wenn ein Controller eine Verbindung aufbaut oder nicht Ich habe beim Microsoft Support angerufen. Harrarararar viele Grüße André
Nachricht auf Deutsch übersetzen Solved! I used "usbmon | grep <device>". - Anytime I disconnect, a package with 2 = 0800 (\0) is send. - Anytime I reconnect, I get 2 = 0880. See the following datadump: b7561700 4084115033 C Ii:1:011:1 0:1 29 = 000000f0 00000000 00000000 00000000 00000000 00000000 00000000 00 b7561700 4084115124 S Ii:1:011:1 -115:1 32 < b7561700 4084121118 C Ii:1:011:1 0:1 29 = 000100f0 00130000 000089fa c802bafd f4fe0000 00000000 00000000 00 b7561700 4084121178 S Ii:1:011:1 -115:1 32 < b7561700 4084132241 C Ii:1:011:1 0:1 29 = 000000f0 00000000 00000000 00000000 00000000 00000000 00000000 00 b7561700 4084132274 S Ii:1:011:1 -115:1 32 < b7561700 4085828438 C Ii:1:011:1 0:1 29 = 000100f0 00130000 000089fa c8024ffc f4fe0000 00000000 00000000 00 b7561700 4085828492 S Ii:1:011:1 -115:1 32 < b7561700 4086345138 C Ii:1:011:1 0:1 2 = 0800 b7561700 4086345161 S Ii:1:011:1 -115:1 32 < b7561700 1171227 C Ii:1:011:1 0:1 2 = 0880 b7561700 1171254 S Ii:1:011:1 -115:1 32 < b7561700 1173350 C Ii:1:011:1 0:1 29 = 000f00f0 00ccff91 0d10b3c1 e0500020 1323201d 30034001 5001ffff ff b7561700 1173431 S Ii:1:011:1 -115:1 32 < b7561700 1174983 C Ii:1:011:1 0:1 29 = 00010013 22130000 000089fa c0fb9000 77fe0000 00000000 00000000 00 b7561700 1175043 S Ii:1:011:1 -115:1 32 < b7561700 1181980 C Ii:1:011:1 0:1 29 = 00010000 20130000 000008fb c0fb0901 77fe0000 00000000 00000000 00 b7561700 1182035 S Ii:1:011:1 -115:1 32 < So I trigger on that. How to trigger? Search for usbmon.c / usbmon.h. Include usbmon.h Get the IOCTL-Event and some Data Structurers from usbmon.c Andre
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.