Modem signal strength

Feb 16, 2010 at 11:07 AM

Hi

I am using DotRas to connect to a mobile network (GPRS). I tried using the InternetAutodial and InternetAutodialHangup in wininet.dll first, but the hangup method didn't work so I stumbled across your wrapper and everything works fine, thanks! I was just wondering if there is a way to get the signal strength from the modem connection somehow? I did get the RasLinkStatistics but I only found the LinkSpeed there. As this is a mobile network I'm connecting to, the signal strength is obviously not constant and I'd like to show this in my application.

Thanks

 

Coordinator
Feb 16, 2010 at 3:55 PM

I'm glad to hear it's working well!

Unfortunately no, there is no way to pull signal strength from your modem from DotRas. Hardware querying and such has not been put into the project yet, and probably won't be for a while at this point. You might be able to use WMI to get the data from the modem since that information is probably specific to each device. I would probably start by finding if signal strength is reported by anything, OS, application, whatever and then attempt to track down how they're seeing it. If the OS is reporting the signal strength to you, then WMI will be your best place to start.

Good luck on your project!

Editor
Feb 22, 2010 at 3:05 PM

nicolasm, you can also try to see if your device has an API or AT commands you can send it via a "virtual" COM port. Many of the devices I've dealt with have such features, though they are usually very arcane.

Mar 15, 2010 at 3:37 PM

 

Hi Nicolas
I think in your question, and can you take into consideration the AT  commands is standard methods, and you can send commands via Serial COM by interface NMEA for your modem, in particular the command AT +CSQ responds the signal strength.
you can use System.IO.SerialPort Class for this purpose, for example 
Command Send :
AT+CSQ?
Response :
+CSQ: 30,99
Parsing and organization the response to to logaritm value 
excuses for my english is very bad
Regards 
Camilo Garcia
Bogotá Colombiá

 

 

Hi Nicolas

 

I think in your question, and can you take into consideration the AT  commands is standard methods, and you can send commands via Serial COM by interface NMEA for your modem, in particular the command AT +CSQ responds the signal strength.

 

you can use System.IO.SerialPort Class for this purpose, for example 

 

Command Send :

AT+CSQ?

 

Response :

+CSQ: 30,99

 

Parsing and organization the response to to logaritm value 

 

excuses for my english is very bad

 

Regards 

 

Camilo Garcia

Bogotá Colombiá

 

Dec 1, 2010 at 2:52 AM

GPRS means you are using GSM Modem.
You can monitor the signal strength by trapping the ^RSSI event from the com port.
You can issue AT+CSQ? and trapp the result +CSQ: xx,yy where the xx is the signal strength.