2012-10-12 55 views
10

Tengo una tarea en el trabajo para investigar si es posible enviar comandos AT a un dispositivo Android a través del shell ADB. Hasta ahora, he intentado hacer eco de los comandos AT pero los pasa como cadenas normales. Cualquier ayuda por favor a cualquiera.Enviando comandos AT a través de ADB Android

+0

No creo que es posible. ADB no es un módem GSM – opc0de

+0

Lo sé, pero he visto publicaciones similares en las que las personas han ejecutado comandos correctamente con un dispositivo rooteado. –

+0

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

Respuesta

2

Echo them where? En Android hablas con el daemon rild (Radio Interface Layer), que a su vez habla con una biblioteca propietaria, que envía comandos al hardware real. Verifique el código fuente de rild para más detalles. Probablemente puedas escribir un programa de línea de comando que hable con el editor y ejecutarlo a través de adb shell, si eso se ajusta a tus necesidades.

+0

En realidad es posible. Pude hacer que una pareja trabaje y la mayoría ha regresado. –

+0

Nuevamente, repítalos dónde? ¿Qué comando emitiste? ADB es solo un medio para ejecutar comandos de shell en el teléfono. Podría hablar directamente con un dispositivo serial (tipo) o no podrá hacerlo. Esto depende en gran medida del teléfono en particular. –

6

Por favor, intente esto:

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

En el teléfono, la línea serie no necesariamente debe ser llamado ttyUSB0. Si esto no funciona o no está disponible, consulte las otras entradas del directorio /dev/.
Así también podría ser /dev/ttyGS0 o /dev/SMD0 (según lo descubierto por @Sani).

Para más información, echa un vistazo a este Guide


NOTA:

También puede haber móviles, que no responden a los comandos AT en cualquiera de sus dispositivos de serie (tty).
Acabo de probar mi propio procedimiento en un Samsung Galaxy S4 y no tuve ningún éxito.

+0

Lo he intentado y no funciona. BDW mi dispositivo es un as de galaxia rooteado –

+1

HE OBTENIDO una solución de trabajo.Necesitaba encontrar mi dispositivo módem, que en mi caso es SMD0 en lugar de TTYUSB0. He tenido un par de comandos de trabajo y algunos regresan bien. Todavía investigando. Gracias chicos. –

+0

Aaah, es por eso que te dije que eches un vistazo a la guía. : o) Completaré mi respuesta para que coincida con ese problema. ¡Gracias por compartir con nosotros! – Nippey

0

Con el fin de averiguar qué puerto utilizar: Puede comprobar

# cat /proc/tty/drivers 

Uso logcat -b radio | grep dev para ver wich TTY está usando el radio.

+0

Para mi Galaxy Note II (GT-N7100) esto fue '/ dev/ttySAC2'. – psiphi75

0

sí se puede ejecutar comandos AT de adb shell también ...

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` 

a correr a partir de comandos ADB

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

PS: smd11 es el puerto utilizado por RIL.This varía de dispositivo a dispositivo.

también para ejecutar los comandos AT de aplicación androide comprobar este tutorial

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

+0

"para verificar qué puerto está usando RIl use' getprop rild.libargs' "pero en mi caso no devuelve nada. No se muestra texto Estoy usando un Samsung GT-S5301 – mkhan

+1

El enlace está muerto –

Cuestiones relacionadas