Nexus six errored during update (to nougat?), now stuck on boot animation

A

AC Question

My wife's nexus 6 just tried to update (Maybe to nougat? She didn't look too closely). But the update refused to run because she didn't have enough space.

So we tried to download an app that would allow us to back her phone up to our NAS. But there wasn't enough space for that either. But the play store helpfully showed us a list of apps on her phone that we could delete. So we deleted a bunch of apps that she never uses. Our NAS app was all set to download when suddenly the phone went into a system update mode. Maybe we cleared enough space for that to work?

At any rate the phone slowly updated for about fifteen minutes (I could see the progress bar slowly move). Then, suddenly, we got a dead android with the simple message: error.

We left it like that for about ten minutes but nothing happened. So then we just tried rebooting it. Now it is stuck on the boot animation. We have let it sit for about twenty minutes, but all we get is the boot animation.

I tried to boot into recovery mode, but that just shows me the dead android with a "no command" message.

I can hold down the power, volume up, and volume down buttons (tapping then all together a number of times) that gets me into a low level menu. But that menu basically just allows me to boot, or reset the phone.

I'd really really prefer not to reset the phone because she has a lot of data on there. We were trying to back it up before it updated but the damn thing just went ahead and did it before we could back up.

What are my options at this point? What do you suppose went wrong?
 

bvz2000

Member
Dec 4, 2014
8
0
0
Visit site
Code:
(I am the OP, don't know if I am logged in as me or not)

More info: It never stops the boot animation, even after over an hour. Also, the phone is pretty warm.

I just tried wiping the cache partition and restarted, but to no avail.

Finally, I cannot seem to power the thing off! No matter how long I hold the power button, as soon as I let go I go right back to the boot animation.


I am installing android studio on my Mac. Is there a way for me to shell into the Nexus and copy off any files that I want to rescue?


Another alternative: Can I download the latest Nougat image (the official one for the Nexus 6) as a file on my Mac and use "apply update from adb" to re-try the update?


Edit: Got adb up and running on my Mac. I can run

adb devices -l

and I get:

List of devices attached
<serial no> sideload usb:4245880832X product:shamu model:Nexus_6 device:shamu


But only when I am in the "Apply update from adb" mode.

I also tried:

fastboot flashing get_unlock_ability

just to see if I can communicate with the device, but I only get:

< waiting for any device >
ERROR: Unable to create a plug-in (e00002be)

Similarly

fastboot devices

just gives me back nothing

Clearly I don't know what I am doing here. That said, I am relatively comfortable on the Linux command line so technical suggestions should hopefully not be wasted on me. Thanks for any and all insight!


Edit:

Final update for the evening. I downloaded twrp and tried to load it using:

fastboot flash recovery twrp-3.0.2-0-shamu.img

but I still only get:

< waiting for any device >
ERROR: Unable to create a plug-in (e00002be)


I managed to actually power off the thing using the "power off" menu item. So there's that I guess.

In any event, if anyone has any ideas it would be greatly appreciated!


Ok, so I haven't gone to bed yet. One more update...

I managed to figure out how to use fastboot. I had to be on the bootloader screen, not the recovery menu. So I did that but when I tried the following I get this:

> fastboot flash recovery twrp-3.0.2-0-shamu.img
(bootloader) slot-count: not found
(bootloader) slot-suffixes: not found
(bootloader) slot-suffixes: not found
(bootloader) has-slot:recovery: not found
target reported max download size of 536870912 bytes
sending 'recovery' (11585 KB)...
OKAY [ 0.371s]
writing 'recovery'...
(bootloader) Not allowed in LOCKED state!
FAILED (remote failure)
finished. total time: 0.379s


So, it looks like my bootloader is locked? Can that be un-locked while the phone is in this state?

Edit again:

Apparently sleep is not on the menu tonight :)

I trie to unlock the bootloader using "fastboot flashing unlock". It appears to have worked based on the following feedback:

> fastboot flashing unlock
(bootloader) slot-count: not found
(bootloader) slot-suffixes: not found
(bootloader) slot-suffixes: not found
...
OKAY [ 0.002s]
finished. total time: 0.002s

But when I try to install twrp img I get this still:

> fastboot flash recovery twrp-3.0.2-0-shamu.img
(bootloader) slot-count: not found
(bootloader) slot-suffixes: not found
(bootloader) slot-suffixes: not found
(bootloader) has-slot:recovery: not found
target reported max download size of 536870912 bytes
sending 'recovery' (11585 KB)...
OKAY [ 0.365s]
writing 'recovery'...
(bootloader) Not allowed in LOCKED state!
FAILED (remote failure)
finished. total time: 0.367s


One final edit:

It appears that if I unlock my bootloader that I will wind up wiping the data from the device? Hmmm.
 
Last edited:

bvz2000

Member
Dec 4, 2014
8
0
0
Visit site
Ok, final update.

As far as my research goes, it appears that there is no way to recover the data from a device in this state (locked bootloader, boot loop after a failed - bog standard - OTA update). Hopefully most of the data is backed up (I think her photos are backed up, I know her contacts are. Most of her other data is stored in evernote so that should be good as well).

Also, she needs a phone more than she needs all of that data so... I dived right in. In case anyone else is in this situation, here is a quick write up of what I did: (This guide is specific to my situation running on a Mac. You will need to have some ability to use the command line to make it work).


First, I installed the android developer sdk on my Mac. I decided to install the whole thing because there is enough mucking about in the command line that I didn't want to accidentally not install ALL of what I needed. To do that I went to here:

