One look at failure after unlocking the Pixel 2 bootloader

How small things can help you learn valuable lessons in failure.

audio-thumbnail
One look at failure after unlocking the bootloader
0:00
/427.260708

Listen to me read this post here (not an AI-generated voice!) or subscribe to the feed in your podcast app.


Albert Einstein famously said:

The definition of insanity is doing the same thing over and over again and expecting a different result.

I can relate to that, in recent days. Sort of. Would I consider myself insane? Sort of. I don't know. I'm not the expert who can tell.

Anyhow, I had an old Pixel 2 lying around my place, gathering dust, and I wanted to make use of it. My plan was to put Linux on it and spin up a web server there. Aaand, move hosting of my blog there, if all went well. But it didn't. Let me tell you why, and how.

The idea came to me from my friend, who sent me the following link:

farphone
farphone is a website running on a repurposed smartphone

He told me - this might be interesting to you, give it a try!

And it certainly was. Or is.

In a nutshell - the person hosting this website put it on an old repurposed phone - Fairphone 2. He wrote comprehensive instructions about it. So I thought - let's follow the same instructions and try to put PostmarketOS on a Pixel 2 and try to host there my website.

The overview of my current hosting is quite simple - I am a subscriber to ghost.org. I am quite satisfied with how much I pay and what do I get in exchange. But, since this blog is about digital sustainability, I thought it might be cool to spin up a simple web server and host my blog on a repurposed phone. And since I don't have many readers, it would be cool to migrate to the phone.

Long story short for all of those too busy to read through - Google decided to block me in my quest. So I decided to drop this, for now.

How it all started?

A moment of I can also do it! - from the link above and a bit of free time during my paternity ignited the fire. I found my old Pixel 2 phone, cleaned some dust from it and started to learn about installing Linux on Android phone.

First I needed to unlock the bootloader. This sounded about right. I've reset the phone, enabled Developer settings, with OEM Unlocking toggle enabled. In the meantime, on my laptop I've installed fastboot and adb to interact with the phone and the bootloader.

The fastboot is a tool from Android that allows you to modify the bootloader, and adb is the tool used for debugging.

So far, it was nice and easy.

Then, I started testing out the unlocking the bootloader. It would have been quite simple - restart phone into the Bootloader setup and run the following command from the laptop, keeping the device connected:

# check to see if device is seen by fastboot
fastboot devices

# unlock the bootloader
fastboot flashing unlock

Then I got this error message:

FAILED (remote: 'Flashing Unlock is not allowed')  
fastboot: error: Command failed

Hm, strange. Let's try it a couple of more times, why not?

Same result - Command failed.

Then I started reading the forums online and found out the following, paraphrased:

  • Google needs to activate the phone while OEM Unlocking mode is enabled so you can unlock the bootloader.
  • It would need to pass from 24h to 72h for Google to activate the phone - keep the device connected.
  • And so on, and so forth.

Then I found out that the OEM Unlocking is now disabled, so I reset the phone to factory settings. And decided to wait 24h.

After 24h - same result - Command failed.

Smart person would think - okay, this is obviously not possible, I'll drop it. Me thinks - hold my beer! Let's try it once again.

Same workflow as before - factory reset, wait for 72h instead of 24h. Result - same!

Back to the drawing board.

I did some additional research and found these neat instructions in Android docs.

Flash with Fastboot | Android Open Source Project

There I found out that you can force the device check-in from Google by running *#*#CHECKIN#*#* (*#*#2432546#*#*) on your phone. So I thought - I'm getting closer.

So, again - factory reset, this time manual check-in of the device and run the fastboot command from above.

Result - Command failed.

Oh, c'mon! Now that I've completed everything, it failed again?! Something is not right with the device, definitely.

I've searched for the device serial number and model name and all the information said the bootloader can be unlocked.

Why, oh why was I seeing the opposite?

Then I stumbled upon the support ticket from Pixel Phone Help, dating back to 2019 with the title - Google Refurbished Pixel 2 is Always Defective (bootloader unlock). There, going through the thread I found out the following:

"I have been informed by high-level Google support staff that all refurbished Pixel 2 phones coming from the Google refurbishment center are effectively the same as the Pixel 2 Verizon edition. (Carrier is still unlocked but the bootloader is locked.)
Google Refurbished Pixel 2 is Always Defective (bootloader unlock) - Google Pixel Community

So, maybe my phone was the refurbished one? It's possible. I bought it more than 10 years ago in some store in Belgrade. I bought it as original, but, who knows with the market here. Even if it looks legit, it is often a fine-grained shade of grey on the border with black.

This is when I decided to call it a day. In the end, I gave the phone to the people who might have more luck in making the use of it (Pionir free school). And I'm going to wait for some old device that I can refurbish to host my blog.

Things I've learned?

First and foremost - never trust Google. Even though they have a plethora of services, great documentation, oftentimes they have something, some setting, as hidden as this was, that can block you in your work.

And people are not stupid for saying:

When some product or service is free, more often than not, you are the product.

Second thing I've learned, after hours and hours spent on the same problem - persistence is a good quality, but too much persistence leads to stubbornness, which can prevent you from progressing or adapting. Sometimes it's good to let things go, after trying them for a couple of times and getting the same results.

Last but not least - even though my plan has failed, and I wasn't able to host my blog on some old smartphone, I'm not backing out! I'll find some other phone and try to do it there. Hopefully I'll migrate all the things written here to it, and have it simpler with just me and my thoughts.