Shared publicly  - 
 
Universal ADB (Android Debug Bridge) Driver for Windows

My test matrix for Carbon and Tether includes several phones and several versions of Windows. Both apps require that the user has ADB installed on their PC to function.

For whatever reason, every phone manufacturer has their own adb driver, so I end up installing like 3-4 different drivers when I do my testing. It's a royal pain in the ass, and is also asking a lot of the end user of one of my apps to do this.

This driver should work on all Android phones for all versions of Windows. [1] It does not require that you turn on test signing or disable driver verification or even reboot. This is done by automatically installing ClockworkMod as a trusted certificate and publisher into the local machine's certificate store during the setup process.

Here's the installer file:
http://download.clockworkmod.com/test/UniversalAdbDriverSetup6.msi

Here's the Github source code:
https://github.com/koush/UniversalAdbDriver

Thanks to an XDA thread for gathering the device/vendor ids:
http://forum.xda-developers.com/showthread.php?t=1161769


Let me know how it works.

[1] On Windows 8, after downloading, choose "More Info" then "Run anyway".
881
238
Abhinav Vijay's profile photoMatthew Scott's profile photoBrian Rohan's profile photoRollin Ronemus's profile photo
192 comments
 
If that works for fastboot as well, it will be huge help indeed. Does it currently?
 
This is the kind of stuff that we need and I'm surprised it hasn't been done already.  Thank you.
 
They use one adb driver, the hardware/mfg Id just had to be added to the inf file...
 
Is there any dis-advantage to installing this? Will it make ADB driver's less of a pain for other things, or just your apps? Thanks
 
+Chris Pick I'm aware. I stated that in the post. My point was that google should have released a unified driver.
 
It looks like you pretty much have a large collection of hardware/mfg ids.. Don't get me wrong, it helps, I just think the name is a little misleading they all use the winusb driver.. You do probably have 95% device (number of units sold) coverage though... I just wish that there could be a way to have a true driver which would auto install for any android device.. I just think it probably won't happen because of the hardware/drivers in windows...

Actually, what if the inf was setup as just a monster wildcard for both hardware/mfg Id? Wonder if that would work... Guess the negative part is that winusb would be used for default whenever a device could not find a driver...
 
Yeah, did not think the did.. I may play with it a bit tonight, will let you know.. 
 
good.
That was really annoying still less than having to install iTunes :)
 
oh man, ADB drivers are a big enough headache for the end user when they get a new phone. I can't imagine how bad they are for developers.
 
"This is done by installing ClockworkMod as a trusted certificate and publisher into the local machine's certificate store."

CYANOGENMOD IS INVADIN OUR SECURITAHS
 
+Koushik Dutta  They may actually work. I removed all the VID/PID references from my inf file, and I uninstalled driver (and deleted them).. I tried to install the google drivers, and it said this file does not contain anything about the driver for this device.. 

I then went and added this, and it worked..

%SingleAdbInterface%        = USB_Install, USB\*
%CompositeAdbInterface%     = USB_Install, USB\*
 
+Koushik Dutta  But the install path is not 100% basically you have to go do :
Update Driver -> Browse Driver -> Let Me Pick from a list (search location does NOT work) -> Show all devices -> Have disk -> (point to the inf file) -> choose ADB/Composite.. 

Maybe this could be the 'fail-over' for ones that don't match the list? You could still force install them this way.. Then it would be a universal ADB :)
 
+Chris Pick What's this about install path? Will it not automatically detect/install with that change?
 
+Chris Pick To clarify, I install the INF with SetupCopyOEMInf. Connecting any Android device results in the driver automatically being used. No messing w/ paths or device manager is necessary.
 
Windows users know how to do these things? 
 
+Koushik Dutta adb on windows has problems supporting multiple devices at a time. Normally after plugging in 5 devices the 1st one kind of disconnects. Does this driver help address this issue?
 
Nice +Koushik Dutta  did was not aware of that.. I may have to try that in a bit and see how it works w/ the wildcards, not sure it will b/c the wildcards seem to require some kind of hardware match, unless you force it per my instructions above.. Thanks though.. If there are other hardware IDs that you could include, would you want them?
 
