The Amazon Kindle Fire has been a raging success over the last few years due to its fairly low price. This has made the device popular with the Android Mod community keen to get the latest features from the latest Android OS onto the device. This is achieved via a custom ROM, several are now available for the different Kindle Fire models with those from Cyanogen Mod being popular.
Would be Kindle Fire modder’s beware, if you are unsure what you are doing and make a mistake installing the custom ROM you can Brick the device. There are several causes including recent Amazon updates, bad permissions and even the mere presence of Vending.apk (Android Market) itself. In the worst case the device goes into a recovery boot loop with the message:“Your Kindle has detected a problem and must clear app storage. The recovery process will erase some applications and data from your device. Apps from the appstore are stored in the cloud and can be reinstalled later. This will reset your kindle to its original factory settings. you will need to re-register your kindle prior to downloading items from your Amazon account. Please press power button to proceed.” However, after following the prompt the Fire reboots itself back to the same screen. The dreaded boot loop or bricked state where the device cannot be communicated with over USB. Congratulations your Kindle Fire is now as useful as a brick, albeit an expensive one! This is a serious issue as in many cases there is no adb shell or Fastboot access to the device leaving it impossible to fix without sending it back to Amazon. One solution remains – the factory cable fix.
The Kindle Fire can be brought up in factory mode by using a factory cable also known as a Fast Boot Cable. These can be found online using those search terms. This is a special micro usb cable that has pin 4 connected to +5V, a pin that’s not normally used. If you have a little DIY experience with a soldering iron its easy to make one yourself. BE WARNED!!! This has the added danger of blowing up your Kindle Fire and PC USB port if done wrong!!! Details on how to make one can be found below. When the factory cable is connected the device comes up in Fastboot mode which means custom ROM’s can be flashed to the device.
UPDATE: Be warned that larger system partitions such as system can’t be reflashed due to fastboots’ memory limit. The latest favored fix is to use TWRP 2.4 recovery tool to restore which uses the smaller recovery partition.
Making a DIY Factory Cable
WARNING: REQUIRES SOME PREVIOUS SOLDERING EXPERIENCE AND A STEADY HAND AS PARTS ARE SMALLDISCLAIMER: WE ACCEPT NO LIABILITY IF YOU SHORT CIRCUIT OUT YOUR PC IN THE PROCESS!!!!!REALLY!!! What you will need:
- USB->Mini/Micro-B USB cable
- Sharp model knife
- Soldering Iron and Solder
- Soldering tools: pliers, wire stripers, desolder
- Small piece of insulated wire (red)
- Elecrical tape
- Continuity Tester
- Optional: In case you butcher the micro end of your USB cable a handy alternative is the Sparkfun micro USB breakout board and a 100 Ohm resistor.
What to do:
- Using the model knife and pliers carefully cut away the plastic enclosure on the mirco USB end being careful not to pull or cut off the existing wires. This will vary between your cable manufacturer, hopefully you should find an empty connector for pin 4. Take your time this is the tricky-ist bit
- Solder a small piece of wire between pin 1 (existing red wire) and pin 4 (empty), being careful not to short circuit the join to the neighbouring pin. Make sure no bare wire is exposed that may short circuit during handling.
- Check between pins that there are no short circuits (pins 1-4 being the exception).
- Carefully wrap several turns of insulating tap around the socket.
- If you have trouble with these steps do try the Sparkfun USB MicroB Plug Breakout Board, its way easier to solder and avoid shorts this way.
If your device manufacturer uses this method to flash their device your device should boot into factory mode
Once you’ve used the factory cable for recovery purposes do not use it for normal use!