ADB device driver won't install

Posted: 13/08/13

An image of ADB device driver won't install

There have been quite a few occasions where I've found Android devices won't be recognised by the ADB interface on my PC, when connected by USB. This issue is almost always because of missing or incompatible device drivers. When it happens, you'll see the connected device listed in the Other devices section of the Device Manager tree. Right-click the device and select Properties. The General tab will state "The drivers for this device are not installed". You can, however, resolve this by adding the device IDs to the Android USB driver, the Google ADB driver and then update the driver details in Device Manager. Here's how:

Edit android_winusb.inf

1. Open the following file in a text editor

[PATH_TO_ANDROID_SDK]\sdk\extras\google\usb_driver\android_winusb.inf

2. If you're running a 64-bit OS, scroll to the section header [Google.NTamd64], otherwise scroll to [Google.NTx86]

3. Each device in the section is denoted by ;Device Name - for example, the Google Nexus 7 entry appears like this:

;Google Nexus 7

%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E41

%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E42

4. Copy these three lines to the clipboard

5. Scroll to the end of the last device entry and hit return to create a new line.

6. Paste the copied lines.

5. Change the first line to a friendly name you'd like to give the device you're trying to install - for example ;Asus Transformer

6. Open Device Manager

7. Right-click on the ADB device that is listed having no driver installed. A context menu opens.

8. Select Properties. A tabbed modal window opens.

9. Click on the Details tab

10. Select "Hardware Ids" from the Property drop-down list, you'll see two values that look similar in format to this:

USB\VID_0B05&PID_4E1F&REV_9999&MI_01

USB\VID_0B05&PID_4E1F&MI_01

11. Select the first line and copy it to the clipboard

12. Back in android_winusb.inf. On the second line %SingleAdbInterface% paste it after "= USB_INSTALL, " (overwriting the previous value).

13. Go back to the Details tab in the Device properties modal

14. Repeat the select and copy operation with the second hardware ID

15. Back in android_winusb.inf. On the third line %CompositeAdbInterface% paste it after "= USB_INSTALL, " (overwriting the previous value). When you're done, your three-line entry into android_winusb.inf should look like this:

;Asus Transformer

%SingleAdbInterface% = USB_Install, USB\VID_0B05&PID_4E1F&REV_9999&MI_01

%CompositeAdbInterface% = USB_Install, USB\VID_0B05&PID_4E1F&MI_01

16. Save the file.

17. On the %SingleAdbInterface% line, select and copy the 4 characters after PID_ (i.e. in my example: 4E1F)

Edit adb_usb.ini

1. Open the following file in a text editor:

C:\User\[YOUR_USERNAME]\.android\adb_usb.ini

2. On a new line, type "0x" the paste the 4 characters you copied from android_winusb.inf. It should look something like this:

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.

# USE 'android update adb' TO GENERATE.

# 1 USB VENDOR ID PER LINE.

0x4E1F

3. Save the file.

Update the device driver

1. Open Device Manager

2. Right-click on the ADB device that is listed having no driver installed. A context menu opens.

3. Select Update Driver Software. A new driver update window opens.

4. Click "Browse my computer for driver software"

5. Click the Browse... button and select the directory in which your edited usb_driver

Keywords for this post: android, adb, device, driver, install, google, USB, interface, composite