Android: How to read low level network info (RSCP,

2019-04-09 18:17发布

问题:

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?

回答1:

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.



回答2:

In a terminal window you can run an e.g., (busybox) awk script that processes the output of logcat -b radio, producing e.g.,

16:33:18 CREG: 1, "28D6", "01C6B623", 2
[10454 29799971 00454 46627]
16:33:19 ECSQ: 8, 99, -392, [-98] -455, -62

Anyway, "logcat -b radio" might already contain all that you are looking for.



回答3:

There is application in Android market called " RF Signal Tracker" this will give you RF levels along with Cell ID info.