Windows Device Drivers and the Device Manager
Will you be writing more guides?
Thanks to everyone who read my first guide and had so many kind words to say. I sincerely appreciate the posts and decided to continue on with the series with what I feel is the greatest stumbling block for new users using the Windows OS... device drivers. Each day brings another group of users with broken devices and many don't even know if their drivers are loading correctly. I'm hoping to fill the gap with this installment of my guides. I've deviated from the style of the first post and made this more of a step-by-step tutorial rather than a general information guide. If you have not read the first post, I strongly urge you to back up and go through that before continuing.
I want to offer a special thanks to b63
, a tireless champion of the lost souls who come here seeking help. Some of the information in this guide have been borrowed from his helpful posts.
What are drivers?
Device drivers are specialized software programs necessary for the Operating System to interface and interact with hardware devices. Simply put, every attached piece of hardware needs a corresponding device driver for the computer to be able to talk to the device. Common peripherals like keyboards, mice, and thumb drives have generic drivers built into the OS, so the user need not worry about them (in most cases). However, other devices may need specific drivers to be installed by the user onto the host computer. If the OS cannot find or load up the proper drivers for the device, programs relying on the device drivers will not function properly.
With respect to the Kindle Fire, ADB drivers must be installed and functioning for fastboot and adb to send commands to the device. For users doing anything other than using the KF in the stock configuration, installing the ADB drivers will be the first step in modifying the device or troubleshooting problems. Proper installation is a crucial step and must be completed successfully before anything else can be done. Neither fastboot nor adb will be able to issue commands to the Kindle Fire without these drivers. Using Kindle Fire Utility provides no exemption because KFU uses fastboot and adb in the background to complete its tasks.
Do yourself a favor and make sure the ADB drivers get installed correctly and test them while the Kindle Fire is fully functional. Trying to get driver issues resolved when the Kindle Fire is malfunctioning just complicates matters and makes the job that much more difficult.
How do I install the ADB drivers?
The ADB drivers can be found in the Android Software Development Kit
(SDK) provided by Google. Android developers use the SDK to build software for all sorts of Android devices. If you have an interest in Android development, you might want to go this route, but you will have to edit some configuration files with Kindle Fire specific information. However, the SDK method is probably overkill for most users here.
By far, the easiest and best method of installing ADB drivers on a Windows OS based machine is to use the installer provided in the Kindle Fire Utility
distribution. Find the latest version and download it to your computer. The distribution is in the form of a ZIP archive, so the contents will have to be extracted before the files can be used. You can extract the files to any place on your hard drive, but the rest of the directions here will assume they have been placed in the "C:\kfu" folder. To do that...
- Right click on the downloaded file and select "Extract All..." from the menu
- Type "C:" into the box and press the "Extract" button
- Windows should open a window to the C: drive after extraction
- Rename the "Kindle Fire Utility" folder to "kfu"
Now the KFU files should be located in the "C:\kfu" folder. Open up the folder and you'll see an "install_drivers.bat" file among the contents. Windows may hide the ".bat" portion of the name, so it might just look like "install_drivers" in the folder. Disconnect the Kindle Fire from the computer (highly recommended) and then run the "install_drivers.bat" batch file. The installer will automatically check for the OS type (32 or 64 bit), and then install the appropriate drivers and configuration files.
Don't worry too much about Windows not being able to verify the publisher of the drivers. The warning is there because the drivers have been repackaged for use in KFU and have not been signed. It's OK to just install the driver software anyway. If Windows refuses to install unsigned drivers, that feature must be disabled before continuing. The process differs for various Windows releases, so search Google
and find a suitable method for your system.
International users may have to change the language code
in the "C:\kfu\drivers\dpinst.xml" file before installing. For example, German users should open the file with WordPad and change the "0x409" (English) to "0x407" (German).
How can I verify the drivers are loading?
The Windows Device Manager is the key to determining the status of all the computer's devices and drivers. Right click on the "Computer" wherever you can find it (the Start menu, the Windows Explorer, etc.), select "Manage" from the menu and the "Computer Management" program will start up. From the left panel, select "Device Manager" in the "System Tools" category and the large pane in the middle will show a list of device types. Click on the triangle (or plus sign) next to a device type and a list will expand to show all the devices of that particular type.
Now, connect the Kindle Fire to the computer and keep an eye on the device list. Windows will give some device detection beeps and the list will refresh with one of the following items. Refer to the table below…
Before getting into the meaning of the table above, a small detail must first be covered. For adb to interact with the Kindle Fire, it must first have the "USB debugging" feature enabled. Without this feature, Windows will not even attempt to load the appropriate driver. The stock Kindle Fire software has this feature turned on at all times, but other ROMs must have "Settings -> Applications -> Development -> USB debugging" enabled. The rest of this document assumes normal mode has USB debugging enabled.
Getting back to the table above, notice the following:
- Top row: the device is in fastboot mode. Bottom row: the device is in recovery or normal mode
- Left column: the ADB driver has not loaded. Right column: the ADB driver has loaded
- When the ADB driver has not loaded, the letter 'K' in Kindle is in uppercase for recovery or normal mode, but in lowercase for fastboot mode
- When the ADB driver has loaded, the word 'Composite' appears for recovery or normal mode, but not for fastboot mode
So, if you've managed to get the ADB drivers installed properly, you should see one of the items on the right-hand side of the table. Test it in both fastboot mode and normal mode to be sure it loads correctly in both cases.
What can I do if the drivers won't load?
Windows can be very temperamental when it comes to device drivers. Don't assume the worst right away, but try rebooting the computer, disconnecting/reconnecting the device, and restarting the device in both modes. Fastboot in particular sometimes won't get detected by Windows on the first try and may require a reboot of the Kindle Fire.
If the Kindle Fire comes up as a different device or you get a "Code 10" error, you'll have to explicitly tell Windows what driver you expect to see for the device. The steps below are for Windows 7, but they should be very similar for earlier versions of Windows as well. The following may have to be performed twice, once for normal mode and again for fastboot mode. The steps below are listed for normal mode (and the fastboot equivalent in parentheses). Be sure to have tried installing the drivers using the batch file at least once or you will not be able to complete the process.
- Connect the Kindle Fire in normal mode (fastboot mode) to the computer
- In the Device Manager, right click on the device and select "Uninstall"
- Check the "Delete the driver software for this device." box and press "OK"
- Disconnect the Kindle Fire, reconnect and reboot in normal mode (fastboot mode)
- The Device Manager should show "Other devices -> Kindle" ("Other devices -> kindle")
- Right click on "Kindle" ("kindle") and select "Update Driver Software..."
- Select "Browse my computer for driver software"
- Do not click the "Next" button, but select "Let me pick from a list of device drivers on my computer"
- Select "Android Phone" and then press the "Next" button
- Press the "Have Disk..." button
- Click the "Browse..." button, point it to the "C:\kfu\drivers\kindle" directory and press "Open"
- Press the "OK" button
- Uncheck the "Show compatible hardware" checkbox
- Select "Android Composite ADB Interface" ("Android ADB Interface") and press the "Next" button
- Select "Install this driver software anyway"
- Press the "Close" button
The device should now appear in the Device Manager.
Now I can use KFU for everything, right?
KFU is great as a preliminary setup tool, but not so good as a troubleshooting tool. Making it easy also means hiding many details from the user and those details can help you understand what's happening with the device. If you get into a jam with the Kindle Fire, you're much better off getting your hands dirty with fastboot and adb. Whether you've used the SDK or KFU to install the drivers, you got the fastboot and adb programs as part of the package deal. You might as well learn to put them to good use.
Users seem to balk at the idea of using the command line, but all you really need to know is a few simple Windows "cmd" commands to get around the directory structure. Then, you just have to learn a handful of fastboot and adb commands to become a Kindle Fire expert. That doesn't sound so bad, does it?