NB: as of 4.0 or 4.1, it's strongly recommended that all Android devices identify themselves the same way over USB, so that a single adb "driver" will suffice for the whole ecosystem.  This has started rolling out in recent devices across manufacturers, and should make a lot of people happier.
 
Great,thanks this will simplify my working on my far too many android devices.
 
Will this allow carbon to work with moto devices or is that a phone side issue? 
 
this is amazing. Every time I get a new phone I have to go around a stupid process of installing PDANet and the Android SDK when all I want is fastboot, and then work out why that isn't working. This is a massive time saver.
 
Thank God someone made this. I'm sick of using PDAnet.
 
Well this will be handy for future endeavors... 
 
+Christopher Tate In terms of what's in the default USB composition, or VID/PID pairs? I don't really see OEMs going for a single VID that isn't their own :)
 
Strange, I've never installed any driver ever and ADB always just works with every phone on my Mac.
 
Wow obviously spyware...not like its open sauce or anything...
 
Vini, lets learn how to spell before we post. Thank You. And have a fantabolous day.
 
Driver works great on Win8 x64 but the installer doesn't pass Smartscreen for some reason.
 
How does this work for all the future devices? o 
 
I used to edit the inf file in the driver and disable signature verification. Thanks to this, we dont need to do that again...
 
This is the best thing to happen to Android since Facebook gave Google hints about how to overcome carrier skinning.  Thank you sir.
 
+Koushik Dutta Apparently Google has an issue with having Device IDs owned by someone else in their official driver inf. At least that's the explanation I got when I uploaded a change that added the GSM Galaxy Nexus to it. For some reason that device, unlike other Nexus devices does not use a Google-owned Device ID so that's why they left it out.
 
I believe Windows has a generic 'fallback' for USB device ids.

%CompositeAdbInterface%=USB_INSTALL, USB\Class_ff&SubClass_42

Once defined for
.NTx86
.NTamd64
should work for most devices

http://pastebin.com/57XrHRg1
kanged from PdaNet
 
Thank you, thank you, thank you! I have about 6 different devices, and am on win 8, this will be a huge help!
 
So you're saying that if I wanted to install a malicious driver, I could get around the signing requirements by having my installer add my certificate to the local certificate store?

Is it that easy to get around Windows' driver verification? 
 
Thank you Koush, it's much appreciated. Should make my life bit easier now...
 
Great idea. My solution was permanently turning on test mode on Windows 8.
 
+Nathan Fellman You can do anything if adminstrator access is granted, yes. That's the purpose of a certificate chain.

I believe normally signed drivers can be installed without administrator access, as the root cert is in the trusted local machine store. That's the difference.
 
+Nathan Fellman  Yeah if people install and already grant admin access you gain no benefit from adding to the certs first except getting around the unsigned driver prompt, but if they were stupid enough to install a scrupulous app then they are probably stupid enough click yes to unsigned drivers too.

There is much more interesting stuff that could be done with a root cert though.
 
+Daryl Bizsley Yep. The root certificate is not ideal. It costs around $200 a year for a driver signing certificate. I may end up doing that.
 
+Koushik Dutta I'm happy to have it my store. In koush we trust and all that, but i can imagine a vocal few (like the recent CM stats debacle) would give you a bad press. The $200 a year could be worth it in the long run. As a side note, good job on the driver takes the pain out of searching for the manufacturers driver.
 
Pretty cool...if only adb was working in cm nightlies for toro...
 
I'm surprised no one has mentioned this yet, but there seems to be some issue with current fastboot drivers and USB 3.0. I have a newer laptop that only has USB 3.0 ports and have yet to find a way to get fastboot working with an HTC device. I was hoping this would address the issue, but it still doesn't work :/
 
Thank you Koush.
Your work is coooool.
 
Can't get debugging to work on MTP on Nexus 4... weird, works fine with toolkit drivers
 
I just install it, and how can I run this software? because it not create sortcut on my desktop or start screen, i'm on windows 8 
 
Thanks a lot!!!!!

May be you can make something with MTP, to use it like flash???
 
+Anthony Plummer Mac is Unix. A watered down version of Linux IMO. They don't use drivers for ADB and Fastboot. Its easier to fix bricks on Linux/Unix for that reason, also IMO.
 
