The Tallest Dwarf

RSSEmailMastodonNewsletterTwitterGitHubDribbbleLinkedInFacebookInstagramYouTubePinterestReddit icon

Resurrecting Nexus 6P from bootloop of death

Posted at — Jun 14, 2019 by Abishek Muthian

Nexus

Before the Pixel there was Nexus, smartphones and tablets to showcase the  latest in android with the brand of the manufacturer. They packed in latest android version with top end specifications and pathetic camera (processed image/video) quality; no wonder they didn't take off in mainstream consumer smartphones/tablets space.

But mainstream adoption didn't really seem like the goal of nexus brand, it was a developer's flagship and rightfully so. Apart from being able to test the latest android API on a real device by being the first devices to receive the latest android upgrade, nexus were also capable of receiving the beta of upcoming android version. Not to mention, their complete kernel source were open for the enthusiast market to develop after-market android operating systems or even non android systems.

I remember seeing Nexus One, the first of the line-up at a conference in 2010, it was the first time I saw android operating system in live and straight away gave the impression that it was unlike the Symbian or the Windows Phone I have witnessed till then. It inspired me then to become an android developer when the android ecosystem was just starting to ramp-up.

But all was not great in the nexus land, nexus devices were often plagued by host of issues. The ones because of the bleeding edge software were usually fixed in couple of updates, but the hardware issues especially with last of the nexus devices - nexus 5XBuy, nexus 6PBuy were the nail in the coffin for even the hardline nexus enthusiasts incl. me.

My first nexus device was Nexus 4Buy in 2013, though it had its share of weird quirks it served its purpose well and still serving in the ways it was not actually intended. I had to upgrade to a newer Nexus in 2016 when Nexus 4 stopped officially receiving upgrades (though aftermarket android like LineageOS does support Nexus 4 with android pie!) as I had to build and test my company's android apps.

Nexus 6P

My choices were Nexus 5X and Nexus 6P,  though I was aware that the Qualcomm's Snapdragon 810 chipset had issues it was supposedly fixed in the v2.1 of the chipset used in 6P, I wanted its larger 2K display having used the sub-par 720p display in the Nexus 4 for several years and 3GB RAM though it was lesser than cheaper smartphones of those days it was definitely better than the abysmal 2GB RAM of Nexus 5X.

Nexus 6P contrary to the popular opinion that the nexus line of phones were affordable devices with top end specs, was ~720 USD in India for the 32 GB variant I got. It had gorgeous metal build, great display, front stereo speakers, stock android, promised nexus updates, meh camera quality, but if it was all hunky-dory then I wouldn't be writing about it after all these years.

Battery and Bootloop issues

By the end of 2016, nearly a year after the launch of Nexus 6P several users started reporting severe battery drain and bootloop issues. Bootloop is where the device restarts constantly during the booting process and often without recovering from it. I faced battery drain issues but didn't face bootloop issue, which lead me to believe that my device wasn't affected. But the battery drain by itself was affecting my productivity, so I had to switch to OnePlus 5.

I recently got my dose of permanent bootloop leading me to say with confidence that if you have a Nexus 6P, it is just a matter of time before you start to see these issues.

It became apparent that, this was a hardware issue. Google started replacing the faulty Nexus 6P units with their latest Pixel XL even when the former was not covered by warranty, well at-least for some time. Those who were out of warranty and did not buy Nexus 6P directly from Google like me, were asked to contact Huawei which obviously did nothing.

Class action lawsuit

This lead to a class action lawsuit being filed against Google and Huawei in U.S. for not taking concrete actions to fix Nexus 6P issues and transferring the customers to Huawei which was unhelpful. Google recently decided to settle that lawsuit, though not accepting any wrong doing by giving up to $400 for customers who bought Nexus 6P in U.S. in a $9.75 million settlement! If you are reading this because you have a faulty Nexus 6P bought in U.S., you should follow the previous link to register your claim right now.

If you are not fortunate to have bought Nexus 6P from U.S. like me and would still like to attempt at recovering the device from coma or prevent your device from facing these issues, then read on but be informed that the techniques detailed might void your non-existent warranty.

ARM big.LITTLE

Modern mobile devices use chipsets built upon architecture licensed from ARM Holdings, one such architecture used in Snapdragon 810 is the big.LITTLE, where the chipset contains both high power and low power CPU cores for performance and saving power respectively.

Nexus 6P has 4 Cortex A57 big cores and 4 Cortex A53 Little cores. The issue with bootloop is likely due to the cluster separation of the performance(big) cores due from heat and fixing the bootloop involves shutting down the big cores.

Shutting down big cores

If you are unfamiliar with the terms like - 'developer mode, adb, fastboot, recovery, kernel, ROM', you would require some primer and I would recommend you to spend some time reading everything in the original forum thread by developer osm0sis in XDA.

Shutting down the specific cores required software patches to be applied on the existing boot and recovery partitions using a which uses 4 Little cores from the aforementioned thread. In order to overclock the frequency of the Little cores, I used ElementalX-N6P-6.11 kernel on lineage OS 15.1 ROM which I had on the device already. I use 99-flashafterupdate addon.d script to apply the patch, kernel automatically after each update from LineageOS.

Nexus 6P with big cores disabled and Little cores overclocked Nexus 6P with big cores disabled and Little cores overclocked

I'm able to successfully boot into Nexus 6P with big cores disabled. Overclocked Little cores has plenty of power in them for low intensity work like reading on the excellent display, listening to books, music on the stereo speakers etc. Since they are high efficiency cores, battery lasts for days during standby and provides great display time when used.

Due to the nature of the issue with the chipset, I expect the device to not last forever even with only the Little cores functioning. It is a matter of time before the Little cores succumb to the fate of its big brother(pun intended). But without extensive heat generating activity like gaming, I think my device is going to last quite some time and at-least that is better than being a brick.

LineageOS 17.1

LineageOS 17.1 is based on android 10, although android 8.1 (Oreo) was the last official update from Google for this device; dedicated developers have been supporting it with newest iteration of android ever since.

Unofficial LineageOS 17.1 for Angler by XDA recognised developer PixelBoot is no different.

All one needs to do for getting the latest and greatest of android in their Nexus 6P is to flash the TWRP (4core if struck in boot loop), last available bootloader, radio, vendor image, above mentioned ROM and the latest 4 code BLOD patch by osm0sis as detailed above.

Note: ElementalX kernel wouldn't work for this version of android unless it's updated for it.

Update log:

April 2020: LineageOS 17.1

Buy the items discussed in this post using affiliate links

Nexus Smartphones

USA UK Canada Germany Italy Spain Japan

Nexus 6P

USA

Nexus 5X

USA India

Nexus 4

USA

Phone stand

USA India

Newsletter

I strive to write low frequency, High quality content on Health, Product Development, Programming, Software Engineering, DIY, Security, Philosophy and other interests. If you would like to receive them in your email inbox then please consider subscribing to my Newsletter.