File Not Found (winerror 2) in Serial/Pipe/Mailslot Monitors on Windows

Symptoms

Starting the Serial Monitor, Named Pipe Monitor or Mailslot Monitor plugin and pressing the Capture button yields:

Session started
Cannot start capture: The system cannot find the file specified.

It might seem like the error refers to the target device (the one being monitored). The user may double-check the device name, try to open it in another application to make sure it’s available, but the error in IO Ninja still persists.

Details

Chances are that this error refers to the absence of the Tibbo Device Monitor service, and not the target device itself.

Note

An incorrect name for the target device would yield the same error – both operations essentially result in opening a file by name and Windows reports a bad name with the same error code 2.

Tibbo Device Monitor service is required for operation of Serial Monitor, Named Pipe Monitor or Mailslot Monitor plugins. It is used to intercept communications between applications and drivers and it consists of two kernel-mode filter drivers and a user-mode command-line configuration utility. If you installed IO Ninja using a portable .7z package, your system most likely doesn’t have Tibbo Device Monitor installed (7z packages contain only IO Ninja executable files and scripts). It’s also possible that you used an .msi installer but manually unchecked the optional Device Monitor component during installation.

To double-check the status of the Tibbo Device Monitor service, run Window Command Prompt (Win + R, cmd, Enter) and type:

cd "C:\Program Files\Tibbo\DeviceMon 3\bin"
tdevmon.exe --stats

Most likely, when you enter the cd command, you will see:

The system cannot find the path specified.

It means Tibbo Device Monitor is not currently installed. If the service is installed but isn’t loaded at the moment, the output will be:

tdevmonc.sys stats are not available: The system cannot find the file specified.
tdevmonp.sys stats are not available: The system cannot find the file specified.

In either case, the easiest solution would be installing Tibbo Device Monitor with an .msi package as described in the next section.

Solution

To remedy the problem, you need to install (or re-install) a Tibbo Device Monitor .msi package – it will automatically create, configure and start all the necessary services.

  1. Download the latest Tibbo Device Monitor package for your CPU from:

    http://ioninja.com/downloads.html

    For example, if you are running Windows x64, use tdevmon-3.x.x-windows-amd64.msi.

  2. Run the downloaded package accepting the default locations and confirming an administrative elevation prompt (if you have Windows UAC turned on).

  3. After the installer has completed, check the status of service. Run Window Command Prompt (Win + R, cmd, Enter) and type:

    cd "C:\Program Files\Tibbo\DeviceMon 3\bin"
    tdevmon.exe --stats
    

    If everything is OK, you will see:

    tdevmonc.sys stats:
    
    Total devices:    0
    Connections:      0
    Pending requests: 0
    
    tdevmonp.sys stats are not available: The system cannot find the file specified.
    

    Note

    Don’t let the last line worry you – tdevmonp.sys is normally unloaded and is not required in most cases (it’s a PnP filter used for early-attach to PnP devices unaccessible otherwise).

Congratulations! Tibbo Device Monitor is installed and ready to use (e.g., via Serial Monitor).