【问题标题】:Run AT commands from adb shell on Redmi 7在 Redmi 7 上从 adb shell 运行 AT 命令
【发布时间】:2020-10-06 01:39:25
【问题描述】:

我试过了:

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

然后当我跑的时候:

cat /dev/smd0

我得到了这个输出:

ATD123456789;

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

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

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

【问题讨论】:

  • 您介意我添加 linux 标签吗?我看到你使用的是安卓,但它也适用于 linux。
  • 不,当然。我加了,谢谢。
  • 您的 +CMGS 问题解决了吗?你可以在cmets这里问,如果可以的话我会帮忙的。无论如何,如果它不是重复的,最好问一个不同的问题。
  • 这不完全是重复的,我没有找到关于 Redmi 7 的具体问题与我遇到的问题。几分钟前效果很好,现在又不行了,我不知道为什么。请在下面接受的答案中查看我的 cmets。

标签: linux gsm at-command adb-shell


【解决方案1】:

你可能知道,命令

ATD<number>;\r

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

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

ATD命令在语音通话中的默认超时时间是30s,可以通过ATS7命令来改变。例如,设置 1 分钟超时:

ATS7=60

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

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


为了得到你的答案的一些建议:

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

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

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

【讨论】:

  • 我运行了这个命令: /dev/smd0> 我得到了这个:然后如果我按 Enter 键,我会得到:。一切都没有''。
  • 现在好像可以了,谢谢! onc:/ # cat /dev/smd7 & echo -e "AT+CMGF=?;\r" > /dev/smd7 output: [2] 18311 onc:/ # AT+CMGF=?; +CMGF:(0-1)好的
  • 现在我又得到了“AT+CMGF=?;”作为输出而不是“OK”。会发生什么变化?
  • 我的外壳上有这个:。它是 130,在我运行 Ctrl+Z 后它变为 127。当命令起作用时,我根本没有数字。这些数字是多少?
  • 是的,我认为“echo -e”中的“-e”应该这样做..
猜你喜欢
  • 2020-10-08
  • 2013-04-02
  • 1970-01-01
  • 2021-11-06
  • 2012-01-06
  • 1970-01-01
  • 2022-07-12
  • 2012-03-12
  • 2011-02-06
相关资源
最近更新 更多