Android: Install ADB drivers for any device without OEM drivers

In the rest of this post I’m going to share my easy solution with you:

1. First you have to download Google USB driver which is a small download around 8 MB in size and extract it somewhere. If you have the Android SDK installed it usually resides inside <sdk root>\extras\google\usb_driver\. So, you do not have to download it separately in that case.

2. Now, you have to find your device’s hardware ID. In order to do that, the first step involves turning on Android Debugging on your device. On some devices it is known as ADB Debugging, USB Debugging or something similar. On your Android device, go to Settings > Developer Options and you should find it there, then check it. If you do not have Developer Options inside Settings, you must go to Settings > About Phone and tap on Build Number 7 times repeatedly. A pop-up should appear and tell you that you have enabled developer options. Now, go back to Settings and you will find it there right before About Phone.

3. Then, connect your device to your Windows PC and on your PC go to Control Panel > Device Manager. You will find your device with a yellow exclamation mark. As an example, on one of my devices it’s ‘TP9.7-1500DC’ and on the other one it’s ‘IdeaTab S6000’ or simply ‘Android’ for another device (check Figure 3. below). Right click on your Android device name with yellow exclamation mark and click Properties. A window with a few tabs will appear. Go to the Details tab and inside Property combo box look for Hardware Ids and select it. You will find the Hardware Ids inside the Value section below the Property combo box that you’ve just used to find the IDs (Figure 4.). Now, right click on one of the IDs inside the Value box and hit Select All to select all the Hardware Ids. After selecting all the IDs, once more right click on one of the selected IDs and choose Copy. You’ve just got all the Hardware Ids for your Android device.

Here is a list of some of my devices with their Hardware Ids:

Example Hardware Ids
;Nexus 4
USB\VID_18D1&PID_4EE2&REV_0228&MI_01
USB\VID_18D1&PID_4EE2&MI_01

;Motorola Moto G
USB\VID_22B8&PID_2E76&REV_0228&MI_02
USB\VID_22B8&PID_2E76&MI_02
;Motorola Networking Interface
USB\VID_22B8&PID_2E82&REV_0228&MI_01
USB\VID_22B8&PID_2E82&MI_01

;i.onik TP9.7-1500DC Retina
USB\VID_2207&PID_0006&REV_0222
USB\VID_2207&PID_0006

;Sony Xperia M Dual C2005
USB\VID_0FCE&PID_519B&REV_0228&MI_01
USB\VID_0FCE&PID_519B&MI_01

;Lenovo IdeaTab S6000-H
USB\VID_17EF&PID_75E2&REV_0255&MI_01
USB\VID_17EF&PID_75E2&MI_01

;Samsung Galaxy S4 GT-I9500
USB\SAMSUNG_MOBILE&MI_03
USB\Vid_04E8&Pid_6860&MI_03
USB\Vid_04E8&Pid_6860&Class_FF&SubClass_42&Prot_01
USB\SAMSUNG_MOBILE&Class_FF&SubClass_42&Prot_01

;Samsung Galaxy S4-mini GT-I9190
USB\SAMSUNG_MOBILE&MI_01
USB\Vid_04E8&Pid_6860&MI_01
USB\Vid_04E8&Pid_6860&Class_FF&SubClass_42&Prot_01
USB\SAMSUNG_MOBILE&Class_FF&SubClass_42&Prot_01

;HUAWEI G610-U20
USB\VID_12D1&PID_1038&REV_0255&MI_01
USB\VID_12D1&PID_1038&MI_01

;HUAWEI U8950-1
USB\VID_12D1&PID_1038&REV_0231&MI_01
USB\VID_12D1&PID_1038&MI_01

;Samsung Note 10.1 SM-P6012
USB\SAMSUNG_MOBILE&MI_03
USB\Vid_04E8&Pid_6860&MI_03
USB\Vid_04E8&Pid_6860&Class_FF&SubClass_42&Prot_01
USB\SAMSUNG_MOBILE&Class_FF&SubClass_42&Prot_01

;HTC Desire 616 dual sim Android Phone
USB\VID_0BB4&PID_0EDD&REV_0216&MI_01
USB\VID_0BB4&PID_0EDD&MI_01


