2017-01-27 7 views
0

J'ai une caméra USB (Dentamerica Cammy) (ce n'est pas identifié comme dispositif HID) avec un bouton et l'application (nommée vixwin) qui devrait réagir à ce bouton et faire une photo. Le problème est qu'il ne réagit pas. Le pilote de périphérique est très ancien et n'est plus pris en charge par le fabricant. La seule application qui réagit lorsque j'appuie sur le bouton est le programme de caméra natif du CD. J'ai essayé d'utiliser wireshark pour renifler les paquets USB et voir ce que fait la caméra quand j'appuie sur le bouton. Quand je démarre la fonction "capture" dans l'application Il montre une fenêtre avec un flux vidéo et après cela, chaque fois que j'appuie sur le bouton, la caméra génère un transfert d'interruption USB pour que l'application fasse une photo. La caméra n'envoie pas les transferts d'interruption usb à l'hôte lorsque le flux vidéo ne fonctionne pas. Donc, mon idée était de faire un simple service Windows qui peut écouter le trafic USB et s'il voit une interruption USB de la caméra - il devrait envoyer un raccourci vers l'application vixwin. (Vixwin utilise également un flux vidéo de la caméra, donc j'espère que ça devrait fonctionner correctement). S'il vous plaît dites-moi comment puis-je scanner le trafic USB (en mode parallèle, comme le fait wireshark) sans prendre le contrôle de celui-ci et attraper ce transfert d'interruption usb (j'espère en utilisant C#)? Donner un exemple de code similaire pourrait être parfait. Ou peut-être que vous pouvez conseiller d'autres solutions?Comment intercepter l'interruption USB à partir d'un périphérique non-HID dans Windows 7?

p.s. l'hôte utilise Windows 7 et ne peut pas être mis à niveau vers les versions supérieures de Windows à un moment donné.

Wireshark interrupt screenshot

+0

Cela est extrêmement fastidieux à lire. Pouvez-vous ajouter des paragraphes en les éditant dans des lignes vides, afin que le texte soit structuré de manière plus logique, s'il vous plaît? –

+0

Je ne sais pas si cela peut vous aider, mais vous devriez jeter un oeil à http://www.icsharpcode.net/OpenSource/SharpUSBLib/ –

Répondre

0

dans le protocole USB l'hôte doit demander l'interruption signifie que les sondages d'accueil Le dispositif si elle a une interruption dans l'attente
la procédure windows pour cela est en https://msdn.microsoft.com/de-de/library/windows/hardware/dn303348%28v=vs.85%29.aspx-la mise en œuvre gestionnaire d'événements d'interruption USB

vous pouvez également utiliser tshark, l'interface de ligne de commande à Wireshark ou USBPcap à renifler USB dans un processus d'arrière-plan et analyser la sortie (if, FINDSTR, ...) si le interruption est venue de votre caméra

http://www.superuser.com/questions/873896/wireshark-usb-traces-explanations

https://ask.wireshark.org/questions/48789/usbpcap-tutorial

https://ask.wireshark.org/questions/20545/right-interface-to-use-with-tshark-under-windows - obtenir des interfaces de capture disponibles

https://ask.wireshark.org/questions/53919/how-can-i-precisely-specify-a-usb-device-to-capture-with-tshark