从Redmi 7的adb shell运行AT命令

问题描述 投票:1回答:1

我尝试过:

echo -e "ATD123456789;\r" > /dev/smd0

然后当我跑步时:

cat /dev/smd0

我得到了这个输出:

ATD123456789;

是我应该看到的吗?手机没有响应该命令。

linux gsm at-command adb-shell
1个回答
0
投票

您可能知道,命令

ATD<number>;\r

对目标号码<number>执行语音呼叫(没有分号;,呼叫类型将取决于AT+FCLASS命令的当前设置)。

默认情况下,OK结果代码将在开始远程响铃时立即接收,因此几秒钟后。但是,如果出现网络问题或远程号码不可用/不存在,则将花费更多。

ATD命令在语音通话中的默认超时为30秒,可以通过发出ATS7命令进行更改。例如,设置1分钟超时:

ATS7=60

您得到的答案是命令回显:实际上,调制解调器默认情况下会回显发送到其AT端口的每个字符(可以通过ATE0命令禁用回显,并通过ATE1重新启用) 。接收到它**证明调制解调器已正确打开电源并且可以正确通信。

因此,即使我知道这不是您期望看到的唯一东西(您希望看到答案!),您实际上应该看到它。


一些建议以接收您的答案:

  1. 开始提供更短的超时时间的命令。例如非常基本的AT
  2. 确保至少等待最大命令超时
  3. 在后台以及开始提供命令之前设置cat命令:
    cat /dev/smd0 &

    echo -e "AT\r" > /dev/smd0
    OK

注意:cat命令中我不知道有任何超时。

© www.soinside.com 2019 - 2024. All rights reserved.