I am trying to talk to the modem embedded within a module through adb shell but since I'm accessing the HW remotely, i'm not sure of the original setup and may need some help clarifying:

adb shell runs in linux and following is how I was able to run the command:

cat /dev/smd0 &
echo -e "AT\r" > /dev/smd0
  • what's the main point behind the first line with &? Doesn't that run things in the background? How does removing it not output the result to the terminal?
  • the interpretation of the second line: writes/sends the string to the application processor from the linux host over smd0 AT port. Is that legit?
  • 1
    Your question is about communicating with modem, not simply ADB shell. Communication with modem is very hardware specific and mostly closed-source, undocumented, not available for public use. Do mention your hardware specs. Also XDA and other forums are more suitable places for such kind of hacking stuff. Commented Nov 3, 2020 at 19:09

1 Answer 1


the 2nd line sends a request to serial. the 1st line is waiting for result. in order to make this work one must listening before sending request, that way the answer can not missed. one can accomplish that by running the listening process in background while sending request in same time. it is usual like for handling of named pipes

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .