2012-01-11 2 views
0

J'ai le problème suivant avec libusb-java et certains périphériques self-made. Il peut arriver qu'un tel appareil se déconnecte du port USB parce qu'il draine beaucoup d'énergie (à titre d'exemple: j'ai une lumière USB-LED qui a parfois besoin de plus de 500mA). Dans ce cas, le contrôleur USB réinitialisera le périphérique et le périphérique redémarrera normalement.Reconnexion à un périphérique après une panne de périphérique

Maintenant, je ne peux pas vraiment détecter un tel problème, sauf pour essayer de réinjecter le périphérique à chaque exception. Mais c'est ne fonctionne pas ...

sur toutes les exceptions que j'appelle ma méthode d'initialisation à nouveau, qui ressemble à ceci:

private void initDevice() { 
USB.init(); 
this.dev = USB.getDevice(idVendor, idProduct); 
} 

Le problème qui est, cela va sans aucun problème, mais je reçois ce message d'erreur lorsque je souhaite envoyer de nouvelles données:

LibusbJava.controlMsg: error sending control message: Protocol error 

Comment puis-je réinitialiser l'appareil? Dois-je réinitialiser le bus ou quelque chose?

Répondre

0

Vous devrez appeler le open() sur l'appareil - c'est nouveau pour le système.

+0

qui ne fonctionne pas ... je reçois la même erreur alors – reox

Questions connexes