USB-RS232 puestos de conexión en serie

3

Como fanático de los gadgets, a veces me dejo llevar y esta vez compré un robot de vacío Neato XV-11 (que por cierto funciona bastante bien).

Ahora parece que hay una actualización de firmware para el dispositivo que tengo que hacer en Windows. Sin embargo, tengo un Macbook Pro 2008, así que decidí usar BootCamp.

Para realizar la actualización, necesita un cable mini usb y conectarlo a su robot. La aplicación de actualización configurará una conexión en serie con el robot, que en mi caso se emula bajo COM3.

Esto no funciona porque en Windows cualquier conexión en serie con el dispositivo se detiene después del primer carácter que se envía. Lo probé con Putty e Hyperterminal para configurar una conexión en serie de prueba (115200 baudios). Quiero escribir "ayuda", que enumeraría los comandos de los robots, pero solo la "h" me repite.

Si probó lo mismo en OSX (con terminal y el comando de pantalla, /dev/ttsy.usbmodem662, la misma configuración que en Windows) y todo funciona bien (¡obtengo la lista de comandos de robot compatibles!)

Después de depurar con un monitor de comunicación en serie en Windows, vi que la conexión todavía está abierta después de la "h", pero el dispositivo no envía nada después de eso. Cuando desconecto la sesión, desconecto el USB y lo vuelvo a conectar, noto que el dispositivo reacciona de repente a todos mis comandos anteriores. Un poco como si estuviera almacenado (solo puedo ver esto debido al registrador en serie).

He probado XP SP3 (x86) y Windows 7 (x64) con Bootcamp, Parallels y VMware Fusion. Me puse en contacto con su servicio de atención al cliente, pero todavía estoy esperando una respuesta técnica.

Actualización: intento de solución de FrankenSerial:
en mis intentos desesperados por solucionar esto, he intentado conectar el dispositivo desde OSX a través de una tubería a VMWare. Puede hacer esto con un programa de Unix llamado socat. Básicamente, abre una secuencia de lectura / escritura desde /dev/ttsy.usbmodem662 al puerto COM1 de VMWare. Logré comunicarme con el dispositivo en COM1 a través de esta solución. Desafortunadamente, la herramienta de actualización de firmware primero busca un dispositivo USB llamado Neato XV-11 que se simula en COM3. Cambiar Windows de COM1 a COM3 tampoco funciona (probablemente enumeran los dispositivos usb, por lo que no tienen que escanear todos los puertos COM).

¿Alguna pista de lo que está pasando?
¿Es este un problema conocido de Windows (en Apple hw)?
¿De alguna manera el USB -> Emulación en serie en Windows parece roto con mi hardware?

Zyphrax
fuente
El robot tiene un puerto mini-usb, no estoy usando un adaptador en serie. Y funciona con OSX Lion, así que supongo que el hardware está bien. Windows de alguna manera está causando esto. El controlador se basa directamente en usbser.sys de Windows.
Zyphrax
Lo siento, aparentemente demasiado temprano en la mañana para mí.
Chris S
al emular este puerto de comunicación, ¿puede ajustar los elementos de control de flujo? hasta ahora (como probablemente sepa) está obteniendo lo que suena como comunicaciones unidireccionales sin reconocimiento de recibo. (no debe confundirse conmigo incluso sabiendo qué es eso) Al hacer cosas en serie, siempre había una variedad de ajustes que una persona podía hacer para fluir, acelerar, apretón de manos y flujo de E / S, como 7-1 y ??? la serie simple nunca fue tan simple, y nos permitieron confundir todo tipo de parámetros que podrían causar un problema como ese.
Psycogeek
He intentado cambiar algunas de las configuraciones en serie (control de flujo, configuración de bits, paridad), no importa. He actualizado mi publicación con información adicional.
Zyphrax
Bueno, llegaste a algún lado :-), estás más allá de mis habilidades, con este material virtualizador. Las actualizaciones de firmware, me hacen pensar que tiene que tener una conexión real bastante sólida y real con el dispositivo, porque hablando con seguridad (bloqueo) las actualizaciones siempre deben identificar completamente el tamaño del dispositivo, etc. antes de adivinar que el firmware encajaría y funcionaría. Nunca (nunca :-) he podido realizar una actualización de firmware sin el método de conexión Rawest and Only que recomiendan y prueban.
Psycogeek