Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Detecting device for debugging (ADB) does not work

Tags:

android

adb

I've turned USB debugging on on my Archos 43 Internet Tablet (Android 2.3.26), but adb does not detect the device.

I have Kubuntu 11.04.

Output of shell command "lsusb":

michael@schlepptop777:~/.android_sdk/platform-tools$ lsusb Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 002: ID 0e79:1411 Archos, Inc.  Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

So my "Vendor ID" is 0e79, isn't it?

For the next step I've created the following file:

sudo kate /etc/udev/rules.d/51-android.rules 

with the following content:

SUBSYSTEM=="usb", SYSFS{idVendor}=="0e79", MODE="0666" 

After that I've set the permissions:

sudo chmod a+rx /etc/udev/rules.d/51-android.rules 

Then I've saved it and restarted udev:

sudo /etc/init.d/udev restart 

And after doing all that steps adb still does not display my device:

michael@schlepptop777:~/.android_sdk/platform-tools$ ./adb devices List of devices attached  <empty line, because stackoverflow does not display this> 
like image 506
Spitfire777 Avatar asked Jun 26 '11 13:06

Spitfire777


People also ask

Why is ADB not detecting my device?

It might be that the ADB issue is not with your computer but is with your Android device. In most cases, ADB cannot recognize your device because the USB debugging option is turned off on the device. Turning this option on can fix the issue for you and this is pretty easy to do.

What do I do if USB Debugging is not working?

Make sure your Android device is enabled for USB debugging. On many Android devices, you can verify whether USB debugging is enabled by visiting the Settings|Developer Options page. Install the USB driver for your Android device.

Why is ADB not working?

Failed ADB connections usually have one root cause: bad Android USB drivers that load in place of the right ones. Windows doesn't make it easy to remove the wrong drivers, unfortunately. But before attempting to troubleshoot an ADB connection, first enable USB debugging on your phone if it's not on already.


2 Answers

In some cases you also have to add vendor id to this file: ~/.android/adb_usb.ini

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT. # USE 'android update adb' TO GENERATE. # 1 USB VENDOR ID PER LINE.  0x0e79 

Mind that this file might be overwritten when you upgrade SDK, so you might need to re-edit it afterwards.

like image 111
Jarek Potiuk Avatar answered Sep 18 '22 16:09

Jarek Potiuk


Mageia 2

At first, I got something like:

$ adb devices * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached  

Then I found I needed to do Settings | Applications | Development and Check the USB Debugging check box.

$ adb devices List of devices attached  ???????????????? no permissions 

Trying as root, I got:

$ su -l # adb devices List of devices attached  ???????????????? no permissions 

Then I realized that adb was still running as regular user. When, as root, I did:

# adb kill-server # adb devices * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached  A43-A44C0002-9BF80000-0C60C4CC-0D020027 offline 

ADB for Android Developers (ARCHOS Internet Tablet) was helpful, except I ended up doing this as root:

# cat /etc/udev/rules.d/51-android.rules  SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", SUBSYSTEM=="usb", ENV{PRODUCT}=="e79/*", MODE="0666" SUBSYSTEM=="usb", SYSFS{idVendor}=="e79", MODE="0666" # udevadm control --reload-rules # udevadm monitor . . . ^C 

The monitor command was helpful because it showed the device connects, disconnects, paths, etc.

I was then able to stop the server running as root, and start it as a regular user:

# adb kill-server # exit $ adb devices * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached  A43-A44C0002-9BF80000-0C60C4CC-0D020027 offline 

The device will not work when "offline". To fix that I had to reboot the Archos 43.

$ adb devices List of devices attached  A43-A44C0002-9BF80000-0C60C4CC-0D020027 device 

Though I doubt that these actions were required, to play it safe, after rebooting, I made sure to plug in the USB and select Charge Only before I set USB Debugging on. I had also disabled WiFi and Syncing, but once it started working, adb would still connect with those being on.

At this point, downloading my app worked:

$ adb install bin/HelloWorld.apk  2914 KB/s (157589 bytes in 0.052s)         pkg: /data/local/tmp/HelloWorld.apk Success 

P.S. The next day, knowing that everything worked the night before, I booted up my development system and tried to connect again. This gave the "offline" status. I disabled sync and WiFi, without rebooting the Archos 43, and then adb devices showed "device" status instead of "offline". I am not sure what to make of that, but turning this stuff off could have significance after all.

like image 31
kbulgrien Avatar answered Sep 18 '22 16:09

kbulgrien