I’m a “C” programmer. Our Windows XP based application currently talks to a number of different CDMA modems through their SDK API calls (e.g. the Sierra 597 family of cards, the Novatel family of CDMA cards etc) on the Sprint network. When using these SDK’s, we simply initialize the cards and then use Win32’s RAS API’s to establish our connection with the Sprint EVDO network. Then, we can retrieve information such as RSSI (signal strength) and GPS coordinates etc by simply calling the Sierra or Novatel SDK functions.
Now I have to do the same thing using the ATT GSM network using a WaveCom device. The only problem is that the WaveCom hardware only has one COM port to talk to and I’m forced to use AT functions through a COM port rather than SDK functions to talk to the WaveCom modem. I want to use Win32 RAS functions to establish the connection while being able to monitor Signal Strength readings while connected (just as I do with the Sierra and Novatel SDK’s).
The problem is that Win32 RAS wants to talk to COM4 (the only COM port offered up by the WaveCom device). When it tries to connect, it gains exclusive access to COM4. If I want to read Signal Strength while connected, I ALSO need to open COM4 (using the Win32 function CreateFile). The only problem is the fact that access to COM ports is limited to one guy at a time. Thus, if RAS has connected a call through COM4, I cannot use CreateFile to access COM4 to send AT commands that are necessary to monitor the Signal Strength (AT+CSQ?). Anyone have a knowledge of how to accomplish this? Thanks!