android - 在 Android 上使用 AT 命令与调制解调器通话

标签 android at-command

我正在尝试通过发送 AT 命令与 samsung galaxy s2 plus 和 huawei p1 xl (u9200) 调制解调器通话,但无法获得任何结果。我正在使用 adb shell 发送命令并使用 logcat 查看日志。

在三星中,当我执行 cat /proc/tty/drivers 时,我得到以下信息:

/dev/tty             /dev/tty        5       0 system:/dev/tty
/dev/console         /dev/console    5       1 system:console
/dev/ptmx            /dev/ptmx       5       2 system
/dev/vc/0            /dev/vc/0       4       0 system:vtmaster

rfcomm               /dev/rfcomm   216 0-255 serial
g_serial             /dev/ttyGS    237 0-3 serial
serial               /dev/ttyS       4 64-67 serial
pty_slave            /dev/pts      136 0-1048575 pty:slave
pty_master           /dev/ptm      128 0-1048575 pty:master
unknown              /dev/tty        4 1-63 console

看起来我应该向 /dev/ttyGS0 发送命令,但它没有回复。我尝试了以下命令:

echo "AT\r" > /dev/ttyGS0
echo "ATD12345678900;\r" > /dev/ttyGS0

但是没有任何反应。实际上,我不确定我是否必须向该文件发送命令,但其他人也不会回复。 我已经阅读了关于 XDA 开发人员的 article,但它没有帮助。

用华为我知道我应该使用哪个文件,但我无法进行数据通话。可以正常语音通话,但是不能执行AT+CSNS=4。只是行不通。我还有 LG P765,它基于类似的芯片组,在 LG 上我可以进行数据通话。谁能告诉我该怎么做?

所有设备都已 root。

最佳答案

我建议您尝试使用 atinout 程序发送 AT 命令,例如而不是将输出重定向到调制解调器设备运行

echo "ATD12345678900;" | atinout - /dev/ttyGS0 -

我在猜测,但可能是 adb shell 中的 echo 命令没有将 \r 解释为任何特殊内容(这至少可以解释没有任何响应)。通过使用 atiout,您可以保证 AT 命令行以 \r 正确终止,并且捕获应该更简单并且工作更可靠。

关于android - 在 Android 上使用 AT 命令与调制解调器通话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17718545/

相关文章:

android - 白色背景上的进度条

Android:如何从 TextView 链接本地 HTML 文件

java - 如何找到两个日期之间的年数?

stm32 - 回调函数在 stm32 Hal 库中是如何工作的?

java - 如何在事务内将文档添加到 Firebase 集合?

android - 带有 JSON 字符串的 HTTP post

sockets - 同时管理来自两个进程的串口

http - 使用 SIM 900 中的 gprs 连接向服务器发送数据时收到错误的请求响应

linux - 发送modem AT指令及解析结果

tcp - 为什么IP地址和TCP连接已经建立,SIM卡响应AT+CIPSEND “+CME ERROR: operation not allowed”?