[2009-11-26 Update: My permissions problems talking to my real HTC Magic phone inexplicably returned after a couple of reboots. I had not changed a thing. Annoyed, I search again for possible solutions. I found these excellent docs, which included the section below. I already have the rules file, but these statements were different to those suggested elsewhere for Ubuntu and different to the single line I had been using. This part fixed my problem with not being able to talk to my phones, allowing me to access them via adb and / or fastboot provided I run the adb server and fastboot using sudo. DDMS is fine, provided adb server was started using sudo.
10d) In Ubuntu, create a new rules file for these vendor:device IDs.
Type this command to create the file.
$ sudo gedit /etc/udev/rules.d/51-android.rules
Add the following blue lines (rules) to it and save the file. If your lsusb command reports other, newer product IDs for vendor 0bb4, add them also to the file.
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c01", MODE="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c02", MODE="0666"If this helps anyone, please let me know in the comments.]
[2009-11-22 Update: I upgraded to Ubuntu 9.10 (Karmic Koala) again today. This time I did NOT remove the packages the upgrade notified as no longer supported. Last time, I had said OK to their removal. This time, everything works fine: adb and ddms can see my phone. Fastboot (run using sudo) is able to load and boot a temporary image. The key - for me - seems to have been to avoid letting the upgrade / update process remove the pre-existing policykit package.]
[2009-11-15 Update: I wiped the drive and reloaded Ubuntu 9.04. I installed the Java SDK, the Android SDK 2.0, ADT 0.94 and Eclipse 3.5. I followed all of my own advice, and that I had gleened from others....and ONLY after I had adjusted the permissions settings using polkit-gnome-authorizations was I finally able to access my phone again via ddms and adb. Given they (Ubuntu) appear to have removed this security configuration app (polkit-gnome-authorizations) from Ubuntu 9.10, I don't recommend upgrading to that unless you are handy with the back end of the permissions policy side of Gnome / polkit and can write your own API-compliant, policy files in XML from scratch. I'm not...and don't want to be. I'm trying to fry other fish.
But I got it going again....
(Original post resumes below) ]
Last night I had a bright idea and upgraded my Android SDK 2.0 system from Ubuntu 9.04 (Jaunty Jackelope) to 9.10 (Karmic Koala).
Everything went (almost) perfectly. The Eclipse 3.5 dev environment runs fine. I can create and run Android 2.0 emulators with no issues. But ddms (the Dalvik VM tool in Android SDK Tools) is no longer able to identify my real android cell phone. It sees the device, but doesn't pick up any information from it. Instead, I get a string of "???????" where the device ID should be.
I'm assuming it is a security / permissions issue post-Ubuntu upgrade....and hope to sort it out later. I'll update this post if I work it out.....or not.
Be warned that any such upgrade as the one above isn't likely to be seamless.
2009-11-04 - Update: This is definitely a permissions problem. Trying to list the device with adb gives:
List of devices attached ???????????? no permissions
Now...How to set the permissions? I've set up the policy files. They don't appear to be working. I've seem some bugs listed on Launchpad for Policykit. Not sure how to interpret what I'm reading.
This bug on Launchpad seems to explain things. They appear to have made some changes without regard to usabililty.
https://bugs.launchpad.net/ubuntu/+source/checkbox/+bug/435714
Trying to access the phone with ddms give me more permissions errors:
55:16 W/ddms: Unable to get frame buffer: device (????????????) request rejected: insufficient permissions for device
55:18 W/ddms: Unable to get frame buffer: device (????????????) request rejected: insufficient permissions for device
I have also tried running it as sudo:
steve@media:~/android-sdk-linux_x86-1.6_r1/tools$ sudo ./adb devices
List of devices attached
???????????? no permissions
No good.