2010-01-17

Tracing serial and USB ports on Windows

As part of a small project to get a USB broadband data modem working on Ubuntu, I needed to do a trace on Windows of the interaction with the modem on the serial port.




Tracing a serial port

HHD Software's Device Monitoring Studio is a good program for this. It can not only trace modem / serial port interactions, but also USB ports.

I downloaded V 5.24 trial version. As is usual with these products, the trial version comes full-function, but you have to buy the various functions as options.

At start-up, you only see the usual serial ports:





But when the USB modem is connected, then the software detects the new modems and COM ports:





This is a complex device which functions as a hard disk (that contains install software among other things), and then flip flops dynamically to become 2 USB broadband modems, as well as containing GPS functionality.

By trial and error, I found that in my configuration, the proper modem to trace was the Broadband Data Modem.

In DSM, click on this device, then select the processors that will process the trace to give different views of the data.








For my purposes, I found the Console & Data views to be the most useful. They give insight into the ascii data flowing to the modem which is useful to see the modem AT commands.

The "Statistics" view was also useful to determine if any data at all was going to the trace.

Click the "Start" button to load the processors. This brings up the "Stats" screen. If you don't have this screen, then move through the screens until you do. Either use the arrows provided, or Ctl-Tab.







Start using the modem, and check that the stats screen shows that the trace is working.







Playing back the trace

When you have finished the test, click on the button in the Tool bar to stop the trace. Enter a name for the log file. Then select Playback mode to use the trace file as a data source. See the diagram below.







Playing back the trace is much like doing the original trace. You select the processors to format the data stream and so on. The only difference is that the trace playback speed can be adjusted from 1:1 speed (ie all delays are included in the playback) through to continuous playback.


Tracing USB

Tracing a USB port is much the same. To accomplish this you need to download / install the corresponding module for USB.

When installing, re-install everything. Otherwise the USB piece will be installed and the serial piece will be removed.

The USB trace contains specialized processors for formatting the traces for the usual kinds of USB interaction including HID, video, sound, and mass storage. As with the serial port monitor, there are also processors to show the raw protocol / driver interactions.

No comments: