Trucos de otoño…DosBox y puertos serie

Quizás a alguien le sea útil esto.

Al estropearse definitivamente (en el momento en que se calculaba el pago de la quincena) la motherboard de la máquina donde estaba montado el software de lectura de marcaciones de tarjetas magnéticas (llamado Tempus; de factura argentina, me parece), surgió el problema de como leer esos datos e incorporarlos al sistema.

Anteriormente se trabajaban las incidencias, llegadas tarde, licencias y demás, sobre el Tempus. Tempus hace una instalación que al arrancar chequea si esta en la misma motherboard, con el mismo numero de serie del  disco, con la misma RAM, etc, como forma de evitar las instalaciones piratas. Así que esto descartaba una reinstalacion por nuestra parte (tenemos el programa de instalación).

Para colmo, al estar descontinuado, ya no se podría volver a hacer instalar, y la solucion planteada es comprar a buen precio otro software que haga el trabajo, pagando ademas por el contrato de mantenimiento.

Entonces desenterraron un codigo (PHP+PostgreSQL, como todo lo nuestro) por mal nombre Cronos que yo habi­a escrito en el 2006 para nuestro engendro, a pocos meses de entrar en la fabrica, y que estaba realmente pensado para capturar las bases de datos (formato FoxBASE!!) generadas por Tempus y trasladar su contenido a nuestro sistema (Linux con PostgreSQL como sistema de bases de datos). Ese codigo me permiti­a tener toda la informacion unificada, pero dependia de que se leyeran los relojes con el otro previamente.

Una solucion mas completa se me ponia muy difi­cil al ser los relojes una caja negra: no tenemos suficiente informacion sobre como trabajan ni sabemos claramente como se extraen los datos. Por otra parte, acostumbrados como estaban al otro sistema, jamas le dieron una ojeada. Yo me encargaba de mantenerlo actualizado con las lecturas, por orgullo profesional.

Me pidieron hacerle a la carrera las modificaciones necesarias para que se pudieran controlar las incidencias. Resueltos los problemas mas graves, quedaba la tarea de buscar una forma de leer las marcaciones de los relojes.

Me acorde de que teni­a en alguna parte un software de mantenimiento y puesta a punto de aquellos relojes, que los tecnicos habi­an olvidado una vez en el disco, software para el MS-DOS. Aquello tiene una opción para extraer los datos en varios formatos.

Entonces busque un paquete emulador de MS-DOS que fue diseñado para correr sobre Linux los viejos programas de juegos de la era pre-Windows, llamado DOSBOX, y me puse a trastear el fichero de configuración para decirle que emulara en Linux el comportamiento MS-DOS de los puertos de comunicaciones.

La solución consiste en declarar las li­neas:

serial1=directserial realport:ttyS0

serial2=directserial realport:ttyS1

serial3=directserial realport:ttyS2

serial4=directserial realport:ttyS3

Cuando lo logre, lance mediante el emulador el software de mantenimiento, descargue las marcaciones y con un script lo exporte hacia la maquina Linux, donde con un programa convertidor vuelco a un fichero de texto convenientemente estructurado las lecturas, las importo con una opción de mi Cronos a una tabla, le cambio el formato para potabilizarlo, y lo añado a la tabla de las marcaciones.

Linux rulz!

Tomado de la Lista de Soporte del usuario Alberto Fumero

 

¿Te resultó interesante? Compártelo ...



elMor3no

Publicado por elMor3no

http://gutl.jovenclub.cu » Forma parte de GUTL desde el 6 diciembre, 2011. Usuario de GNU/Linux desde hace varios años. Coordinador Nacional de GUTL.

Este artículo tiene 2 comentarios

  1. Sipe…
    Soy radioaficionado (CO7WT) y muchos de los equipos de radio usan softwares para el ya extinto MS-DOS a la hora de programarlos, ajustarlos, etc…

    Como fiel usuario del FLOSS ya me habia picado ese bichito y encontré la misma solución que comentas… y funciona de maravillas, con el añadido que no tengo que reiniciar la PC para programar un radio…

    En mi caso no fue en internet la solución, como comentan aquí a cada rato, fue la pura curiosidad/necesidad y un buen rato urgando en las páginas de manual/ficheros de config…

    73
    PS: 73 significa saludos en el argot de los radioaficionados…

Los comentarios están cerrados.