Frage

Ich versuche, auf ein USB-Gerät mit libusb zu sprechen, aber ich fühle mich wie ich auf der ersten Etappe des Rennens bin stolpern. Ich weiß genau, welche Endpunkte ich usw. reden müssen, aber ich kann nicht einmal so weit kommen. Ich habe im Wesentlichen vor:

usb_device *dev = ...; // opened from get_busses()
usb_set_configuration(dev, dev->config[0].bConfigurationValue); // bConfigVal = 1

Jetzt kann ich an den Geräteinformationen im Debug-Modus aussehen und ich weiß, dass die aktuelle Konfiguration 0 (nicht initialisierten / nur nach einem Neustart), und es gibt genau 1 gültige Konfiguration, die eine Konfigurationsnummer 1 hat Aber wenn ich stellen Sie die config 1, erhalte ich einen Rückgabewert von -22, die (durch die stringifier bestanden) auf „Windows-aPI-Fehler übersetzt: schlechte Parameter

.

Ich habe nicht in der Lage gewesen, andere Leute zu finden, ein ähnliches Problem haben, und es scheint, wie so eine einfache Sache zu tun - ich nicht einmal die Schnittstelle behaupten kann, oder die Alt-Schnittstelle oder ähnliches eingestellt , weil ich die Konfiguration zunächst eingestellt haben. Was vermisse ich? (Wenn es darauf ankommt: Das ist auf WinXP)

War es hilfreich?

Lösung

Mit Blick auf libusb-win32 \ src \ driver \ set_configuration.c scheint es eine Reihe von verschiedenen Gründen für die Rückkehr STATUS_INVALID_PARAMETER zu sein.

Mit libusb_set_debug (von Ihrer Benutzer-Modus-Anwendung) ausführliche Debug-Ebene zu setzen, führen Sie dann

scroll top