LibUSB return values

Gast #605893
Lesenswert?

Hallo Forum,

ich versuche eine USB Kommunikation zw. AT90USB und Windows XP 
aufzubauen. Der µC wird soweit erkannt und wurde installiert (LibUSB 
Win-32 und generierte .INF)

Hab auch ne kleine Konsolenanwendung geschrieben und kann AT90USB auch 
mittels
1
for ( usb_bus = usb_get_busses( ); usb_bus; usb_bus = usb_bus -> next )
2
    {
3
        for ( dev = usb_bus -> devices; dev; dev = dev -> next )
4
        {
5
            if (( dev->descriptor.idVendor == vendorid ) &&
6
                ( dev->descriptor.idProduct == productid ) )
7
                    return dev;
8
        }
9
    }

finden.
Mein Problem ist die Funktion  return = usb_claim_interface(handle, 0)

beim Debuggen sehe ich, dass return=-22 ist.

Meine Frage ist: Weiß jemand was die return values bedeuten, mit google 
konnte ich nichts brauchbares finden. Auf der HP von LIBUSB ist nur 
dokummentiert, dass wenn return < 0 => Fehler.

Bin dankbar für jeden Hiweis.
Gast #605901
Lesenswert?

Ich hab noch vergessen zu erwähnen, dass ich die bei Windows nötige 
Reihenfolge (set_configuration vor claim_interface) beachtet habe:
1
handle = usb_open(usb_dev);
2

3
if((ret=usb_set_configuration(handle, 1)) < 0)
4
    fprintf(stderr, "Error while trying to set configuration\n");
5
    
6
if((ret=usb_claim_interface(handle, 0)) < 0)
7
    fprintf(stderr, "Error while trying to claim interface\n");

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren