用android上的AT命令与调制解调器交谈

时间:2013-07-18 08:38:16

标签: android at-command

我正在尝试与三星galaxy s2 plus和huawei p1 xl(u9200)调制解调器发送AT命令,但无法获得任何结果。我正在使用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我可以进行数据通话。谁能告诉我该怎么办?

所有设备都已植根。

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

请尝试使用不同的端口检查结果。

在我的android中,它在/ dev / pts / 7端口号下工作。

也使用不同的终端进行读写

1号航站楼:

echo -e "AT\r" > /dev/pts/7

2号航站楼:

cat /dev/pts/7

也尝试以root用户身份执行。