senden AT-Befehl über die adb-shell
Muss ich senden AT-Befehl an das modem. Ich bin mit samsung galaxy S3 I9300 Geräte, die verwurzelt ist.
Die Schritte, die ich habe sind:
abd shell
su
echo -e "AT\r"
Aber ich bin nicht sicher, wie Sie Sie zum Lesen der Antwort durch die oben genannten Befehle. Ich habe versucht, die Umleitung der Befehl wie folgt:
echo -e "AT\r" > /dev/smd0
, aber wenn ich ausführen Katze /dev/smd0
ich sehe keine Antwort ich sehe gerade "IN". Scheint, wie der Befehl, den ich ausgeführt werden soll interpretiert wird nur als Zeichenfolge, und ich sehe, dass die string-anstatt das Ergebnis dieser operation.
Bitte um Rat, was ich falsch mache.
- Versuchen Sie, diese... stackoverflow.com/questions/12855482/...
- Möglich, Duplikat der stackoverflow.com/questions/5811828/...
- Ich denke, der OP spricht über die AT-Befehle für das Telefon-Modem...
- Oder versuchen, diese... stackoverflow.com/questions/9286331/...
- Es ist den richtigen Ausgang.. Versuchen Sie einige andere Befehle wie
ATD123456789;\r
- vielen Dank für die Antwort. Jedoch alle links, die Sie genannt hatte ich schon versucht-ohne Erfolg. Ich glaube, mein problem ist, dass ich die Identifizierung nicht korrekt serielle Schnittstelle an das modem und damit die AT-Befehle führe ich nicht an das modem gesendet. Aber forum.xda-developers.com/showthread.php?t=1471241 - link nicht erklären, wie es getan hat, wählen Sie /dev/ttyGS0. Hier ist das Ergebnis von cat /proc/tty/drivers auf meinem Gerät:
- 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 serielle g_serial /dev/ttyGS 251 0-3 serielle usbserial /dev/ttyUSB 188 0-253 serielle s3c2410_serial /dev/ttySAC 204 64-67 serial
- Nach ein wenig mehr Forschung es stellt sich heraus, dass ich nicht gehen müssen, so viel low-level und identifizieren die serielle Schnittstelle an das modem. Stattdessen kann ich verwenden rild-debug. LocalSocket socket = new LocalSocket(); LocalSocketAddress sockAddr = new LocalSocketAddress("rild-debug", LocalSocketAddress.Namespace.RESERVIERT); socket.connect(sockAddr); Ausgabestrom os = socket.getOutputStream(); String s = "ATD+37491472524\r"; os.schreiben(s.getBytes()); socket.getOutputStream().close();
- Durch das ich hatte erwartet, um einen Anruf an die angegebene Nummer aber ich bekomme keine Ergebnisse. Nichts passiert; weder Fehler noch ergibt. Irgendeine Idee?
- seine becuase Sie sind nicht usin \n versuchen, echo -c "AT\r\n" > /dev/smd0 das funktionieren sollte
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schlage ich vor, dass Sie versuchen, meine atinout Programm, das sollte genau das sein, was Sie fordern: ein Programm zum senden von AT-Befehlen von der Befehlszeile aus und erfassen Sie die Ausgabe.
In deinem Fall sollte das Ergebnis wie
und zum erfassen der Ausgabe legen Sie einfach einen Dateinamen statt des letzten
-
.atinout
Programm auf meinem android-Gerät ?Haben Sie versucht, dass in adb shell