What is Xiaomi’s Anti-Rollback Protection? Here’s All You Need to Know

Xiaomi's Anti-Rollback Protection

Xiaomi has become quite popular in recent years owing to the wide variety of mobile phones it releases every year, across all price segments,  to suit almost every user’s pocket. It is also known for its signature flagship devices which offer top-notch hardware running the latest Android OS versions at affordable prices. The recently released Poco F1 is a stellar example of this fact.

Xiaomi has also been known to push out regular updates to their devices to make sure users have the latest version of its MIUI OS, as well as to provide regular security updates to devices. However, the most recent MIUI 10 Global Beta 8.7.5 update that rolled out to 8 Xiaomi devices, includes a new security feature, which can either be a blessing or a potentially big problem, depending on how a user looks at it.

Table of Contents

What is Anti-Rollback Protection?

This new feature, called Anti-Rollback Protection or ARB was first included in MIUI 10 8.7.5 Global Beta update that was released a little while ago. Xiaomi’s Anti-Rollback Protection is meant to prevent users from flashing an older version of the OS to a Xiaomi device. This feature was first introduced by Google in Android 8.0 Oreo as a feature of Android Verified Boot 2.0. In simple terms, it will not allow the device to boot, if it detects that an older, unapproved firmware OS version.

What’s interesting to note though, is that Google’s implementation of ARB gets disabled if the bootloader of the device is unlocked. Xiaomi, on the other hand, has chosen to make things difficult, and ARB remains active even after the bootloader has been unlocked. So once you install an ARB implemented build of MIUI, you will be stuck with it till Xiaomi releases an update. You are only allowed to flash a build which implements either the same ARB version or a higher one.

Attempting to flash an older version of the firmware, or more specifically, a firmware with the Ant-Rollback version lower than your current build will lead to a hard brick. Now, this is not the kind of brick that can usually be fixed by reflashing the MIUI ROM via fastboot mode, but an advanced brick that can only be recovered by getting the device into EDL or Extended Download Mode. However, to flash anything in EDL mode, a Xiaomi authorized account is needed. The only other and working alternative is to take the device to an authorized Xiaomi service center.

List of Xiaomi Devices with Anti-Rollback Protection Enabled

According to xiaomi.eu, the following is the list of devices that have Anti-Rollback Protection/ARB enabled with the corresponding Android version.

List of Xiaomi Devices with Anti-Rollback Protection Enabled

The section below will help you check for Anti-rollback Protection on your Xiaomi device. We have also put together a list of frequently asked questions and their answers that will help you understand this new development in a better way, and avoid doing anything that may end up with a bricked device.

How to Check for Anti-Rollback Protection on Xiaomi Devices

So, below are the steps that can help you check the current rollback index of your Xiaomi/Redmi device using a simple fastboot command. In order to achieve a successful fastboot connection between your phone and the PC, you must first install Android platform-tools on the PC.

  1. Power off your phone completely.
  2. Hold the Volume Down and Power button simultaneously to boot your Xiaomi device into Fastboot Mode.
  3. Connect the phone to the PC using the USB cable.
  4. Verify the fastboot connection using:
    fastboot devices
  5. The command should output a device ID along with the ‘fastboot’ message.
  6. Finally, enter the following command to check for Anti-Rollback Protection on your Xiaomi device:
    fastboot getvar anti
  7. The command should output the current rollback index for your phone.
    Check for Anti-Rollback Protection on Xiaomi Devices - Current Rollback Index
    Current rollback index as checked on Xiaomi Mi A1

If the value is NIL (Invisible) or 3, then it means that your phone does not have Anti-Rollback Protection activated. But if the current rollback index is 4, then it means that your device has Anti-Rollback firmware installed and there’s no going back from that.

Well, what about Android One devices by Xiaomi like the Mi A1/Mi A2/Mi A2 Lite? – Theoretically, since these devices offer the stock Android experience, unlocking the bootloader should disable Anti-Rollback Protection implemented by Google. I have personally only tested with the Xiaomi Mi A1 running the latest August 2018 security update, and the current rollback index is NIL. This means that ARB is not yet implemented. Once we have further confirmation on the said devices, we will update this section.

Frequently Asked Questions (FAQs)

Question 1: Is it possible to disable the anti-rollback feature?

Answer: No, it is not possible to disable it. However,  you can still unlock your bootloader, flash a custom recovery like TWRP, and switch to a custom AOSP based ROM, if you are sure you would not want to install any MIUI ROM again. This feature only affects official versions of the MIUI OS.

Question 2: Can I flash TWRP recovery on a Xiaomi device with Anti-Rollback Protection?

Answer: Yes, however, the method will be slightly different. In general, you will first need to temporarily boot the TWRP recovery image. After that, simply copy the TWRP image to the phone’s storage and flash it.

Question 3: If I have an unlocked bootloader and TWRP already installed, can I flash an older MIUI recovery flashable ROM?

Answer: TWRP does not have any inbuilt feature to check for ARB. So it is advisable not to flash any official ROMs via TWRP to avoid bricks. Always use MI Flash tool, as it will check for the ARB version, and prevent the flash.

Question 4: Which MIUI builds have Anti-Rollback Protection enabled?

Answer: All the MIUI builds which are released after Stable MIUI V9.5.17.0 and Beta MIUI V8.7.5.

Question 5: I didn’t like the MIUI 10 Global Beta, and tried to flash back to MIUI 9. Now my device is bricked and does not even turn on. What can I do?

Answer: At this point, there appears to be no solution to unbrick it, except for taking it to an authorized Xiaomi service center.

Question 6: I am on the latest MIUI 10 firmware, and running the fastboot command gives me an output ‘4’. Can I still unlock the bootloader, and root my device?

Answer: Yes. ARB implementation does not affect your ability to unlock the bootloader and/or root or install a custom ROM. However, if you ever plan on going back to an official MIUI build, then you need to be careful and look for the latest firmware available for your device.

Question 7: What should I do to avoid bricking my device?

Answer: Don’t flash an MIUI version with a rollback index less than your device’s current rollback index. Also, don’t flash an official MIUI Global ROM on Chinese Xiaomi hardware with a locked bootloader.

Question 8: Is there a fix available to avoid anti-rollback?

Answer: It’s too early to say. For now, please avoid trying to flash an older version of MIUI to your device, and keep all the above points in mind.

With that, we think we have summed up the potential dangers that Anti-Rollback can pose for your device. While it has currently been rolled out only to a handful of devices, it is likely that Xiaomi will be rolling it out to all currently supported devices over the next few months. So what do you think about this new twist from Xiaomi? Do let us know in the comments section below.

(Some of the information gathered here is sourced from this XDA thread)