通过ADB Android发送AT命令

问题描述 投票:10回答:4

我有一项任务正在研究是否可以通过ADB shell将AT命令发送到Android设备。到目前为止,我已经尝试回显AT命令,但它将它们作为普通字符串传递。任何帮助请任何人。

android cmd adb at-command
4个回答
6
投票

请试试这个:

echo -e "AT+CFUN=?\r\n" > /dev/ttyUSB0

在您的手机上,串行线不一定被称为ttyUSB0。如果这不起作用或不可用,请查看/dev/目录的其他条目。 所以它也可能是/dev/ttyGS0/dev/SMD0(由@Sani发现)。

有关详细信息,请查看此Guide


注意:

可能还有电话,它们不响应任何串行(tty)设备上的AT命令。 我刚刚在三星Galaxy S4上尝试了自己的程序并且没有任何成功。


2
投票

回声他们在哪里?在Android中,您可以与rild(无线电接口层)守护程序进行通信,该守护程序又与专用库进行通信,该库将命令发送到实际硬件。检查rild源代码以获取详细信息。您可以编写一个与rild对话的命令行程序,并通过adb shell执行它,如果这符合您的需要。


1
投票

是的,你也可以从adb shell运行AT命令......

prerequsite :-
 1. rooted android phone
 2. you are aware of the port that RIL use for i/o operation.
 3. to check which port is being used by RIl use `getprop rild.libargs`

要从ADB运行AT命令,请使用:

echo -c "AT\r\n" > /dev/smd11

PS:smd11是RIL使用的端口。这因设备而异。

也可以从Android应用程序运行AT命令查看本教程

http://tech-papers.org/executing-at-commands-android-application/


0
投票

为了找出要使用的端口:您可以检查

# cat /proc/tty/drivers

使用logcat -b radio | grep dev查看收音机正在使用的内容。

© www.soinside.com 2019 - 2024. All rights reserved.