一个小背景:我有一部目前运行Android14.1( LineageOS 7.1.2)的一加一手机。这款手机使用的SoC是高通MSM8974ACPro,基带版本为mpss.di.3.0.c6-00241-m8974aaaaanazm-1。我用python写了一个小的串行控制台,我用它向设备'/dev/smd11‘(调制解调器)发出AT命令,波特率为115200。根据命令'AT+CGMM‘的响应,调制解调器的型号仅为Qualcomm的'4083’。
问题:出于实验目的,我尝试通过控制台呼叫BBS (或任何其他串行数据调制解调器),看看我能得到什么样的响应。命令'AT+FCLASS‘返回0,2.0,表示调制解调器支持传真类别2.0。我认为这可能意味着调制解调器具有某种ADC功能。我还记得看到了v.24和v.25的支持,但我已经记不清是哪个命令导致了这种情况。
当我使用ATDxxxxxxxxxx命令发出呼叫时出现问题。我可以通过在号码后面附加分号来拨打语音呼叫,但我的理解是,在拨打数据呼叫时需要排除这一点。当被排除时,调制解调器立即返回‘无载波’消息。
那么,有没有办法来验证我正在做的事情是可能的呢?我正在寻找的不是是或否的答案,而是其他命令,可以帮助我更好地理解我的电话调制解调器,或者如果我的命令用法错误,我应该如何纠正它。
任何帮助都是非常感谢的!
发布于 2018-06-10 06:23:25
当你实际想要测试对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
列出所有可用的命令(可选命令,但通常是实现的)。
对于获得NO CARRIER
的情况,您可以尝试使用AT+CMEE=2
启用扩展的错误报告,尽管这通常不会影响ATD
。
https://stackoverflow.com/questions/50747273
复制相似问题