I have a D-Link DWM-156 3G USB modem that I want to send AT-commands to from my application (C# .NET 4.0 running on Windows XP SP3).
After plug-in and installation of drivers the modem shows up like this:
In Device Manager, two serial ports are added:
- D-Link HSPADataCard Diagnostics Interface (COM4)
- D-Link HSPADataCard NMEA Device (COM5)
In Control Panel, Phone and Modem Options, a new modem is added:
- D-Link HSPADataCard Proprietary USB Modem (attached to COM19)
QUESTION: Which com port should I use to send AT-commands, and at which speed?
I have tried all three ports at different speeds, but with no luck whatsoever.
In order to learn, I then installed the "Free Serial Port Monitor" sniffer app, hoping to be able to monitor the communication with the D-Link ustility as it opens and closes the internet connection (which works OK).
On start, the sniffer app asks me which port to monitor and offers me the following port names to choose from:
- "Agere Systems HDA Modem",
- "D-Link HSPADataCard Proprietary USB Modem",
- "COM3",
- "COM4",
- "COM5"
- ...and several more, including "COM19".
Choosing the "D-Link..." name works OK, now I can watch all the AT commands being used as they happen, but I cannot determine at which baud rate the port is used. Further, neither COM4, COM5 or COM19 works for sniffing this way (nothing seems to happen on those ports).
Now I would like to use the SerialPort class in .NET to open the "D-Link..." port and talk with the USB modem, but the SerialPort class requires the port name to start with "COM", otherwise an exception is thrown. But none of the ordinary COM-ports work. And I still don't know which baud rate to use. I'm pretty much confused and locked up here - what could I do to get to the bottom of this?