Puerto paralelo con VMWARE

En ocasiones no siempre es posible migrar todo el software a las últimas versiones, para sistemas anticuados (legacy) en los que es necesario utilizar el puerto paralelo (Line Print Terminal – LPT) en máquinas virtualizadas, por ejemplo dongles de seguridad, VMWARE no da soporte para tarjetas PCI de expansión oficialmente.

¿Por qué? El bus Peripheral Component Interconnect (PCI) nació en 1991 para unificar los buses ISA, VESA, EISA y MCA; si bien VESA era más rápido era dependiente del procesador, lo que implicaba tener que cambiar de placa si querías cambiar de microprocesador. Con esta mejora era posible conectar varios dispositivos al mismo tiempo en el bus, lo que al inicio era una ventaja, supuso un problema cuando se conectaban muchos componentes al bus sufriendo retrasos en la comunicación, de ahí que las tarjetas gráficas pasaran a su propia conexión (AGP) en aquel momento.

Simplificar siempre acaba siendo positivo, de la comunicación paralela en PCI se volvió a la comunicación en serie para PCIe, siendo generalizada en otras arquitecturas conocidas como Universal Serial Bus (USB) y Serial ATA (SATA).

¿Funciona con PCIe? Sí, es posible adquirir tarjetas adaptadoras como la Startech PEX1P y virtualizar el puerto paralelo. Debemos instalar los drivers en la máquina host y la virtualizada dependiendo del sistema operativo que vamos a utilizar.

Si pese a ello nos parece el mensaje de error:

Virtual device parallel0 will start disconnected.
Cannot open VMparport driver for LPT1: The operation completed successfully. Failed to connect virtual device Parallel0.

Debes iniciar explicitamente VMPlayer (o la versión que tengas instalada) como administrador.

Virtualización de THEOS Corona

Si lo más habitual es encontrar entornos Windows, Unix/Minix/BSD/Linux/Mac OS X… de vez en cuando te encuentras son sorpresas, como THEOS: The Operating System a camino entre MS-DOS y UNIX.

 

Un SO asociado a un dongle de seguridad con número de serie, los más antiguos con llave en puerto paralelo LPT, nació como base de programas para entornos empresariales en los que la prioridad era la fiabilidad y robustez… actualmente dada las pocas actualizaciones, funciones, desarrolladores… sería un opción poco recomendable…

Nos encontramos con un equipo antiguo, más de 15 años… muy antiguo que con sus achaques sigue funcionando, los requisitos no son nada de otro mundo, se contenta con 512 MB de RAM, disco IDE de 40 GB, procesador AMD Sempron… poco más que decir…

En caso de acabar necesitando instalar desde cero, cada uno de los dongles lleva asociado un código de autorizacion único, si necesitas reinstalar debes tenerlo o solicitarlo al distribuidor.

Casi cualquier equipo de hoy en día será capaz de virtualizar un equipo con estos requisitos, en nuestro caso la versión de THEOS es la más antigua de todas y con puerto paralelo para la mochila de seguridad, necesitaremos virtualizarlo con VMWARE (Hyper-V no permite LPT). Cualquier fallo en el hardware implica un soporte limitado debido a la escasa lista de compatibilidades.

Dado que tenemos nuestro equipo en funcionamiento vamos a ir por pasos:

  1. Apagamos correctamente THEOS Corona mediante el comando shutdown
  2. Conectamos el disco (IDE en nuestro caso) a otro equipo, con un adaptador a USB por ejemplo, es importante no dar formato al disco ni intentar montar las unidades, aunque THEOS tiene soporte para otros formatos, seguramente utilice el suyo propio en la instalación (THEOS/LFS).
  3. Realizamos una clonación/imagen completa del disco, por ejemplo con Macrium, y generamos un fichero con todo el contenido.
  4. Configuramos una máquina virtual con 1 procesador y los mismos 512 MB de RAM en este caso, repasamos el archivos de configuración para asegurarnos la compatibilidad de la tarjeta de red, algunas aplicaciones podrían tener relacionada la dirección física de red, por lo que se recomienda utilizar la misma MAC que el sistema original
    ethernet0.virtualDev = "e1000"
    ethernet0.generatedAddress = "00:0A:BC:CD:EF:GH"
    ...
    parallel0.bidirectional = "FALSE"
    parallel0.fileName = "LPT1"
    parallel0.present = "TRUE"
  5. Con el disco virtual en blanco configurado, añadimos una imagen ISO de Hirens y arrancamos desde el CD la utilidad de Macrium para restaurar el disco tal como estaba en la máquina. Es posible que debas configurar más RAM para el arranque completo de Hirens (2 GB) y luego volver a 512 MB una vez restaurado
  6. Conectamos el dongle LPT y arrancamos, si todo ha ido bien tendremos virtualizado el equipo. No es necesario instalar drivers del dongle LPT en la máquina host.

Otros comandos que serán de utilidad en el proceso:

  • sh ospl: muestra la versión de THEOS, aunque aparece durante el arranque
  • setup net: configuración de la tarjeta de red, será necesario eliminar la antigua y añadir la nueva virtualizada, requiere usuario SYSTEM con permisos
  • show, muestra información básica del sistema
  • show serial, muestra el número de serie del dongle de seguridad conectado
  • disk x (boot, donde «X» es la unidad de disco a reparar el arranque
  • disk s, muestra información de los discos del sistema

Algunos ponen en valor que aplicaciones de hace 20 años sigan funcionando sin incidentes, las funciones y opciones son también de hace 20 años, THEOS no ha evolucionado con la industria, «pero funciona».

 

Enlaces de interés: