Getting Nexus One Working with USB on Ubuntu

I received my Nexus One on Thursday. It is flat-out fast. I’m really liking it, even if it doesn’t have a physical keyboard like my G1. I was pretty excited to load my latest development game on it. However I found that the Ubuntu USB settings that I had setup for the G1 didn’t work for the Nexus One, even though they’re both HTC phones. I had setup Linux (Ubuntu 8.04) for the G1 based on these instructions: http://developer.android.com/guide/developing/device.html. As of Jan 9 2010, this page does not have a USB vendor ID for the Nexus One/Google. The “0bb4” vendor ID for HTC does not work. The Nexus One shows up as “?????????” in adb/Eclipse. I did some serious Googling for a solution and found two hits with instructions, but they were both saying to use “0bb4” for the USB vendor ID. That’s what I had and that doesn’t work. I then read an post that said Google updated the Windows SDK USB driver for Nexus One. I downloaded this to one of my Windows boxes and looked at the vendor ID in the .inf file - it is “18D1” for Nexus One. In short - follow these instructions:

  1. Follow the instructions at  http://developer.android.com/guide/developing/device.html
  2. Replace the vendor id of “0bb4” with “18d1” in /etc/udev/rules.d/51-android.rules. Or add another line that reads: SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
  3. Just restarting adb after this didn’t work for me. I had to reboot Ubuntu. That took me a while to figure out.

After the reboot I was up and running. Development cycle times are now much faster because installs are faster.


Archived Comments

Rene -

The command “sudo service udev restart” will also suffice instead of a restart.


##### redsonic -

thanks for this article. And many thanks to Rene because just restarting udev is sufficient. BTW, you can discover the vendor id by looking at /var/log/messages once you plugged the phone keep the good work ;)


##### Dan Syrstad -

@redsonic: I didn’t see the vendor ID come out in /var/log/messages. I think that’s because it hadn’t been added to the udev file yet.


##### moovida -

You just saved me! Thanks man!


##### who -

Hey, this helped a lot, thanks so much!



See also

comments powered by Disqus