# Measuring signal strength of EVDO / 3G network from USB modems

If you are like me, you will constantly have the itch to get most range for your portable USB modem so that you can enjoy maximum speed, or so.All types of modems actually supports a set of commands categorized as AT Commands ( Also known as Hayes command set ).

# Windows

For running AT commands in Windows, you will need HyperTerminal , which is supplied along with Windows XP . But not with Windows Vista and  7 unfortunately. However, you can find it from the XP installation under the System32 folder. It will work  just as good in Windows 7/Vista.

Or else , you can go for an open source implementation named : TeraTerm .

## HyperTerminal

Once you have obtained a copy of HyperTerminal , proceed with the following steps :

1. Start HyperTerminal .
2. In the new connection window, Type in any name and click OK.
3. Select the COM port of your modem . (Try with each port for the step5 to show OK  if you aren’t sure which one to select ) .
4. Click Cancel for the COMxx Properties window, No need to bother with any of those settings.
5. It should be now connected to the COM port. If it’s connected , Type in “AT” and hit ENTER key. You won’t be able to see what you typed but you should be getting an OK as reply. This indicates that the COM port is responding and is valid.
6. Now that the COM port is responding, You can go ahead with the Signal Check. For that type “AT+CSQ” and hit ENTER key.
7. You should be getting a string like (30,99) . If you aren’t getting the string of this format, you have selected wrong COM port or your modem doesn’t support whole AT command set.

## TeraTerm

If you are using TeraTerm, You will have a different set of procedures but they are similar .

1. Start TeraTerm
2. Select “Serial” Checkbox .
3. Select the proper COM port. and press OK. If you are not getting any warnings, then the COM port is valid probably.
4. It should be now connected to the COM port. If it’s connected , Type in “AT” and hit ENTER key. You won’t be able to see what you typed but you should be getting an OK as reply. This indicates that the COM port is responding and is valid.
5. Now that the COM port is responding, You can go ahead with the Signal Check. For that type “AT+CSQ” and hit ENTER key.
6. You should be getting a string like (30,99) . If you aren’t getting the string of this format, you have selected wrong COM port or your modem doesn’t support whole AT command set.

# Linux

In linux, the procedure is very straightforward.

1. Open a terminal  and type
`ls /dev/ttyU*`

This lists all the files created for usb modems representing modem ports.

2. Open a new terminal tab for each interface. Use
```cat /dev/ttyUSB0
cat /dev/ttyUSB1```

etc. for the ports listed.  The data interface which you are looking for will be busy and the cat command will fail.

3. Open another terminal, and issue the AT
`echo "AT^M" > /dev/ttyUSB0`

where ^M is Ctrl-v plus Ctrl-m . and USB0 should be substituted with USB0, USB1 or whichever port you are targeting.

4. It should return”OK” if the port is responding properly.and it should.
5. Issue the AT commands
`echo "AT+CSQ ^M" > /dev/ttyUSB0`

for getting the signal power information in the format (xx,99) .

Now , after getting the response in the format (xx,99) . xx wil be a number on a scale of 0 to 31 with 0 being worst. That’s the RSSI  value .For converting it into dBM signal value , you should apply it into formula  $-113dBm - (xx X 2)$ . This will give a value between -113 dBm  and -51 dBm .   -51dBm is the best value.

Here’s a table for easy calculation

 RSSI Value Signal Power Meaning 0 -113dBm Very Poor 1 -111dBm 2 -109dBm 3 -107dBm 4 -105dBm 5 -103dBm 6 -101dBm 7 -99dBm 8 -97dBm 9 -95dBm Poor 10 -93dBm 11 -91dBm 12 -89dBm 13 -87dBm 14 -85dBm Average 15 -83dBm 16 -81dBm 17 -79dBm 18 -77dBm 19 -75dBm 20 -73dBm Good 21 -71dBm 22 -69dBm 23 -67dBm 24 -65dBm 25 -63dBm 26 -61dBm Best 27 -59dBm 28 -57dBm 29 -55dBm 30 -53dBm 31 -51dBm Excellent

Notes:

1. Almost all modems will have two COM ports delivering AT commands, while one of them is for data+status and other one just for status. Use the port for status alone to check signal levels during data transfer.
2. The modem softwares which comes along with modem will be using the above mentioned status only COM port for showing signal levels, hence you have to quit modem software to use the signal level check during data transfer.
3. You don’t need an active data connection to check signal levels. Just like cellphones.
4. I’m running BSNL EVDO . I have personally benefitted from analyzing the signal strength and placing the modem correctly. However, Improvement in signal strength will not be directly proportional to download speed. Several other issues such as network congestion can come into play.

## 3 thoughts on “Measuring signal strength of EVDO / 3G network from USB modems”

1. anand says:

Nicely described and helped to analyze and test the equipment.

2. Johnathan Park says:

You aren’t measuring “signal quality” that way. You are measuring signal STRENGTH. Big difference. You can have lousy quality even at a good signal strength.

Signal QUALITY is measured in Ec/Io for CDMA systems.