VMWare Serial Line Gateway
VMWare
Workstation can redirect a bidirectional serial port to a named
pipe of Windows NT/2000/XP. But currently I do not know of any
terminal program which can connect to a named pipe (is it time to
write one???). So the easiest way was to implement a gateway,
redirecting the named pipe to a tcp port and vice versa. The result is
a tiny server which can run as an NT service. Currently, it only
allows a single tcp connection and supports only one fixed pipe
name.
Installation
Simply copy VMWareGateway.exe to any
directory of your box (e.g., C:\Program Files\VMWareGateway).
Commands
| /T |
Interactive Testmode prints connects of pipe and socket |
| /V |
Verbose mode for testing lots of printouts |
| /R |
Registers VMWareGateway as an NT service. |
| /U |
Unregisters the Service |
| /H |
prints a short help |
Run it...
First you should test the gateway from a command prompt:
vmwaregateway /t Now connect with you favorite
telnet program to localhost 567. The gateway
should print out a connect message. Now it is time to setup your
VMWare machine. If you have VMWare 2.0 installed that is pretty
straight forward - go to Settings/Configuration Editor and set
the device type of a serial line to pipe. The name of the pipe is
\\.\pipe\vmwaredebug. Now start your VMWare
box. Directly afterwards the gateway should confirm the connected
pipe. (Using VMWare 1.0 you have to setup the named pipe manually
in your configuration's .vmx file. For detailed information refer to
VMWare's homepage.)
Run as a service...
If everything works fine you can setup the gateway as a
service. Simply type vmwaregateway /r and start
the service with net start vmwaregateway
afterwards. Now everything works like before. The service is not
enabled at boot time. So if you want the service starting
automatically, you have to do that by hand. (Control
Panel/Services)
Source Code...
The source code can be
used for whatever you like. If you extend the functionality it would
be nice to get the upgrade (e.g. parameter for names and tcp ports,
multiple clients accessing one named pipe...).
Usage...
Of course I do not guarantee for anything and you use this tool at
your own risk :)
VMware 3.0
When using VMware 3.x you have to set the serial port to "This end is
the client" and "The other end is an application". The gateway has to
run before the virtual machine is started. (Note that VMware 2.0 is
not supported!)
Volkmar Uhlig, 12/19/2002
|