一点背景: 我有一台One Plus One手机,目前正在运行LineageOS 14.1(Android 7.1.2)。手机使用的SoC是Qualcomm 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的支持但是不记得我的生活中哪个命令导致了这个。
使用ATDxxxxxxxxxx命令拨打电话时出现问题。我可以通过在数字上附加分号来发出语音呼叫,但是我的理解是,您需要在发出数据呼叫时排除它。当排除时,调制解调器立即返回“NO CARRIER”消息。
那么,有没有办法验证我在做什么可能?我正在寻找更少的是或否的答案,而是其他命令可以帮助我更好地理解我的手机的调制解调器,或者如果我的命令使用不对,我应该做些什么来纠正它。
非常感谢任何帮助!
答案 0 :(得分:0)
当您真正想要测试CSD,电路交换数据(实际为NTCSD)的支持时,测试AT+FCLASS
有点无关。因此,检查第一个检查支持的命令是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
(optinal命令,但通常已实施)列出所有可用命令。
对于获得NO CARRIER
的情况,您可以尝试使用AT+CMEE=2
启用扩展错误报告,但这通常不会影响ATD
。