[Hero, G2 Touch Q&A, Help & Troubleshooting] mpavey:
Hi,

I recently bought my first Android phone, an HTC Hero, from a helpful eBayer here in the UK. When I got the phone, it had already been rooted and had a custom ROM, v4 RC1 of EzHero, installed.

I want to update this custom ROM to v5.1, because there are some problems with the current version that's installed. (For example, the phone doesn't ring because there are no ringtones installed! Also, the camera doesn't work, and the phone crashed and rebooted whilst I was in the middle of a call last night.)

So, after some reading around on these forums, I tried following the instructions on this thread: http://cleanimport.xda/index.php?threads/709220/. The basic first step is to download the SDK from Google and instruct it to download the USB driver. So far so good. (I am using Windows 7 BTW.)

However, I have been unable to get the USB driver installed correctly, such that when I run the command:

adb devices

I get nothing back. (Not strictly true -- the first time I ran it it said it was starting a daemon, then said something like "devices list", but listed no devices. The second time I ran it, it didn't mention the daemon, but still didn't list my device.)

When I connect the phone to my computer (via USB, and with USB debugging enabled), I basically get a balloon at the bottom right of the screen to say that it is installing drivers, and then it says it had some problems. It lists out several devices, each with a green tick or a red cross against them. Invariably, one of the devices listed is called simply "ADB", and it always has a red cross against it. I am not specifically prompted to point the system towards any drivers for the device.

If I go into Device Manager, I currently see, under "Other devices", three devices:

- ADB

- Multimedia Controller

- Multimedia Video Controller.

The icon for each of these has a little yellow exclamation mark. If I double-click on ADB, I am given the chance to Update driver. Doing this gives me two options, and I choose "Browse my computer for driver software". This prompts me to "search for driver in this location" and I choose "C:\android-sdk-windows\usb_driver". (I have also tried pointing it to the subfolder "i386", but this gives the same result. I am on a 32-bit Intel system.) There is also a checkbox "Include subfolders", again I have tried both options, and both lead to the same outcome.

I then click Next and receive this error message:

If, instead of clicking Next, I click "Let me pick from a list of device drivers on my computer" and then select "Mobile devices" and click Next, I am presented with a blank list and a button reading "Have Disk". Clicking on this lets me browse, this time, for an .inf file. But selecting the android_winusb.inf file gives the following error message:

This is about as far as I have got! I have tried experimenting with a couple of things, but with ultimately the same result:

Running (as administrator) USBDEview and uninstalling anything that starts with HTC, or ADB, or Android, or USB Mass Storage device

Editing the .inf file using the modifications described below:

The first modification I tried is described in comment 44 of issue 1039 on the Android Google Code forum (link removed because I don't have permission to post external links!):

;HTC Hero
%USB\VID_0BB4&PID_0FFE.DeviceDescRelease%=androidusb.Dev, USB\Vid_0bb4&Pid_0ffe&Rev_0100
You can find / adapt those description with your material manager (look in advanced tabs)
To have a nice name of device, add at the end of file something like
USB\VID_0BB4&PID_0FFE.DeviceDescRelease="HTC Hero rev 0100"

The second modification I tried is described in comment 99:

[Google.NTx86]
; HTC Hero
%SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C9A
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C9A&MI_01
%SingleBootLoaderInterface% = USB_Install, USB\VID_0BB4&PID_0C9A

And the third is described in post 2 of a recent Android Developers Google

Groups thread entitled "cannot install USB drivers for HTC Slide, Android 2.1, Windows Vista 32 bit" (link removed because I am not allowed to post external links!). For this one, I consulted the information displayed when I go into Device Manager > ADB > Properties > Details > Hardware Ids, so the actual lines I added to the .inf file are as follows:

;HTC Hero 2.1
%SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C98&REV_0100&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C98&MI_01

I also tried a slight twist on this:

;HTC Hero 2.1
%SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C98
%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C98&MI_01

since all the other devices in the .inf file didn't include the &REV_0100&MI_01 parameters for the %SingleAdbInterface% line.

Finally, I also tried various times to uninstall devices from Device Manager, e.g. ADB, the two multimedia controllers with exclamation marks against them, and USB Mass Storage Device (which does indeed have three lines on the Properties > Details > Compatible Ids screen, as advised by a blog post I found on the Android Simplicity blog entitled "How-To #0: How to Install Usb Driver on Your Computer" (link removed because I do not have permission to post external links!).)

I really can't think of much more to try, so would really appreciate any pointers, however small, from the experts!

Another option might be to give up on Windows and try doing the whole process under Ubuntu Linux, which I have installed under dual-boot. However, the instructions for updating ROMs/making backups/recovery/etc. appeared to rely on some Windows executables so I figured that could be a risky approach (especially given I know very little about how to work Linux...!).

Thanks for reading :)

Michael