Getting USB Device Drivers Working for HTC Android Development

I set up a new Eclipse environment today and wanted to use my HTC Thunderbolt for testing. Usually, the way this works is you right click on your project then select your manual run target of your phone. My HTC Thunderbolt was not recognized for some reason.

After digging around for a bit, I found the USB device driver provided by Google does not support some HTC phones out of the box. I have no idea why. However, fixing it is pretty simple.

All you have to do is update the device driver .inf file. It's pretty simple to do this. Here is what you do:

  1. Follow the steps here: http://developer.android.com/guide/developing/device.html to start the process (if you found this blog article, you have likely done this step already)
  2. If you are on Windows, you'll have to get the Microsoft specific USB driver at the Google Windows USB Driver link.
  3. Once you install the Google Windows USB Driver and follow the instructions on that page for your specific OS, your device will not be recognized.
  4. Use the Device Manager to find your phone. Right Click and choose properties, then choose the Details Tab. On the Details Tab, Change the Property selector to Hardware Ids. Write down the (4?) digits in the VID_1234 (where 1234 is likely different for you) and for PID_1234 (where once again 1234 is likely different for you) You will need them later. If this is confusing, check the screenshot at the bottom of this page.
  5. Use a text editor to open [Android SDK Root]\android-sdk\extras\google\usb_driver\android_winusb.inf
  6. Find the section [Google.NTx86] and copy the lines for the HTC Dream. Paste them and change the dream to your HTC phone model.
  7. Then, update the driver specific lines with the VID_1234 number and PID_1234 number you copied above. Mine looks like this:
    view plain print about
    1; HTC Thunderbolt
    2%SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0CA4
    3%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0CA4&MI_01
    4%SingleBootLoaderInterface% = USB_Install, USB\VID_0BB4&PID_0CA4
  8. Copy and paste this code for the [Google.NTamd64] section also.
  9. When finished, try the driver update once again and you should have better luck this time.

This should improve the situation. Hat tip to Kostya Vasilyev on the Android Developers mailing list for the idea.

There are no comments for this entry.

Add Comment Subscribe to Comments

4/9/12 1:53 AM # Posted By Sushama Singh

Great post. Very useful, thanks for sharing.


6/22/12 5:00 PM # Posted By Marks Hinkson

This is a boss post star! Thanks for the info. I have been trying for days to get this done. I have found several other workarounds but this is the ULTIMATE solution! A million thanks star!