USB drivers for flashing Android: what you actually need
“My computer doesn't see my phone” is the most common wall people hit before they ever get to flashing, and the answer is almost always a driver. Which one depends on your computer's operating system and your phone's chipset — and on Linux and macOS, usually none at all.
Start here: it's a Windows problem
Drivers are a Windows concern. Linux talks to phones through libusb and needs only a udev rule to grant your user access; macOS needs nothing. If you have a Linux machine or a live USB handy, using it is often faster than fixing Windows drivers.
Everyone needs platform-tools
adb and fastbootare the two commands nearly every install guide starts with. They come from Google's SDK Platform-Tools — a zip you extract, not an installer. Get them from that page and nowhere else; repackaged “minimal adb” bundles are a classic malware vector, and they go stale, which breaks newer phones.
Then the driver for your chipset
On Windows, the phone also needs a driver so the system recognises it in each of its modes — normal, fastboot/bootloader, and the low-level recovery mode used to unbrick.
- Google Pixel and most other phones — the Google USB Driver covers adb and fastboot for Pixels and works for many other devices.
- Samsung — Odin and Heimdall need Samsung's own Android USB Driver, published by Samsung itself.
- MediaTek — flashing goes through the preloader, which appears as a MediaTek USB VCOMport for only a second or two after you plug in a powered-off phone. MediaTek doesn't publish a public driver download, so the safe route is the setup documented by the open-source mtkclient project. Treat every “MTK VCOM driver” download site as untrusted — that search term is heavily targeted by malware.
- Qualcomm — the QDLoader HS-USB 9008 port is emergency-download (EDL) mode, used to revive a bricked phone rather than for normal flashing. Qualcomm doesn't distribute it to end users either; it ships inside the manufacturer's own flashing tool. Get it from your phone vendor's tool, not a driver aggregator.
- Linux — no drivers. Add udev rules (the community android-udev-rules set covers most vendors) so adb and fastboot can reach the device without root.
If the phone still isn't detected
- Change the cable. Many bundled cables are charge-only. This is the single most common cause.
- Use a USB-A port directly on the machine — hubs, front-panel ports and USB-C adapters all cause dropouts mid-flash, which is when it hurts most.
- Enable USB debuggingin Developer options, and accept the RSA fingerprint prompt on the phone's screen. Without accepting it, adb devices shows unauthorized.
- Check the mode you're in. adb only talks to a booted phone or recovery; fastbootonly to the bootloader. Each mode is a separate device to Windows, so one can work while the other doesn't.
A word on where you download from
Driver hunting sends people to ad-heavy mirror sites offering an .exe for every phone ever made. Those bundle adware at best. Every link on this page points at the vendor or the upstream project, and CustomDroid hosts no downloads of its own — if a driver isn't published by the chipset vendor, the phone maker, or a reputable open-source project, don't run it.
Next
Drivers working? Back up your phone before you unlock anything — unlocking wipes it. Not sure which ROMs your phone can run? Search your model or find its codename first.