Com0com

From ReactOS Wiki
Jump to: navigation, search

com0com is a free utility to create virtual serial port pairs that can be used to capture the debug output of ReactOS and direct it to a terminal program.

Useful terminal programs that are able to get this output include:

Setup

Get com0com and install it.

Icon speedy deletion.png Warning: For x64 versions of Windows (Vista, 7, 8+) a signed driver is required. The last com0com driver version signed available on SourceForge is the 2.2.2.0. A signed version of the latest com0com driver version 3.0.0.0 can be found at powersdr-iq/downloads (files: setup_com0com_W7_x86_signed.exe and setup_com0com_W7_x64_signed.exe).


It will automatically install a pair of virtual COM ports "CNCA0" and "CNCB0" that are linked by a virtual null-modem cable. You can optionally change the names and edit the settings with the GUI setup tool (setupg.exe). In this example, they are named COM3 and COM4.

Setupg page

IMPORTANT: After that, click on Apply. Windows will detect "new hardware", click on Next and let Windows find and install the "com0com serial emulator" hardware.

You are done.

Connecting the virtual machine and terminal application

Connect the Virtual Machine to your first virtual port ("COM4") and the terminal application to the second ("COM3").

In the below example we connect the virtual machine to virtual port COM4 and putty to Virtual Port COM3.

Vbox reactos.png
Putty reactos.png

The properties of the serial port (usually specified in the virtual machine), like the baud rate, are not important. Instead, be sure to select "NO FLOW CONTROL", because otherwise, the terminal app won't receive any characters.


What does com0com do?

Com0com sys.png

The virtual machine shows a COM1 port to ReactOS which is used for sending debug messages. The virtual machine maps this port to a virtual port visible to the host operating system.com0com emulates a null modem cable between the VM and the terminal application. For reference, the COM4 in the picture represents COM4 and COM5 represents COM3.