I use Ubuntu for bricks. God knows I've bricked all of my toys hundreds of times. Almost thought I lost my N7.
 
Could anyone actually tell me why they aren't driver dependent for Fastboot and ADB? I've wondered that for some time.
 
Koushik, could I submit our Dell drivers to you?
 
Thanks, I will do that as soon as I get my motherboard back from RMA. I'm having difficulties with it though since the ADB changes with signing and haven't been able to get it to see my device after I created a new ROM.
 
Thanks +Koushik Dutta! Moving development between my mac and windows machines is now easier. Works great on windows 7 with multiple android devices. This driver makes life so much easier!
 
My GS3 isn't showing up for adb using this driver. My touchpad does just fine.
 
I can confirm this. ^^^ I can't get my hercules, d2att, or skyrocket to connect at all. The Samsung portion is seeming to have some difficulties. I get it to work on all but Sammy.
 
I tried on a clean install of W7 and an old one with and without it's drivers for Sammy. x64 if that helps.
 
Actually, my touchpad doesn't. It was still referencing the google driver w/ a modded INF file.

;Touchpad Developer Mode (No MTP/PTP)

%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_D002
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_D002&REV_0227

;Touchpad32GB-Refurb From ScrawnyB

%SingleAdbInterface%        = USB_Install, USB\VID_0BB4&PID_0C02
%CompositeAdbInterface%     = USB_Install, USB\VID_0BB4&PID_0C02&REV_0227

;Touchpad64GB-Bat420 Fix (Dev Mode + MTP)

%SingleAdbInterface%        = USB_Install, USB\VID_0BB4&PID_6860&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_0BB4&PID_6860&REV_0227&MI_01

;Touchpad (Dev Mode + PTP)

%SingleAdbInterface%        = USB_Install, USB\VID_0BB4&PID_6866&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_0BB4&PID_6866&REV_0227&MI_01
 
I am looking for the new adb source code and all I find are 3 .dll files in each OS.   Comparing with the old driver, there are only 1 dll file and 1 release binary file (*.sys) about 25 KB.  New adb driver is much bigger than old driver.....

Why Android team no longer release the source code....
 
I don't have window 8, am using galaxy s628 Samsung phone
 
The install runs without problems, but the exe doesn't do anything (I'm running Windows 8 Pro 64bit).
 
I could F*CKING KISS YOU! (read as: works great).
 
It works like a charm dude on Win8 x64. Nothing else would work :).
Now all ADB commands (at least the ones that I use ;) ) works...
Thanks a zillion dude :-x
Root -e
 
Works great, install had no problems. Windows 8 x64. I have a phone by a local manufacturer that did not release any ADB at all! because there was no demand for it and this just solved all my problems, I can finally use the debug mode!
 
Hi there I installed you universal ADB driver package but it does not seem to identify my device is there away you or i can add my device to this driver total noob here trying to root my tablet with no joy so far
 
Thanks. This is the same one the guy includes in his Nexus 4/7 toolkit. Works perfect on all my machines for all my devices. Adb is a must, so this is a must.
 
If the universal ADB tool doesnt work you can also try AllminipcTool V0.3b just give it a google
 
Thanks!!! I was having some issue getting my Nexus 4 and Nexus 7 working with ADB (I had to re-install windows and forgot to save my ADB file from before).  Your a life saver!
 
This not working for me...I want to list my device on My Computer too...
 
Hi. Tried it and that didn't work either. No ADB on my system (through Device Manager, at any rate) even though I have it installed and it was all working last week. Don't know whether one of the Critical Updates that installed itself has anything to do with it and my last Restore point was over a month ago. Usually there's dozens! Kies does not recognise my Note 1 (with the upgrade so pretty much a Note 2) and SapPeea works in WIFi only. The data cable works so it's not that.
 
Thanks, you're a life saver worked after install.
John 
 
You solved my problems, also. After days of frustration, your drivers allowed my Nexus 4 to connect as both an MPT and PTP device. 

BIG Thanks!
 
How the fuck did it take me months to see this!?
 
Yeah Windows 8.1 breaks it completely. Nexus 4 and my Htc one dont connect anymore.
 
