在Redmi 7上运行adb shell的AT命令



我试过这个:

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

然后当我跑步时:

cat /dev/smd0

我得到了这个输出:

ATD123456789;

这就是我应该看到的吗?电话没有响应命令。

更新:当我使用 smd7 或 smd11 时,手机拨打了电话。问题是我正在尝试使用 AT+CMGS 发送短信,但它不起作用。

更新2:我运行以下命令:cat /dev/smd7 & echo -e "AT+CMGS=24;r" > /dev/smd7。 然后我输入PDU消息,得到这个:/system/bin/sh: 079...771B: not found

您可能知道,命令

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 "ATr" > /dev/smd0
OK

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

要进行交互式会话,您可以使用:
strace 2>/dev/null -e inject=ioctl:retval=0 microcom /dev/smdXX

如果没有 strace 命令,microcom 会返回一个 ioctl error.
Strace 使 microcom 认为 ioctl 成功,因此它允许它继续运行。

最新更新