VMware serial port access
VMware offers its own method to connect the host’s peripherals to a virtual machine. With VMware, you are able to create from 1 to 4 virtual serial ports in your VM. After being added, the virtual ports give you a way to communicate with real serial ports residing on your host machine and to output to a file or a named pipe.
Why use VMware for serial port connection? The scenarios are many. For example, it would let you control your modem or printer from a guest OS. Or you could exchange data between a virtual and real or two virtual machines when debugging a serial port device, etc.
If you want to know how to add a virtual COM port to VMware, here’s a simple guide:
- First, make sure your virtual machine is powered off.
- Then, choose the virtual machine and go to Player > Manage > Virtual Machine Settings.
- In the VM settings, open the Hardware tab and click the Add button.
- When the Add Hardware wizard opens, select the Serial Port option
- Click Finish to complete the procedure.
Once done, you can choose where the virtual port that you’ve just added will send data. You will have the following options:
- “Use a physical parallel port” - if you choose this, your VMware serial port’s data will be redirected to a hardware serial port of your host machine.
- “Use output file” - in this case, the virtual port’s output is sent to a file that you specify.
- “Output to named pipe” - this option lets two guest systems connect directly. Also, you can use it to exchange data between a virtual machine and a program on your host computer.
If you choose to output to the named pipe, you should make some configurations for your named pipe:
If you have a Windows host, you can either opt for the default pipe name or enter the one you prefer. It’s important that the name does not differ on the server and client. You should use the same name that will begin with \\.\pipe\
E.g.: \\.\pipe\namedpipe
When you have a Linux host, the name of the pipe can be /tmp/socket or another UNIX socket name. Make sure the name is the same on both the server and the client.
If your goal is to redirect some debugging info to a utility installed on the host, you should do the following:
In the first drop-down list, select This end is the server. In the second drop-down list, select The other end is an application.
Want to connect to another VM? Choose the server in the first drop-down list and The other end is a virtual machine in the second one.
VMware ESXi and serial port connections
VMware provides the ESXi Server - a software product for computer virtualization enterprise-wide. This solution is designed to simplify the centralized management of corporate desktops and software.
When it comes to COM port connections, the ESXi Server offers the ability to send data to the named pipe and to network serial ports.
With ESXi, a serial port may be accessed via a server or client connection. Depending on the connection type you select, the system will either wait for a connection or initiate it. A server connection is usually selected when it’s required to control a virtual machine over a serial port. While a client connection is more preferable when you use a serial port for logging. In this case, the VM will be able to connect to the logging server once the guest OS starts and disconnect if it stops.
What serial ports ESXi can work with
VMware ESXi allows you to work with up to 32 serial ports. The serial ports that are residing on your motherboard can be easily redirected to a virtual machine from an ESXi host.