VMware Communities
gv3
Contributor
Contributor

Using virtual serial ports between two machines?

Hi,

I am attempting to use Fusion in the same what that I use Workstation, in that I have two VMs connected over their serial ports, one for console and one for serial debug. I cannot seem to get this to work with Fusion. What am I missing?

Best,

George

Reply
0 Kudos
8 Replies
gv3
Contributor
Contributor

OK, so it turns out that though the UI does not support the pipe and client/server settings for serial ports, the vmx file does. I now have this on the client side:

serial0.present = "TRUE"

serial0.fileType = "pipe"

serial0.pipe.endPoint = "client"

serial0.yieldOnMsrRead = "TRUE"

serial0.startConnected = "TRUE"

serial0.fileName = "/Volumes/Virtual Machines/VMware/Serial/devbox_com1"

and this on the server side:

serial0.present = "TRUE"

serial0.fileType = "pipe"

serial0.yieldOnMsrRead = "TRUE"

serial0.startConnected = "TRUE"

serial0.fileName = "/Volumes/Virtual Machines/VMware/Serial/devbox_com1"

and all is happy.

Best,

George

Reply
0 Kudos
hawbaker
Contributor
Contributor

about the file, devbox_com1:

what kind of file is it ? is it within a VM package or outside ? How do I have to create it ?

Message was edited by:

hawbaker

Reply
0 Kudos
RDPetruska
Leadership
Leadership

It should be an ASCII text file on your host - in exactly the path spelled out.

Reply
0 Kudos
sharris595
Contributor
Contributor

Hi!

I'm trying to use serial ports to communicate between XP VMs running under VMWare Fusion on MAC OS/X. I created the file as specified here (though I don't have the /Volumes/Virtual Machines/VMWare paths I see here-is there something I'm missing? I just created a plain text file on my Mac to handle the traffic, and I set the attributes to be all read-write. I edited my VMWare images to have the same settings as specified here, although Fusion complains that these are non-standard and unsupported settings. Anyone get Hyperterminal to work between VMWare images? I set the baud rate to the same, and no hardware flow control on the serial ports. The default support for serial ports in Fusion is just for files, but I wasn't able to map both images to the same file to share serial port communication, for example. Any thoughts on how one might get this to work? Thanks!

Best,

Steve

Reply
0 Kudos
WoodyZ
Immortal
Immortal

Have a look at: VMware Fusion menu > Help > VMware Fusion Help > Managing Virtual Machines > Adding and Configuring a Serial Port

Reply
0 Kudos
sharris595
Contributor
Contributor

Hi-

I see that the VMware Fusion help only allows serial ports on the Mac to be actual files. When I try to specify two VMs using the same file, I get a message from the VM that starts second that the file already exists, and asks whether it should append or overwrite the original file. Does this mean that communicating via serial ports for VMs is not possible? Would writing a quick shell script to read and echo the output of one file into another file work if I mapped each VM to a serial port to a different file, and used this shell script to communicate between them?

Thanks!

Steve

Reply
0 Kudos
WoodyZ
Immortal
Immortal

Using the information in in the post above (http://communities.vmware.com/message/748577#748577) I had no problem establishing open communication between two XP Virtual Machines, so it does work.

Reply
0 Kudos
testell
Contributor
Contributor

Got this working as well. Using Fusion to debug a WinXP vm from another WinXP vm.

On the machine running WinDbg I added the following lines to the .vmx file. Serial0 was already setup for thinprint so I'm using serial1.

serial1.present = "TRUE"

serial1.fileType = "pipe"

serial1.yieldOnMsrRead = "TRUE"

serial1.startConnected = "TRUE"

serial1.fileName = "/tmp/dev_com"

serial1.pipe.endPoint = "client"

On the target machine I added the following lines to the .vmx file.

serial0.present = "TRUE"

serial0.fileType = "pipe"

serial0.yieldOnMsrRead = "TRUE"

serial0.startConnected = "TRUE"

serial0.fileName = "/tmp/dev_com"

Then started up the target vm, edited the boot.ini file to add "/debugport=COM1 /baudrate=115200".

Now start up the windbg vm, launch WinDbg, then File | Kernel Debug. Selection serial, COM2, check the box for reconnect.

Restart the target vm. Should see output in the WinDbg command window and "Debugee is running..."

Thanks!

Reply
0 Kudos