Kindle Fire Stuck at Boot Logo – Solved!

Brick1 copy

My Kindle Fire suddenly went into a loop during boot. It’s just showing the Kindle Fire logo (with animation) at start up and it just stays there. No home screen, no slide to unlock screen. My Kindle Fire unit was not rooted so I was not expecting anything like a boot loop. If anything messed up the firmware it should be the automatic update from Amazon. Kindle Fire Software Version 6.3 as of this writing.

Again my Kindle Fire was not rooted but I know the base system is Android 2.3 so I decided to do some tinkering about Android. I have some knowledge about Android due to past gadgets that I have rooted with the help of the guys from XDA. They have a dedicated section for Kindle Fire Android Development, good news (for my Kindle Fire)!

ADB

Android Debug Bridge is part of the Android SDK which is often used for manual rooting of Android devices. I have my Mac and Windows machine installed with ADB so I can switch from either system to connect to an Android device. In this case with my Kindle Fire, I was able to connect using ADB even it is stuck in the boot logo. That is a good sign.

Issuing a adb shell command gives a “$” prompts which indicates that I’m not rooted. I cannot do much if I’m not rooted so I tried the following methods to root my unit.

Methods I’ve Tried

Kindle Fire Utility

Kindle Fire Utility Screen

One of the popular Kindle tools in XDA is the Kindle Fire Utility. The tool is written using Windows batch file which means its a Windows only method. I’ve tried option 3 which is to “Install Permanent Root with Superuser”. No response from my Kindle Fire and the tool seems to be waiting for my Kindle Fire to respond as well. Hmmm, not working!

SuperOneClick

SuperOneClick Screen

I’ve tried SuperOneClick before to root my Nook Tablet. Since the SuperOneClick tool is a generic rooting tool, I thought I could try using it to root my Kindle Fire. I’ve clicked root, but again no response. SuperOneClick even went to “Not Responding”. Not working.

Kindle Unbrick Utility

I noticed the tools I’ve used cannot even go into the first step of rooting. Which means the loop happens even before the actual system is booted. I tried searching other tools and I found the Kindle Unbrick utility. I like the name, sounds very helpful in times of desperation.

Kindle Fire Unbrick Utility Screen

I’ve tried the “Stuck at Logo” option. No response again. Maybe I’m missing something, so I went digging further to the commands used by the tool. Found that it is using this command:

FilesandTools\adb shell idme bootmode 4000
FilesandTools\adb shell reboot

Since my Kindle Fire is having a boot loop, it just makes sense that I need to change a mode in the way it is booting. I need to change the boot method to go to fast boot.

Fastboot Mode

There is a post in XDA about Fastboot mode without rooting or cables which have the code needed to run to be able to fast boot to a Kindle Fire.

adb push fbmode /data/local/tmp
adb shell chmod 755 /data/local/tmp/fbmode
adb shell /data/local/tmp/fbmode
adb reboot

The problem is when I issue this command, I still get no response from my Kindle Fire. ADB is not responding as well. What to do now?

The Solution

Since there is a boot loop, I need to get ahead of the Kindle Fire boot step where I can issue the ADB commands before it goes into the loop. I restarted my Kindle Fire while it is connected to my machine through a USB. I left the ADB command prompt open and while the Kindle Fire is restarting I am issuing the adb push fbmode /data/local/tmp command. I got several errors that there was no device. On one of my attempts I was able to get a confirmation that the fbmode file was sent to the Kindle Fire (screen will show bytes transferred).

Lo and behold my Kindle Fire is now in the home screen! The key is to issue the adb push fbmode command before it gets into a boot loop.

This is technique is not documented to my knowledge until now. I’m blogging this technique as my contribution to the Android developers in XDA :) Hope this helps!

by