https://developer.android.com/studio/index.html

and downloaded the app. I then started it up and it asked me to download some more data, so I let it. Once it was done, I went to the following location in the finder to confirm that I had the tools I needed:

/Users/<username>/Library/Android/sdk/platform-tools/

I then opened a shell and went to the same directory by typing:

Code:
cd /Users/<username>/Library/Android/sdk/platform-tools/

Note: you will have to enter your own login where I have <username> above.

I then added this to my path variable. You will have to run this command once for every time you open a new terminal window:

Code:
export PATH=$PATH:/Users/<username>/Library/Android/sdk/platform-tools

Once again, note that you have to replace <username> with your own login. For those of you more familiar with Unix-y type systems, you will want to add this line to your .bashrc file. Once you do that you will no longer have to type it in manually each time you open a new terminal window.

Next, test to make sure adb is running. Type:

Code:
adb

You should get a page full of text that explains all the different options it has. It will look a little like this (though I have truncated the output because I don't want this post to be TOO long):

Code:
Android Debug Bridge version 1.0.36
Revision 84e3321d5db3-android

 -a                            - directs adb to listen on all interfaces for a connection
 -d                            - directs command to the only connected USB device
                                 returns an error if more than one USB device is present.
 -e                            - directs command to the only running emulator.
                                 returns an error if more than one emulator is running.
 -s <specific device>          - directs command to the device or emulator with the given
                                 serial number or qualifier. Overrides ANDROID_SERIAL
                                 environment variable.
 -p <product name or path>     - simple product name like 'sooner', or
                                 a relative/absolute path to a product
                                 out directory like 'out/target/product/sooner'.
                                 If -p is not specified, the ANDROID_PRODUCT_OUT
                                 environment variable is used, which must
                                 be an absolute path.
 -H                            - Name of adb server host (default: localhost)
 -P                            - Port of adb server (default: 5037)
 

.
.
.


  - If it is "system", "vendor", "oem" or "data", only the corresponding partition
    is updated.

internal debugging:
  adb reconnect                  Kick current connection from host side and make it reconnect.
  adb reconnect device           Kick current connection from device side and make it reconnect.
environment variables:
  ADB_TRACE                    - Print debug information. A comma separated list of the following values
                                 1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp
  ANDROID_SERIAL               - The serial number to connect to. -s takes priority over this if given.
  ANDROID_LOG_TAGS             - When used with the logcat option, only these debug tags are printed.

If you get this far, your adb is up and running.


Next, reboot your Nexus 6 into fastboot mode. To do that hold the power button and the volume down button down at the same time. After a bit, you should get the fastboot menu which is a bunch of colorful text and an android robot at the top. From here, use the volume up button to switch to recovery mode (each time you hit it, there will be a different label next to the power button, one of them will be "recovery mode"). Once there, hit the power button to actually enter recovery mode.

In my case, I didn't get recovery mode. I got a dead android and a label that says "no command". From here what I had to do was (at the same time) push power, volume up, volume down over and over. I.e. push all three buttons down and release. I had to do this up to 10 to 12 times before I finally got the recovery menu.

Next, download the ROM from the google website.

https://developers.google.com/android/ota

I found mine (Nexus 6) and hit the download link. Wait till it completely downloads.

Once it does, check the checksum to make sure it matches what was printed next to the download link. Example of the download link:

Code:
7.0.0 (NBD91P)	Link	884ad5e6de93777c397abbd8c629c9337237bcde398be9d1a355ff6cbaf450d7

To check your checksum, type the following:

Code:
shasum -a 256 /Users/<username>/Downloads/shamu-ota-nbd91p-884ad5e6.zip

As always, replace <username> with your user login, and where I have "shamu-ota-nbd91p-884ad5e6.zip" you have to put the actual name of the zip file you downloaded. Of course, if you downloaded that file somewhere else, you need to put the correct path in there.

It should print out a string of letters and numbers that match what you saw next to the download link. I know you are tempted to skip this step, but don't. In my case there WAS a discrepancy (which I didn't notice because I skipped this step) and the whole thing failed. Once I re-downloaded the file and checked it, it matched and everything worked.

If the checksum matches, next make sure your phone is plugged into your Mac via USB. If "android file transfer" starts up (it didn't in my case) make sure you quit it. If not, you might get an error about the server not matching the client versions. If that DOES happen (it did to me) you might have to delete "android file transfer" from your computer and then restart your computer. If you do that, you need to re-open a terminal window and re-type the "export PATH=$PATH:/Users/<username>/Library/Android/sdk/platform-tools" line before returning to this point.

Now that your phone is in recovery mode, you have adb installed and running on your Mac, and your phone is plugged into the computer, do the following:

On your phone, use the volume down button to select the line that says something like "install from adb" and hit the power button to select it.

On your computer, type:

Code:
adb sideload /Users/<username>/Downloads/shamu-ota-nbd91p-884ad5e6.zip

Again, replace <username> with your user login, and the path to the full file with the one you downloaded. The ROM will download to your phone. Once it is done, you may disconnect your phone and choose the "reboot now" option using the volume buttons and the power switch.

Your phone SHOULD reboot into a clean version of the OS you just installed.

Good luck!

And BACK UP YOUR PHONE ON A REGULAR BASIS! Wise words from someone who may have just been burned by not following them.
 

Forum statistics

Threads
943,206
Messages
6,917,804
Members
3,158,879
Latest member
andej