Android: How to read low level network info (RSCP, EcN0, Layer 3 Signalling)?

Emir picture Emir · Jan 29, 2013 · Viewed 9.5k times · Source

I'm trying to create android app for measuring 2G 3G network similar to QualiPoc.

I'm aware that there is basic Android API for gathering Network Info, for example: How to know Location Area Code and Cell ID in android phone

However, this API is rather limited, and not sufficient (for example: on my phone RSCP values are refreshed every 10 seconds...)

Since my phone is rooted, I've managed to run basic AT commands on the qualcomm modem /dev/smd0 How to send a command to android and then get its answer?

What AT Commands should I use to read RxLevel, RXQuality, CellID, LocationAreaCode, RSCP, EcN0, CQI?

Is it possible to read Level 3 signalization by using AT Commands?

Is there better Android Qualcomm API to get these informations?

What is Gobi / QMI interface and can it be used for reading Network data?

Answer

user1725145 picture user1725145 · Jan 31, 2013

What AT Commands should I use to read RxLevel, RXQuality, CellID, LocationAreaCode, RSCP, EcN0, CQI?

AT+CREG? gives CellId and LAC

+CSQ gives RSSI in dBm and RXQUAL

See 3GPP TS 27.007 for standard 3GPP AT commands, available from www.3gpp.org. Your device probably supports some manufacturer-specific AT commands as well.

Is it possible to read Level 3 signalization by using AT Commands?

No, you can't read RRC messages, only selected parameters from them. You can read the layer 3 signalling messages using Qualcomm diagnostic tools, but you have to have an agreement with Qualcomm to get these.

Is there better Android Qualcomm API to get these informations? What is Gobi / QMI interface and can it be used for reading Network data?

Gobi/QMI is the Qualcomm interface. There is also information about AT commands supported by Qualcomm devices at Qualcomm documentation

Hope this helps.