运行 红米 7 上来自 adb shell 的 AT 命令

Run AT commands from adb shell on Redmi 7

我试过这个:

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

然后当我 运行:

cat /dev/smd0

我得到了这个输出:

ATD123456789;

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

更新: phone 在我使用 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> 执行 语音呼叫 (没有分号 ; 呼叫类型将取决于 [=15] 的当前设置=]命令)。

默认情况下,OK 结果代码将在开始远程响铃时立即收到,因此在几秒钟后。但如果有网络问题或远程号码unavailable/doesn不存在,则需要更多时间。

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

ATS7=60

你得到的答案是命令echo:事实上调制解调器默认回显发送到它的AT端口的每个字符(回显可以通过[=19禁用) =] 命令并使用 ATE1 再次启用)。收到它**是调制解调器正确开机和正确通信的证明。

所以,尽管我知道这不是您希望看到的唯一内容(您希望看到答案!),但您实际上应该看到它。


为了得到您的答复的一些建议:

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

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

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