com0com Null-Modem Emulator and Utilities for Windows
A suite of drivers and tools offering virtual serial ports, serial port redirection, and more.
Known Driver Signing Issues
Due to driver signing issues reported with the releases posted on the legacy SourceForge project site when installing on Windows 10, version 1607, or newer, multiple different com0com versions are posted here.
Problem Synopsis
Per Windows Driver Signing Policy, “Starting with Windows 10, version 1607, Windows will not load any new kernel-mode drivers which are not signed by the Dev Portal.”
Permitted Exceptions to the Driver-Signing Policy
Per that same policy page, there are three exceptions to the “signed by the Dev Portal” requirement:
- The PC was upgraded from an earlier release of Windows to Windows 10, version 1607.
- Secure Boot is turned off in the BIOS.
- Drivers were signed with an end-entity certificate issued prior to July 29th 2015 that chains to a supported cross-signed CA.
(For a more in-depth consideration of driver signing, please refer to Practical Windows Code and Driver Signing.)
For most end users, the only practical exception option would likely be turning of Secure Boot in the BIOS, but of course there are tradeoffs to doing so. Given these issues, there are multiple different ways to attempt installation.
Alternative Driver Signing Workaround
Driver Signature Enforcement Overrider: A permanent solution to load unsigned kernel-mode drivers by using TESTSIGNING mode with a test-signed digital certificate (suggested only as a last resort).
Available Downloads
| Name | Description |
|---|---|
| com0com v3.0.0.0 - Signed | These drivers were signed by the "signed-drivers" project on SourceForge and are not from the com0com downloads page on SourceForge for v3.0.0.0 |
| com0com v3.0.0.0 - Manual Install - Signed | These drivers were also signed by the "signed-drivers" project on SourceForge, but the difference with this download is that installation must be performed manually. Two executables—setupc.exe and setupg.exe—are also provided to assist with this, but please refer to the bundled ReadMe.txt for usage details and instructions. |
| com0com v3.0.0.0 - AltSigned | These drivers were signed by another SourceForge user back in 2012 and so might help some users avoid the July 29, 2015, certificate issuance date cutoff |
| com0com v2.2.2.0 - Signed | Some users have reported success using the earlier v2.2.0.0 release of com0com, potentially because this signing would have predated the July 29, 2015, cutoff. These files are from the com0com downloads page on SourceForge for v2.2.2.0. NOTE: Please be sure to fully remove v3 before attempting to install v2.2.2.0 |
The com2tcp and hub4com releases do not bundle their own drivers, so driver signing has not been an issue with these.
Forks of com0com
As the com0com SourceForge project has not been updated in quite some time, below is a curated list of links to forks of com0com or one or more of its sub-projects (including com0com, hub4com, and com2tcp).
- Full suite (com0com, hub4com, com2tcp)
- datamancer
- Updated projects to Visual Studio 2015 for all components
- Includes selected patches and minor modifications
- Import from SourceForge with commit history
- Mirror of binary uploads of releases of com0com v3.0.0 and hub4com v2.0.0 (the functionality of com2tcp can be replicated by appropriately configuring hub4com)
- datamancer
- com0com only
- apal0934: Refactored and updated for Visual Studio 2022 and WDK/SDK building processes
- Notes fixing various issues
- Enables 9-bit communication
- KangLin: Updated for MSVC 2015 + WDK 10
- Import from SourceForge with commit history
- apal0934: Refactored and updated for Visual Studio 2022 and WDK/SDK building processes
- com2tcp only (NOTE: hub4com is capable of providing all the functionality of com2tcp)
- u-blox: Updated to compile under Microsoft Visual Studio C++ 2017
- hub4com only
- hub4com-mingw: A fork of hub4com that builds with MinGW
- Extensions and utilities
- NullModemEmulator: A .NET library for interfacing with com0com (NuGet package)
- Com0com.Redirector: A GUI convenience app for com2tcp/hub4com with several forks (uncertain of the most current)
- Raggles
- datamancer: Latest updates are not as recent
- rskibbe.IO.Ports.Com.Virtual.Windows.Com0Com: A helper library for working with com0com
- com0com Docker with Windows Container
- comtrace2csv: Converts hub4com trace data to CSV
- ngrok4com
- A hub4com GUI and KiTTY helper for configuring remote devices by serial port
- Helps KiTTY communicate with a hub4com over firewalls via ngrok.com
Related Projects
The hubub project (archived here under the BrickBot organization) can potentially offer additional TCP communication capabilities.