1

一点背景知识:我有一部目前运行 LineageOS 14.1 (Android 7.1.2) 的一加一手机。手机使用的 SoC 是高通 MSM8974ACPro,基带版本为 mpss.di.3.0.c6-00241-m8974aaaaanazm-1。我在 python 中编写了一个小串行控制台,我用它以 115200 波特向设备“/dev/smd11”(调制解调器)发出 AT 命令。根据命令“AT+CGMM”的响应,调制解调器的型号只是来自高通的“4083”。

问题:出于实验目的,我试图通过控制台调用 BBS(或任何其他串行数据调制解调器),看看我能得到什么样的响应。命令“AT+FCLASS”返回 0,2.0 表示调制解调器支持传真类 2.0。我认为这可能意味着调制解调器具有某种 ADC 功能。我还记得看到 v.24 和 v.25 支持,但我一生都记不起是哪个命令导致了这种情况。

当我使用 ATDxxxxxxxxxxx 命令拨打电话时,就会出现问题。我可以通过在号码后附加分号来拨打语音电话,但据我了解,您需要在拨打数据电话时将其排除在外。排除后,调制解调器立即返回“NO CARRIER”消息。

那么,有没有办法验证我在做什么是可能的?我正在寻找的不是是或否的答案,而是其他可以帮助我更好地理解手机调制解调器的命令,或者如果我的命令使用错误,我应该做些什么来纠正它。

任何帮助是极大的赞赏!

4

1 回答 1

0

AT+FCLASS当您实际想要测试是否支持 CSD、电路交换数据(实际上是NTCSD)时,测试有点无关紧要。所以要检查第一个检查支持的命令是AT+RLP因为它包含 CSD 协议参数,并且当调制解调器支持 NTCSD 时必须存在。该AT+CBST命令对于任何类型的数据呼叫支持都是必需的。

如果这两个不受支持,则您的调制解调器不支持 CSD。

作为奖励,我为您提供了与 CSD 呼叫相关的所有其他命令的列表(不包括语音呼叫常见的命令,例如AT+CLIP等): 所有 HSCSD(高速电路交换数据)命令:AT+CHSN、AT +CHSD、AT+CHSC、AT+CHSR、AT+CHSU、AT+CHSA。以及 AT+DS AT+CR AT+ILRR AT+V120 和 ATO。

您可以顺便列出所有可用的命令AT+CLAC(可选命令,但通常实现)。

当你得到的情况下,NO CARRIER你可以尝试使用 启用扩展错误报告AT+CMEE=2,尽管这通常不会影响ATD.

于 2018-06-09T22:23:25.300 回答