Issue: adb and fastboot modes for the same Android device are recognized as separate devices under Windows
Scenario: the device is visible with adb devices but is not detected with fastboot devices and the other suggestions here don't work; you still end up with "waiting for device" on Windows and aren't able to choose a driver to install via rahul pandey's answer using the Google USB driver.
Possible Solution: manually update the driver for your device in Device Manager while it's connected in fastboot mode
Steps:
- Download and install the Android USB drivers for your device. For example, Samsung drivers for Samsung phones or the (venerable) Google Galaxy Nexus
- Reboot device into fastboot mode using
adb reboot bootloader or by pressing Volume Up + Volume Down + Power buttons simultaneously
- Open Device Manager
- Unplug/plug in your Android device so you can easily find your unrecognized device in the list
- Under Other Devices find your Android phone with a yellow triangle
- Right-click on it and select:
Update driver > Browse my computer for driver software > Let me pick from a list of available drivers on my computer
- Look for the driver you just installed and select it. For my Google Galaxy Nexus it was
Samsung Android ADB Interface.
With any luck that will solve your problem. Now you can use the bootloader unlock method for your device (or, in my case, flash an OEM ROM).
Thanks to: https://android.stackexchange.com/a/106468/52235 for pointing me in the right direction.