Every time I want to connect my phone to adb via USB I need to turn it off, plug the cable and turn it back on.

Is this the right way to go or am I missing something?

Documentation doesn't seem to explicitly state that.

Some details:

  • Samsung GT-B5510 Galaxy Y Pro (Android 2.3.6)
  • Android Debug Bridge version 1.0.29
  • Debian GNU/Linux 7.0 (wheezy)
  • Hi cYrus, some more info on make/model and Android version would be helpful. You're right, your phone's behaviour is not standard. – ce4 Jan 4 '13 at 13:05
  • Is USB debugging enabled? – Liam W Jan 4 '13 at 14:13
  • @ce4: Added some more infos. – cYrus Jan 4 '13 at 14:21
  • @LiamW: Sure, as I said, I manage to get it working if I turn on the device with the USB cable plugged. – cYrus Jan 4 '13 at 14:24
  • Ok, as a start you could see if adb is running from within Android. Install terminal emulator and run ps | grep adb (you should see somthing like: shell 2818 1 4496 200 ffffffff 00000000 S /sbin/adbd if it runs). If it does only run after you booted it with usb plugged in, it's a problem with your device. It's probably fixable, but that requires root. Ping me in the chat it's probably faster to discuss there. – ce4 Jan 4 '13 at 14:39

This is the real issue cYrus had (we tracked it down via interactive chat):

The phone has obviously some race condition between plugging USB in and USB ready. Plugging in basically gives 2 events:

  • Power connected event (start charging battery)
  • USB connected event (enumerate devices etc.)

If the Host system asks for USB enumeration too quickly (before the power-connected event has settled probably), then that operation fails and the device stays invisible.

The workaround is to slowly insert the USB cable.

Reason: USB has 4 pins, the 2 outer ones are +/- and protrude longer than the inner 2 data pins. If inserted slowly, there's a time gap between the power-connected event and the data-connected event

| improve this answer | |
  • 1
    You need to be nice to your phone, hehe. Open a can of jokes now... :-) – ce4 Jan 4 '13 at 15:56

I have had similar trouble with a different device. After you plug you device in try:

adb devices

If your phone is not listed, try restarting ADB:

adb kill-server
adb start-server

Lastly, check if there are any driver updates for your phone. A good place to start looking for drivers is Google's OEM page and Samsung's support page. Additional tips might be found on this SO question.

| improve this answer | |
  • Restarting adb makes no difference, I'll check for driver updates, stay tuned... – cYrus Jan 4 '13 at 14:38
  • Forgot to mention: I'm using Linux. – cYrus Jan 4 '13 at 14:41

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.