Windows 8.1 - CM 10.1 based N7000 can get mtp. Nexus 4 and 7 only ptp. I wiped my computer and used the 8.1 preview ISO from MS and proceeded to re install everything including my Adobe CS6. I did get my nexus 4 mtp working and I would get a little icon showing that my nexus 4 is connected (an icon in file explorer before C drive) where I can easily transfer any file.    Was great until I decided to wipe my system again so I could have a clean install of Adobe CC  (wanted to try it out) and now my nexus mtp is broken. ptp is okay but mtp does not show the icon as before and noway to transfer files.   Any help to get mtp back would be greatly appreciated.
 
Hi! Can anybody help me to find an adb driver for IMPERIUS TAB 10LT MT7010 on Win8 x64? 
 
Can not you use the universal adb driver?
 
Is there a way to tether my phone and hook up a wireless router or gateway to bridge the connection so I can share my phone with my wireless devices in the house?
 
After a long battle trying to sideload 4.3 onto my N4 your post/patch saved me. Cheers
 
Hi Koushik, thanks a lot for this great package it has helped me quite a lot!
 
I'm on win7 x64 with a nexus4 and this is not working for me on two different computers.  Is there a way to verify if it is installed correctly?  I did the whole uninstall, reboot, make sure nothing else is running, install new drivers, etc etc... plug in phone and run ADB test and it fails every time.
 
I've been trying to root my android device but i can't get past installing drivers for my phone. I tried installing the Universal ADB driver(composite ADB interface because my device is not listed) but can't get the Flash tool to recognize my phone. I'm i doing something wrong or is my phone not supported? Using Lenovo A390t and Windows 7 x64. Thanks!
 
