1

I'm using an Odroid (rooted) device running Android 5.1.1 on a local network and I'd like to be able to control it via adb.

Currently I'm running this at startup:

setprop service.adb.tcp.port 5555
stop adbd
start adbd

This works initially, but I've noticed if works with one connection at a time. If a connection is left open, a second connection won't work. Even though adb says I'm connected, whenever I try to run any command I get an error:

> adb connect 192.168.0.33
connected to 192.168.0.33:5555
> adb shell date
error: device offline

What's the easiest to ensure adbd is accessible, even if a connection is left open/hanging by accident ?

I'm thinking about running a script that periodically restarts adbd but having a short interval will be very frustrating as I'd need to constantly reconnect. Is there a way to check if a connection is open, but hanging ? (no data has been received in a while ?)

Alternatively, would it be possible to close the previous connection if a new one is made automatically ?

How would one keep an odroid connectible via adb constantly (regardless of open connections ?)

7
  • No expert in adb, but I think simultaneous connections are disabled. – Dan Brown Oct 5 '16 at 14:30
  • @DanBrown that's the issue I'm trying to deal with: I'd like to kick out the previous user if it's hogging the connection or something similar – George Profenza Oct 6 '16 at 13:25
  • 1
    try this script gist.github.com/christopherperry/3208109 – Dan Brown Oct 6 '16 at 13:48
  • That's a handy script, however it deals with connecting to multiple android devices from one computer and running commands on each. My situation is sort of the reverse: I have multiple computers that may want to connect to the same android device, but I need a way to ensure the connection doesn't get blocked if one of these computers forgets to disconnect – George Profenza Oct 6 '16 at 17:36
  • Why not have one master computer, that you can teamviewer to do so? Either that, or write a script that executes adb close-server whenever you adb start somewhere else. – Dan Brown Oct 6 '16 at 17:39
0

For the scope of the project at that time there were two measures that helped:

  1. Installing SSHelper to add SSH support (can use SSH instead of adb and restart adb daemon in case it gets locked)
  2. Hacky, but a background service could be used to periodically reset adb connections: this could cause trouble depenending on what commands need to run and for how long

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.