Archive for the ‘Linux’ Category

Getting Nexus One Working with USB on Ubuntu

Saturday, January 9th, 2010

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.