La situation est la suivante: j'ai un périphérique USB (un périphérique personnalisé auquel j'essaie de parler) avec deux points de terminaison, l'un écrit sur l'appareil, l'autre sur l'appareil. Les deux sont des transferts en vrac. Chaque transaction de communication prend la forme de (1) Écrire une commande sur l'appareil (2) Lire la réponse. J'utilise libusb (version 0.1 plutôt que beta 1.0) pour effectuer les communications.Problème de lecture d'un périphérique avec libusb
Sur Windows, tout va bien. Je peux connecter l'appareil, revendiquer l'interface et communiquer avec bonheur. Cependant, dans Ubuntu (une installation standard de bureau Hardy), alors que je peux me connecter au périphérique et y écrire, toutes les opérations de lecture échouent avec l'erreur "erreur de soumission URB: argument invalide" rapporté de libusb (code d'erreur -22). Si je vérifie/var/log/messages, je vois un message d'avertissement enregistré en même temps que la tentative de lecture: "sysfs: nom de fichier dupliqué 'usbdev4.3_ep81' ne peut pas être créé" - qui correspond à l'appareil (C'est en effet sur ce bus et c'est le point final 81 que j'essaie de lire).
Alors ... quelqu'un a-t-il rencontré un problème similaire en utilisant libusb, ou avez-vous une idée de la façon de le résoudre?
Je suis descendu dans le code, et il semble en effet être un problème au niveau du noyau (le code d'erreur se propage tout le long de l'appel ioctl qui devrait effectuer le transfert). Je vais jeter un coup d'oeil au patch et faire un rapport. À votre santé! – Throctukes
Non, ne l'a pas réparé. J'ai appliqué le correctif et je vois toujours le même problème lors de l'utilisation du noyau corrigé.Ce qui est bizarre, car il semble que le correctif résout ce problème. – Throctukes