libusb Schnittstelle bereits beansprucht

8

Ich schreibe einen Gerätetreiber für ein USB-Gerät mit libusb. Wenn ich versuche, das Gerät zu beanspruchen, erhalte ich den Fehlercode LIBUSB_ERROR_BUSY (-6). Laut der Dokumentation bedeutet das, dass das Gerät bereits beansprucht wurde ( link ).

>

Wie finde ich heraus, welcher Treiber / welches Programm das Gerät beansprucht hat und, was noch wichtiger ist, wie kann ich, ich , das Gerät beanspruchen, sobald es beansprucht wird.

Codeausschnitt:

%Vor%

Ausgabe:

%Vor%     
jairo 15.06.2011, 22:43
quelle

3 Antworten

10

Rufen Sie libusb_detach_kernel_driver() vor libusb_claim_interface() an? Dies kann notwendig sein.

    
David Grayson 25.06.2011 06:24
quelle
1

Das Problem ist höchstwahrscheinlich, dass die Schnittstelle von einem anderen Linux-Treiber beansprucht wird. Rufen Sie libusb_detach_kernel_driver() auf und geben Sie die Schnittstellennummer an, und dann sollten Sie in der Lage sein, eine Verbindung herzustellen.

    
linsek 29.09.2011 19:27
quelle
0

Hast du libusb_set_configuration() vor libusb_claim_interface() aufgerufen?

Dies muss auch dann aufgerufen werden, wenn der Deskriptor nur eine Konfiguration enthält.

    
Turbo J 17.06.2011 15:44
quelle

Tags und Links