J'ai une tâche à effectuer pour déterminer s'il est possible d'envoyer des commandes AT à un périphérique Android via ADB Shell. Jusqu'ici, j'ai essayé de faire écho aux commandes AT mais il les transmet comme des chaînes normales. Toute aide s'il vous plaît.
S'il vous plaît essayez ceci:
echo -e "AT+CFUN=?\r\n" > /dev/ttyUSB0
Sur votre téléphone, la ligne série ne doit pas nécessairement s'appeler ttyUSB0
. Si cela ne fonctionne pas ou n'est pas disponible, consultez les autres entrées du répertoire /dev/
.
Donc, il pourrait également s'agir de /dev/ttyGS0
ou /dev/SMD0
(comme l'a découvert @Sani).
Pour plus d'informations, consultez ce Guide
REMARQUE:
Il est également possible que certains téléphones ne répondent pas aux commandes AT de l'un de leurs périphériques série (tty)
.
Je viens d’essayer ma propre procédure sur un Samsung Galaxy S4 et je n’ai eu aucun succès.
Les écho où? Dans Android, vous parlez au démon rild (Radio Interface Layer), qui à son tour communique avec une bibliothèque propriétaire, qui envoie des commandes au matériel réel. Vérifiez le code source de rild pour plus de détails. Vous pourriez probablement écrire un programme en ligne de commande qui parle au rild et l'exécuter via Shell adb, si cela correspond à vos besoins.
oui, vous pouvez aussi exécuter les commandes AT à partir du shell d'adb ...
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`
exécuter la commande AT de la BAD
use echo -c "AT\r\n" > /dev/smd11
PS: smd11 est le port utilisé par RIL. Cela varie d’un périphérique à l’autre.
Pour exécuter également les commandes AT à partir d'une application Android, consultez ce didacticiel.
http://tech-papers.org/executing-at-commands-Android-application/
Pour savoir quel port utiliser: Vous pouvez vérifier
# cat /proc/tty/drivers
Utilisez logcat -b radio | grep dev
pour voir quel appareil est utilisé par la radio.