(Images are hosted on catbox.moe with a total size of 1.9MiB - your data plan will be fine)
Following Android docs, unlocking a bootloader should be as simple as enabling that option in developer settings, and issuing fastboot flashing unlock command in the bootloader.
But not all manufacturers like that.
So, here’s the fuckery I went through.
Obtaining Mi Unlock tool
That one comes from here: en.miui.com/unlock/download_en.html
Which also links to these steps: new.c.mi.com/global/post/101245
First run
Disclaimer + privacy policy link
And we need an account.
Log-in screen
Account creation
Since I’ll need it on the phone as well, I decided to create the account from there.
Simple captcha Account page
I’ve used e-mail + password for sign-up.
There was also a confirmation e-mail sent to me, nothing special so far.
Logging into Mi Unlock - First roadblock
After entering e-mail + password, it fucks up with a blank verification page.
Blank verification page
This was also reported by someone on XDA, with a solution to update.
Mi Unlock updaten’t
403 Forbidden
I’ve tried both with and without a VPN, no luck. Some people reported the same issue when I searched around.
Workaround - QR code login from phone app
QR code login page
Of course, this needs more private data - a phone number, because why not?
And of course, it also does not fucking work.
Phone number prompt Error when entering phone number
Entering phone number in browser
This worked. But the phone app still didn’t like me.
Phone number confirmation prompt Phone number confirmation error on phone
Do notice the “attempts remaining”, this will be important later.
Workaround - QR code: Electric Boogaloo
The QR code actually contains a URL, so let’s open it in a browser.
QR code expired
Well, fuck. Let’s do that again.
Success
And we are in.
Unlock page
Binding phone to Mi Account - More data collection
I thought the problem above (gray unlock button) was the phone not yet being “binded” to the account, so I skipped to this step.
Requirement of sim card and mobile data
So I inserted a SIM card, but they didn’t lie. It really requires mobile data. I even tried Bluetooth network as someone else suggested.
Warning/error about mobile data requirement
This was a bit of a problem as I used a burner SIM with no data.
Random data eSIM on removable eUICC (9esim V3) was able to help with this.
Account binded
Back to Mi Unlock - SMS rate limit
Come back in 24 hours
It seems there’s a limit of 3 SMS codes per 24 hours outside of China.
Screenshot of that info
Back the next day - Episode: Windows drivers
The Mi Unlock tool should include the USB drivers, but something’s fucked up there.
File not found
Someone on XDA mentioned one of the 2 driver files can be renamed to the required filename, because let’s ship a broken tool.
So I did that: driver_install_64.exe -> MiUsbDriver.exe
This now shown Windows installation prompt.
Confirmation window
But why yes, it did not work.
So, I downloaded the drivers from Google, and tried following their instructions.
So that did it, right? Nah. Windows wouldn’t find the driver.
The solution was following someone’s Reddit comment.
Choose the option that says ‘Let me pick from a list of available drivers on my computer’, then browse to and select the file named android_winusb.inf. From there, you’ll be able to choose ‘Android Bootloader Interface’ to install.
Choosing "install disk’ Choosing the driver
For comparison, on something like Arch Linux, this is a matter of extremely hard and time-consuming sudo pacman -Sy android-tools. /s
Reaching the fruit
The device is finally recognized.
Unlock button turned friendly Unlock success
And there we go.
Unlock confirmation on device
And the final step:
Account deletion
Shimitar@downonthestreet.eu 4 days ago
It’s been a few years now that Xiaomi must be avoided for these reasons. Your are even lucky that your phone can be unlocked at all, since all latest models are not unlockable full stop.
I purchased a Nothing phone and couldn’t be happier. De bloated android stock, and fully offline unlockable bootloader, no phone home required.