4. In this step make a copy of your Google USB Driver that you’ve just downloaded or took from your Android SDK folder. There must be a file named _androidwinusb.inf inside that folder. Open that up inside your favorite text editor. It utilizes Windows INF format. An untouched copy of that file looks like this:

android_winusb.inf
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169  ; ; Android WinUsb driver installation. ; [Version] Signature = "$Windows NT$" Class = AndroidUsbDeviceClass ClassGuid = {3F966BD9-FA04-4ec5-991C-D326973B5128} Provider = %ProviderName% DriverVer = 08/28/2014,11.0.0000.00000 CatalogFile.NTx86 = androidwinusb86.cat CatalogFile.NTamd64 = androidwinusba64.cat [ClassInstall32] Addreg = AndroidWinUsbClassReg [AndroidWinUsbClassReg] HKR,,,0,%ClassName% HKR,,Icon,,-1 [Manufacturer] %ProviderName% = Google, NTx86, NTamd64 [Google.NTx86] ;Google Nexus One %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01 ;Google Nexus S %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E21 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E22&MI_01 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E23 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E24&MI_01 ;Google Nexus 7 %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4E40 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E42&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01 ;Google Nexus Q %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_2C10 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_2C11 ;Google Nexus (generic) %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4EE0 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE4&MI_02 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE6&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE7 ;Google Glass %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_9001 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_9001&MI_01 ;Project Tango (generic) %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4D00 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D02&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D04&MI_02 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D06&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D07 [Google.NTamd64] ;Google Nexus One %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01 ;Google Nexus S %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E21 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E22&MI_01 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E23 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E24&MI_01 ;Google Nexus 7 %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4E40 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E42&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01 ;Google Nexus Q %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_2C10 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_2C11 ;Google Nexus (generic) %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4EE0 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE4&MI_02 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE6&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE7 ;Google Glass %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_9001 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_9001&MI_01 ;Project Tango (generic) %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4D00 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D02&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D04&MI_02 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D06&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D07 [USB_Install] Include = winusb.inf Needs = WINUSB.NT [USB_Install.Services] Include = winusb.inf AddService = WinUSB,0x00000002,WinUSB_ServiceInstall [WinUSB_ServiceInstall] DisplayName = %WinUSB_SvcDesc% ServiceType = 1 StartType = 3 ErrorControl = 1 ServiceBinary = %12%\WinUSB.sys [USB_Install.Wdf] KmdfService = WINUSB, WinUSB_Install [WinUSB_Install] KmdfLibraryVersion = 1.9 [USB_Install.HW] AddReg = Dev_AddReg [Dev_AddReg] HKR,,DeviceInterfaceGUIDs,0x10000,"{F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}" [USB_Install.CoInstallers] AddReg = CoInstallers_AddReg CopyFiles = CoInstallers_CopyFiles [CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll" [CoInstallers_CopyFiles] WinUSBCoInstaller2.dll WdfCoInstaller01009.dll [DestinationDirs] CoInstallers_CopyFiles=11 [SourceDisksNames] 1 = %DISK_NAME%,,,\i386 2 = %DISK_NAME%,,,\amd64 [SourceDisksFiles.x86] WinUSBCoInstaller2.dll = 1 WdfCoInstaller01009.dll = 1 [SourceDisksFiles.amd64] WinUSBCoInstaller2.dll = 2 WdfCoInstaller01009.dll = 2 [Strings] ProviderName = "Google, Inc." SingleAdbInterface = "Android ADB Interface" CompositeAdbInterface = "Android Composite ADB Interface" SingleBootLoaderInterface = "Android Bootloader Interface" WinUSB_SvcDesc = "Android USB Driver" DISK_NAME = "Android WinUsb installation disk" ClassName = "Android Device"

5. Look for [Google.NTx86] and [Google.NTamd64] sections inside the file. Remember the Hardware Ids that we have just copied to clipboard? We have to add them to the end of these sections to be able to install the driver on both x86 and x64 versions of Windows. But the point is, you cannot simply paste them here. For each line of hardware ID we’ve got, we have to add _‘%CompositeAdbInterface% = USBInstall, ‘ at the beginning of them. Optionally you can add comments starting with a semicolon ’;’ character for each device. OK, if this is all confusing, considering my previously provided list of Hardware Ids, the modified file looks like this (I’m sure it’s self-explanatory if you look for my comments and compare them to both the original file and the list of Hardware Ids):

android_winusb.inf
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325  ; ; Android WinUsb driver installation. ; [Version] Signature = "$Windows NT$" Class = AndroidUsbDeviceClass ClassGuid = {3F966BD9-FA04-4ec5-991C-D326973B5128} Provider = %ProviderName% DriverVer = 08/28/2014,11.0.0000.00000 CatalogFile.NTx86 = androidwinusb86.cat CatalogFile.NTamd64 = androidwinusba64.cat [ClassInstall32] Addreg = AndroidWinUsbClassReg [AndroidWinUsbClassReg] HKR,,,0,%ClassName% HKR,,Icon,,-1 [Manufacturer] %ProviderName% = Google, NTx86, NTamd64 [Google.NTx86] ;Google Nexus One %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01 ;Google Nexus S %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E21 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E22&MI_01 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E23 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E24&MI_01 ;Google Nexus 7 %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4E40 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E42&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01 ;Google Nexus Q %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_2C10 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_2C11 ;Google Nexus (generic) %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4EE0 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE4&MI_02 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE6&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE7 ;Google Glass %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_9001 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_9001&MI_01 ;Project Tango (generic) %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4D00 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D02&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D04&MI_02 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D06&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D07 ; ; MY DEVICES HARDWARE IDS / X86 / START ; ;Nexus 4 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2&REV_0228&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2&MI_01 ;Motorola Moto G %CompositeAdbInterface% = USB_Install, USB\VID_22B8&PID_2E76&REV_0228&MI_02 %CompositeAdbInterface% = USB_Install, USB\VID_22B8&PID_2E76&MI_02 ;Motorola Networking Interface %CompositeAdbInterface% = USB_Install, USB\VID_22B8&PID_2E82&REV_0228&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_22B8&PID_2E82&MI_01 ;i.onik TP9.7-1500DC Retina %CompositeAdbInterface% = USB_Install, USB\VID_2207&PID_0006&REV_0222 %CompositeAdbInterface% = USB_Install, USB\VID_2207&PID_0006 ;Sony Xperia M Dual C2005 %CompositeAdbInterface% = USB_Install, USB\VID_0FCE&PID_519B&REV_0228&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_0FCE&PID_519B&MI_01 ;Lenovo IdeaTab S6000-H %CompositeAdbInterface% = USB_Install, USB\VID_17EF&PID_75E2&REV_0255&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_17EF&PID_75E2&MI_01 ;Samsung Galaxy Note Edge ;SAMSUNG_Android %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_0400&MI_03 %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_03 ;CDC Serial %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_0400&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_01 ;Samsung Galaxy S4 GT-I9500 %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_0400&ADB %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&ADB %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&ADB %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&MI_03 %CompositeAdbInterface% = USB_Install, USB\Vid_04E8&Pid_6860&MI_03 %CompositeAdbInterface% = USB_Install, USB\Vid_04E8&Pid_6860&Class_FF&SubClass_42&Prot_01 %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&Class_FF&SubClass_42&Prot_01 ;Samsung Galaxy S4-mini GT-I9190 %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_0400&ADB %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&ADB %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&ADB %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&MI_01 %CompositeAdbInterface% = USB_Install, USB\Vid_04E8&Pid_6860&MI_01 %CompositeAdbInterface% = USB_Install, USB\Vid_04E8&Pid_6860&Class_FF&SubClass_42&Prot_01 %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&Class_FF&SubClass_42&Prot_01 ;HUAWEI G610-U20 %CompositeAdbInterface% = USB_Install, USB\VID_12D1&PID_1038&REV_0255&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_12D1&PID_1038&MI_01 ;HUAWEI U8950-1 %CompositeAdbInterface% = USB_Install, USB\VID_12D1&PID_1038&REV_0231&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_12D1&PID_1038&MI_01 ;Samsung Note 10.1 SM-P6012 %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_0400&ADB %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&ADB %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&ADB %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&MI_03 %CompositeAdbInterface% = USB_Install, USB\Vid_04E8&Pid_6860&MI_03 %CompositeAdbInterface% = USB_Install, USB\Vid_04E8&Pid_6860&Class_FF&SubClass_42&Prot_01 %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&Class_FF&SubClass_42&Prot_01 ;HTC Desire 616 dual sim Android Phone %CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0EDD&REV_0216&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0EDD&MI_01 ; ; MY DEVICES HARDWARE IDS / X86 / END ; [Google.NTamd64] ;Google Nexus One %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_0D02&MI_01 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E11 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E12&MI_01 ;Google Nexus S %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E21 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E22&MI_01 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_4E23 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E24&MI_01 ;Google Nexus 7 %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4E40 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E42&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01 ;Google Nexus Q %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_2C10 %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_2C11 ;Google Nexus (generic) %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4EE0 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE4&MI_02 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE6&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE7 ;Google Glass %SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_9001 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_9001&MI_01 ;Project Tango (generic) %SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4D00 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D02&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D04&MI_02 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D06&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4D07 ; ; MY DEVICES HARDWARE IDS / X64 / START ; ;Nexus 4 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2&REV_0228&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4EE2&MI_01 ;Motorola Moto G %CompositeAdbInterface% = USB_Install, USB\VID_22B8&PID_2E76&REV_0228&MI_02 %CompositeAdbInterface% = USB_Install, USB\VID_22B8&PID_2E76&MI_02 ;Motorola Networking Interface %CompositeAdbInterface% = USB_Install, USB\VID_22B8&PID_2E82&REV_0228&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_22B8&PID_2E82&MI_01 ;i.onik TP9.7-1500DC Retina %CompositeAdbInterface% = USB_Install, USB\VID_2207&PID_0006&REV_0222 %CompositeAdbInterface% = USB_Install, USB\VID_2207&PID_0006 ;Sony Xperia M Dual C2005 %CompositeAdbInterface% = USB_Install, USB\VID_0FCE&PID_519B&REV_0228&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_0FCE&PID_519B&MI_01 ;Lenovo IdeaTab S6000-H %CompositeAdbInterface% = USB_Install, USB\VID_17EF&PID_75E2&REV_0255&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_17EF&PID_75E2&MI_01 ;Samsung Galaxy Note Edge ;SAMSUNG_Android %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_0400&MI_03 %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_03 ;CDC Serial %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_0400&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&MI_01 ;Samsung Galaxy S4 GT-I9500 %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_0400&ADB %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&ADB %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&ADB %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&MI_03 %CompositeAdbInterface% = USB_Install, USB\Vid_04E8&Pid_6860&MI_03 %CompositeAdbInterface% = USB_Install, USB\Vid_04E8&Pid_6860&Class_FF&SubClass_42&Prot_01 %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&Class_FF&SubClass_42&Prot_01 ;Samsung Galaxy S4-mini GT-I9190 %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_0400&ADB %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&ADB %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&ADB %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&MI_01 %CompositeAdbInterface% = USB_Install, USB\Vid_04E8&Pid_6860&MI_01 %CompositeAdbInterface% = USB_Install, USB\Vid_04E8&Pid_6860&Class_FF&SubClass_42&Prot_01 %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&Class_FF&SubClass_42&Prot_01 ;HUAWEI G610-U20 %CompositeAdbInterface% = USB_Install, USB\VID_12D1&PID_1038&REV_0255&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_12D1&PID_1038&MI_01 ;HUAWEI U8950-1 %CompositeAdbInterface% = USB_Install, USB\VID_12D1&PID_1038&REV_0231&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_12D1&PID_1038&MI_01 ;Samsung Note 10.1 SM-P6012 %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&REV_0400&ADB %CompositeAdbInterface% = USB_Install, USB\VID_04E8&PID_6860&ADB %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&ADB %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&MI_03 %CompositeAdbInterface% = USB_Install, USB\Vid_04E8&Pid_6860&MI_03 %CompositeAdbInterface% = USB_Install, USB\Vid_04E8&Pid_6860&Class_FF&SubClass_42&Prot_01 %CompositeAdbInterface% = USB_Install, USB\SAMSUNG_MOBILE&Class_FF&SubClass_42&Prot_01 ;HTC Desire 616 dual sim Android Phone %CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0EDD&REV_0216&MI_01 %CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0EDD&MI_01 ; ; MY DEVICES HARDWARE IDS / X64 / END ; [USB_Install] Include = winusb.inf Needs = WINUSB.NT [USB_Install.Services] Include = winusb.inf AddService = WinUSB,0x00000002,WinUSB_ServiceInstall [WinUSB_ServiceInstall] DisplayName = %WinUSB_SvcDesc% ServiceType = 1 StartType = 3 ErrorControl = 1 ServiceBinary = %12%\WinUSB.sys [USB_Install.Wdf] KmdfService = WINUSB, WinUSB_Install [WinUSB_Install] KmdfLibraryVersion = 1.9 [USB_Install.HW] AddReg = Dev_AddReg [Dev_AddReg] HKR,,DeviceInterfaceGUIDs,0x10000,"{F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}" [USB_Install.CoInstallers] AddReg = CoInstallers_AddReg CopyFiles = CoInstallers_CopyFiles [CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll" [CoInstallers_CopyFiles] WinUSBCoInstaller2.dll WdfCoInstaller01009.dll [DestinationDirs] CoInstallers_CopyFiles=11 [SourceDisksNames] 1 = %DISK_NAME%,,,\i386 2 = %DISK_NAME%,,,\amd64 [SourceDisksFiles.x86] WinUSBCoInstaller2.dll = 1 WdfCoInstaller01009.dll = 1 [SourceDisksFiles.amd64] WinUSBCoInstaller2.dll = 2 WdfCoInstaller01009.dll = 2 [Strings] ProviderName = "Google, Inc." SingleAdbInterface = "Android ADB Interface" CompositeAdbInterface = "Android Composite ADB Interface" SingleBootLoaderInterface = "Android Bootloader Interface" WinUSB_SvcDesc = "Android USB Driver" DISK_NAME = "Android WinUsb installation disk" ClassName = "Android Device"

6. Now we are good to go. With Settings > Developer Options > Android Debugging checked and your device still connected, go back to your Control Panel > Device Manager on your PC and right click on your Android device name with the yellow exclamation mark, then choose Update Driver Software… and follow the on-screen instructions. It will ask for your driver’s location and you must provide it with the modified driver’s directory. If you’ve done everything right, Windows should be able to detect the device and warn you with the following window (Figure 5.):

7. This happens because by comparing the hash of the file, Windows knows that the file has changed. And since these changes are not from Google, for security reasons, it warns the user. We know we changed that file, right? So, proceed with the installation by hitting the Install this driver software anyway button. Note on Windows 8, 8.1 and probably 10, due to stricter security policies you won’t be able to install the modified driver, even though you have chose Install this driver software anyway option. We will come to that later, and I’ll show you a way to bypass that too.

8. Once more check Control Panel > Device Manager to see if the driver installation was successful (Figure 6.).

9. The last step is to verify whether ADB recognizes the Android device or not, using adb devices command (Figure 7.):

Windows 8 / 8.1 / 10 instructions: OK, if you are on Windows 8 or newer versions of Windows, disable Driver Signature Enforcement before installing the modified driver by following these steps (note that it requires a reboot on your PC):

Step 1: Press WIN_KEY+C to open the Charm menu or by moving your mouse courser to the lower right edge of the screen and then click the gear icon also known as Settings:

Step 2: Select Change PC Settings:

Step 3: Select Update and Recovery:

Step 4: Select Recovery, then Restart now in the Advanced startup section:

Step 5: Click on Troubleshoot button:

Step 6: Click on Advanced options button:

Step 7: Click on Startup Settings button:

Step 8: Click on Restart button to reboot your PC:

Step 9: After rebooting your PC you will see the following screen. Press F7 on your keyboard to boot with Driver Signature Enforcement feature disabled:

Step 10: Go to Control Panel > Device Manager and proceed to the driver installation as described in the main driver installation process, steps 6 to 9 (where you’ll get the Windows Security warning, Figure 5.). Please note that after rebooting your PC, Driver Signature Enforcement will be enabled again. So, you don’t have to enable it manually.