Another +1 for win 7 x64 not working.  :(

I don't want to load this thread up w/ negativity, 'cos it looks like a great driver that should work for almost everyone...  Is there a way to build the driver for x64 systems (or, perhaps, could this be caused by elevated security settings on my laptop)?
 
hi Koushik , 
I have chaina made ABO a810 phone with android 1.5 . but idont found the adb drivers for this.
it accept acer be touch 130 driver for the usb disk and network but adb not working , how i use the generic driver . 
Help how to root. 
 
Thank you so much for this. The official Android emu is horribly, unusably slow and I was about to start to look at alternate emulators using Virtual Box. This driver made my Galaxy Nexus behave on my 64bit Win7 box so I don't have to do any of that. :)
E Gahl
 
yes, works with nexus 4.
 
This is AMAZING! Could you please add Asus Fonepad though?
 
This one does not work with the HP Slate 7 model 4600, I found out that the google drivers worked after adding the following lines to the android_winusb.ini:
; HP
%SingleAdbInterface% = USB_Install, USB\VID_03F0&PID_5E1D
%CompositeAdbInterface% = USB_Install, USB\VID_03F0&PID_5D1D&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_03F0&PID_601D&MI_01

Then you have to manually install drivers from device manager for them though. Maybe this will help someone.
 
Yeah, this doesn't work in Windows 8. It says it installed the driver, ADB is enabled on the Nexus 4... but nothing shows up on adb devices.

EDIT: I had to enable PTP (Camera) mode (?????!?@#?) for Adb to show up. How does that make sense??
 
This saved me a lot of time and trouble getting my DNA up and running, thanks!
 
+Alvin Brinson
 Your suggestion Alvin saved me a lot of time and headache.  With neither enabled, nothing, with MTP, nothing, with PTP, it works.  Thanks for the idea.
 
Works great on Windows 8 Thanks a lot solved my problem
 
+Koushik Dutta thank you so much for this!  One small request - could you please version these releases in the future (in the filename)?  I remember your first public release was "UniversalAdbDriverSetup6.msi" but now I just noticed your new commits on git.  The new installer is now named just "UniversalAdbDriverSetup.msi" with no version number.  Thanks again for all your work.
 
Thanks Koushik, it worked stright for me (for both nexus-4 and nexus-7)
 
I cannot say 'how' it works, but I can definitely say 'it works' (actually, I'm pretty sure how it works, but I wanted to say something definitive here).
Awesome DL--THANKS!!! Got my TF300T back online after it was dropped midway through the Flatline process! (whew!)
 
indeed ..a million thanks....i have a working adb with the help of this stuff...
 
Doesn't work for HTC Desire.. could anyone help me?
I managed to get adb working, but when i go to bootloader my device cannot be found (uknown usb device), and i cant use fastboot.
 
Worked perfectly for my Nexus 4 to enable Helium Backup.
 
Anyone having problems with this driver on Windows 8.1?
 
Yea, not working on 8.1 - big surprise. As one poster said above, just works on Mac. No messy installs. :)
 
I need adb drivers for my lg optimus 2x p990. Can i try this, i thik there are nothing for this mobile please help me!!
 
Thx, this worked great for me on windows 8.1 & with a Nexus 4 to flash KitKat using fastboot commands though I should note that adb still did not recognise the device.
 
Thank you sir! These drivers enabled me to update to kitkat 4.4 on Nexus 7 2013. Kept getting device not found error using adb sideload. Thx again. 
 
Phenomenal. This completely resolved my issues with adb on Windows 8 in forcing the OTA update for KitKat.
 
Holy! Tons of thanks mate!!!! :D 
 
It dosn't work with Toshiba Folio 100
 
thank you! 
Today was
AMD Athlon(tm) 64 X2 Dual Core 5600÷ 2.90 GHz 
under Windows 8.1
Cuccesfully connected via USB with
IPPO Y88 7" Android 4.1 4GB Dual-core Tablet PC w/ CPU 1GHz 
nice driver working
 
+Koushik Dutta  The Installer fails. Says im missing a DLL file. What? No clue where to go from here? Windows 7 with SDK and Adb installed. 
 
Does this work on the Nexus 5? I'm having driver issues
 
Thanks Alot man, it finally worked \m/, i'm using windows 8.1 and my phone is htc Incredible S
10x
 
After adding hardware IDs of my tablet (Insignia) in the inf file, I could install the drivers. However, ADB still can't recognize my device.
Di Dito
 
I had a problem where the drivers where corrected installed but doing "adb.exe devices" would report none. After spending half a day trying to solve the issue I found that the problem were that the file "adb_usb.ini" were missing in "c:\users\[your username]\.android". If u got a similar problem create that file (new text file and rename it), edit and add a line with "0x**" where ** is the device vendor id. If u don't know it u can download a utility named usbdeview (search google :)) and look at the respective column. Hope it helps some.
 
Sadly no luck for me. I am using Windows 8.1, and it installs without error message, but ADB still does not recognize my Samsung Galaxy S3.
 
This is absolutely amazing. Thank you so much.
 
+Chris Arasim which file is it asking for? If it's missing download it and paste it in your system folder in windows drive.
 
+Parth Sane it's not asking for a specific DLL. It just says "a dll required for this install to complete could not be run" 
 
thanks it works , I tried it previously ♥♥♥
 
You're a god. Thanks for your continued effort for the Android community!
 
Thank you.  I was stuck with the sdk usb driver and cwmod 6.3.3 recovery file.  It wouldn't allow adb to function b/c windows couldn't find the driver, and said the google usb driver was incorrect.  +1
 
Are there updated releases of this? Or are there instructions for building it somewhere? Thanks!
 
Any idea how to force connect device when Win accept to install only HID device rather then ADB drivers? My Nubia is heavy bricked and HID drivers are only drivers that showing up. Thank you for any help.
 
wow.. works like a charm, brings a cheer after all the frustration . God Bless!
 
Agreed - beautiful stuff, thanks so much. 
 
Hi,
I installed the MSI on Windows 8.1, but I see no new entry in the device manager window (German: "Gerätemanager"). So - did it install correctly or what?
Please help me to verify the installation.
Thanks,
Johannes
 
Thanks! Works well on Windows 8.1 x64. Your solution helped me to upgrade my tablet Nexus 7 (2013) to Android 4.4.3.
 
Works on Windows 8.1 x64 only by installing drivers manually (selected from the list as Google Nexus 4 ADB Interface)
 
Thank you so much, works flawlessly and helped me use sideloading. Appreciate your work.
 
Seems to fail on Toshiba devices. Mine is Toshiba at300, Knut Senf reported failing on the Folio.
Add a comment...