Android:如何读取低级网络信息(RSCP,EcN0,第3层信令)?

时间:2013-01-29 14:25:29

标签: android gsm at-command umts

我正在尝试创建用于测量类似于QualiPoc的2G 3G网络的Android应用。

我知道有用于收集网络信息的基本Android API,例如:How to know Location Area Code and Cell ID in android phone

但是,此API相当有限,并不充分(例如:在我的手机上,RSCP值每10秒刷新一次......)

由于我的手机已经植根,我已经设法在高通调制解调器/ dev / smd0上运行基本的AT命令 How to send a command to android and then get its answer?

我应该使用哪些AT命令来读取RxLevel,RXQuality,CellID,LocationAreaCode,RSCP,EcN0,CQI?

是否可以使用AT命令读取3级信号?

是否有更好的Android Qualcomm API来获取这些信息?

什么是Gobi / QMI界面,是否可以用于阅读网络数据?

3 个答案:

答案 0 :(得分:3)

  

我应该使用哪些AT命令来读取RxLevel,RXQuality,CellID,LocationAreaCode,RSCP,EcN0,CQI?

AT + CREG?给出CellId和LAC

+ CSQ以dBm和RXQUAL

给出RSSI

有关标准3GPP AT命令,请参阅3GPP TS 27.007,可从www.3gpp.org获得。 您的设备可能也支持一些特定于制造商的AT命令。

  

是否可以使用AT命令读取3级信号?

不,您无法读取RRC消息,只能从中选择参数。 您可以使用Qualcomm诊断工具读取第3层信令消息,但您必须与Qualcomm达成协议才能获得这些消息。

  

是否有更好的Android Qualcomm API来获取这些信息?   什么是Gobi / QMI接口,是否可以用于读取网络数据?

Gobi / QMI是Qualcomm界面。还有关于Qualcomm设备支持的AT命令的信息 Qualcomm documentation

希望这有帮助。

答案 1 :(得分:0)

在终端窗口中,你可以运行一个例如(busybox)awk脚本来处理logcat -b radio的输出,产生例如,

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

无论如何," logcat -b radio"可能已经包含了您正在寻找的所有内容。

答案 2 :(得分:-5)

在Android市场中有一个名为“RF Signal Tracker”的应用程序,它将为您提供RF级别以及Cell ID信息。