I have a task at work to investigate if it is possible to send AT commands to an android device via ADB shell. So far,I have tried to echo out the AT commands but it passes them as normal strings. Any help please anyone.
Please try this:
echo -e "AT+CFUN=?\r\n" > /dev/ttyUSB0
On your phone, the serial line must not necessarily be called ttyUSB0
. If this is not working or not available, check out the other entries of the /dev/
directory.
So it could also be /dev/ttyGS0
or /dev/SMD0
(as found out by @Sani).
For further information, please check out this Guide
NOTE:
There might also be phones, that do not respond to AT commands on any of their serial (tty)
devices.
I just tried my own procedure on a Samsung Galaxy S4 and did not have any success.
Echo them where? In Android you talk to the rild (Radio Interface Layer) daemon, which in turns talks to a proprietary library, which sends commands to the actual hardware. Check rild source code for details. You could probably write a command line program that talks to the rild and execute it via adb shell, if that fits your needs.
In order to find out which port to use : You can check
# cat /proc/tty/drivers
Use logcat -b radio | grep dev
to see wich tty the radio is using.
/dev/ttySAC2
. –
Remorseless Yes you can run AT
commands from adb shell
too.
Prerequisites:
- rooted android phone
- you are aware of the port that RIL use for i/o operation.
- to check which port is being used by Android's Radio Interface Layer (RIL) use
getprop rild.libargs
To run AT command from ADB use:
echo -c "AT\r\n" > /dev/smd11
p.s. /dev/smd11
is port used by RIL. This varies from device to device.
Also to run AT commands from Android application check this tutorial: Executing AT commands from Android Application
getprop rild.libargs
" but in my case it returns nothing. No text is shown. I am using a Samsung GT-S5301 –
Nora Kind of a combination of the above. We got it working with 2 terminals on a Pixel 4 XL.
On one we did:
cat /dev/smd7
in the other:
echo "AT\r" > /dev/smd7
The output shows up in the first terminal
Notes:
- Have to be root!
- None of the discovery mechanisms worked for us, so we blindly called into smdX until we got a response from "AT\r".
- echo automatically adds a \n, so adding it is redundant.
Device does not necessarily have to be rooted. I just got a successful return on a test command on a SM-146U (T-Mobile) by running
echo -e "AT+CFUN=?\r\n" > /dev/tty
through basic ADB
© 2022 - 2024 — McMap. All rights reserved.