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>
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.
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.
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.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With