Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: Jeronimo en Febrero 08, 2013, 05:55:43 pm

Título: Comunicación vía USB con dispositivo con drivers
Publicado por: Jeronimo en Febrero 08, 2013, 05:55:43 pm
¡Hola!
No doy más... busqué por todos lados y no sé por dónde arrancar. Espero que ustedes me puedan ayudar una vez más.
Tengo un dispositivo que se usa para ingresar datos en una computadora y se conecta mediante un puerto USB. Instalé los drivers y el Panel de Control lo muestra sin problemas.
Ahora, ¿cómo puedo hacer para comunicarme con el dispositivo desde VB6?
Junto con el ejecutable que instala los drivers están los archivos WdfCoInstaller01007.dll, wdfsgusb.sys, wdfsgusb-x64.cat y wdfsgusb.inf. Intenté agregar el primero como referencia y VB no me dejó.
¿A alguien se le ocurre por dónde puedo empezar?
Muchas gracias.

Jerónimo
Título: Re:Comunicación vía USB con dispositivo con drivers
Publicado por: coco en Junio 09, 2013, 06:17:01 pm
que dispositivo es? que tipo de transferencia usa (bulk, sync etc)?
Título: Re:Comunicación vía USB con dispositivo con drivers
Publicado por: Jeronimo en Junio 09, 2013, 09:20:10 pm
Hola, coco.
Se trata de una especie de máquina de escribir. Uno teclea en ella y se envían datos a la computadora.
No sé qué tipo de transferencia usa. Unos modelos anteriores transferían los datos por el puerto serie, con el protocolo ZModem. Hice andar una de ellas sin problemas. Pero esta ya no trae este puerto, sino que se conecta por bluetooth o por USB. Una vez establecida la comunicación se debe poder teclear cuanto uno quiera y, a medida que se va haciendo, se va enviando la información a la pc.
No sé qué otro dato darte. Ojalá puedas orientarme para empezar a probar.
Muchas gracias.

Jerónimo
Título: Re:Comunicación vía USB con dispositivo con drivers
Publicado por: coco en Junio 09, 2013, 09:55:11 pm
para empezar, no se que dispositivo es. es decir, modelo marca, etc.
segundo, si es un dispositivo que tiene mas transferencias desde el dispositivo hacia la pc, entonces debe ser HID (dudo muchisimo que sea custom).
para corroborar esto, mostrame como aparece el dispositivo en el Administrador de Dispositivos (en Panel de Control, Sistema, Avanzados - Administrador de dispositivos); y tambien sacale alguna captura a las propiedades del mismo.

saludos
Título: Re:Comunicación vía USB con dispositivo con drivers
Publicado por: Waldo en Junio 10, 2013, 02:42:57 pm
No tendra dentro del dispositivo un conversor USB a 232? tipo prolific o FTDI? y simplemente ya lo integraron dentro del dispositivo porque las notebook o algunas pc ya no traen 232
Título: Re:Comunicación vía USB con dispositivo con drivers
Publicado por: Jeronimo en Junio 10, 2013, 03:32:58 pm
Mirá, tiene varias vías de comunicación: USB, RS232, Bluetooth y no sé si no tiene también puerto de red.
Con el RS232 ya probé y no pude hacerla andar. Otro modelo de máquina, que trae solo el puerto serial, lo hice andar sin problemas, pero con el mismo código no pude hacer andar esta, incluso cambiando la velocidad del puerto.
Con USB la vi funcionar con otro programa, por lo que sé que anda.
Con Bluetooth no sé ni por dónde empezar, pero sería también bueno poder hacerlo.
¿Se les ocurre algo?
Muchas gracias.

Jerónimo
Título: Re:Comunicación vía USB con dispositivo con drivers
Publicado por: Waldo en Junio 10, 2013, 04:11:24 pm
por qué no te fijas en el administrador de dispositivos de windows, si cuando lo enchufas x usb, aparece un "USB Serial COM" o similar, y al desenchufar desaparece
Título: Re:Comunicación vía USB con dispositivo con drivers
Publicado por: seba123neo en Junio 10, 2013, 05:41:31 pm
por ahi debe andar un usb sniffer o algo parecido, algo que monitoree los usb y te muestre los comandos que envia, algo asi como un sniffer http.
Título: Re:Comunicación vía USB con dispositivo con drivers
Publicado por: cobein en Junio 10, 2013, 06:03:13 pm
Wireshark creo que lo hace sin problemas.
Título: Re:Comunicación vía USB con dispositivo con drivers
Publicado por: Jeronimo en Junio 10, 2013, 07:57:05 pm
por qué no te fijas en el administrador de dispositivos de windows, si cuando lo enchufas x usb, aparece un "USB Serial COM" o similar, y al desenchufar desaparece
Aparece como un dispositivo USB cualquiera, no como el ATEN, por ejemplo. Y cuando lo desenchufo, desaparece.

por ahi debe andar un usb sniffer o algo parecido, algo que monitoree los usb y te muestre los comandos que envia, algo asi como un sniffer http.
Había pensado algo así, pero no sé si lo que devuelven los sniffers es claro (para mí, por lo menos). coco me estaba proponiendo algo así también.

Wireshark creo que lo hace sin problemas.
¡Excelente!

Muchas gracias, muchachos. Voy a ver si pruebo con alguno de los sniffers que me sugirieron.
Si no es mucho jorobar, ¿alguna idea para la conexión Bluetooth?

Jerónimo
Título: Re:Comunicación vía USB con dispositivo con drivers
Publicado por: Jeronimo en Junio 12, 2013, 07:22:48 pm
¿O para la conexión por puerto de red?
Título: Re:Comunicación vía USB con dispositivo con drivers
Publicado por: coco en Junio 14, 2013, 02:38:56 pm
Hola, probe el USBPcap + Wireshark, funciona (aunque no en todos los casos; por ejemplo con drivers que usan libusb). La magia es instalar el Wireshark (http://www.wireshark.org/download.html), y luego el USBPcap (http://desowin.org/usbpcap/index.html), y reiniciar.
Tenes que ver en que bus está tu dispositivo y luego pipear la data al Wireshark o bien, grabarla y leerla luego. Acá (http://desowin.org/usbpcap/tour.html) esta el "tour".

Lo que prosigue es cuestion de investigacion, ya que tendrias que ver que mensajes envia/recibe y recien ahi tratar de hacerle la mimica en VB6.
Título: Re:Comunicación vía USB con dispositivo con drivers
Publicado por: Jeronimo en Junio 15, 2013, 01:54:27 pm
¡Excelente, coco!
Ahora no tengo la máquina conmigo, pero calculo que en estos días la recuperaré y probaré todo lo que me recomendás.
¡Muchas gracias!
Por otro lado, si a alguien se le ocurre cómo puedo empezar a investigar la comunicación por bluetooth o por puerto de red, por favor, chifle.
Muchas gracias a todos.

Jerónimo
Título: Re:Comunicación vía USB con dispositivo con drivers
Publicado por: coco en Junio 15, 2013, 07:35:10 pm
Si es por red, con el wireshark lo debugueas al toque.
Si es por bluetooth, es mas complicado. EXCEPTO que el aparato exponga un "puerto Serie", en cuyo caso lo usas como si fuera un puerto serie comun y corriente.
Título: Re:Comunicación vía USB con dispositivo con drivers
Publicado por: Jeronimo en Junio 15, 2013, 11:26:02 pm
¡Fantástico!
En cuanto me junte con la máquina haré todas esas pruebas. Espero tener éxito en alguno de estos caminos.
Ojalá pueda contarles buenas novedades.
¡Muchas gracias!