• # Programme libusb

    Posté par (site web personnel) . En réponse au message Utilisation de LibUsb. Évalué à 4.

    Ben déjà, vérifie que tu as la libusb sur ton ordi:
    le fichier "/usr/include/usb.h" doit exister.
    sinon, il te faut installer le package libusb-devel
    (ou libusb-dev selon la distribution)

    Une fois cela fait, regarde la documentation ici:

    http://libusb.sourceforge.net/doc/
    En particulier, en bas il y a le chapitre "exemple".

    Le fichier usb.h est aussi une bonne référence.

    Un autre article: http://www.linuxjournal.com/node/7466/print

    Encore un: http://www.cs.indiana.edu/~bpisupat/work/usb.html

    Ensuite, bah il faut commencer le programme...
    Normallement tu dois connaitre le deviceID et le vendorID du periphérique, donc le détecter ca dois ressembler à ca:

    int main(void)
    {
    struct usb_bus *busses;
    usb_init();
    usb_find_busses();
    usb_find_devices();
    busses = usb_get_busses();
    struct usb_bus *bus;
    int c, i, a;

    /* boucle sur les bus USB */
    for (bus = busses; bus; bus = bus->next) {
    struct usb_device *dev;
    /* Par bus, boucle sur les devices */
    for (dev = bus->devices; dev; dev = dev->next) {
    if ((dev->descriptor.idVendor == MYVENDOR) &&
    (dev->descriptor.idProduct == MYPRODUCT) ) {
    /* boucle sur les configurations, si plus de 1 seule */
    {...}
    }
    }
    }
    }

    Ensuite, ben il faut l'ouvrir, faire un claim, et chercher dans la doc du périphérique USB comment trouver les "paramètres constructeurs" dont tu parles.

    Voila !

    Regarde aussi si, a tout hasard, ton périphérique n'est pas compatible avec un protocole "standard" USB dont linux a les drivers, style série 'ACM', ou 'HID'.
    (Rigole pas ca m'est arrivé....)
    A+