Vì Google bắt buộc mọi thiết bị chạy Android Pie phải có "Anti-Rollback Protection" (ARB) built-in, và điều này chưa phổ biến, nhiều người đã hard brick thiết bị Xiaomi (và có thể các hãng khác, nhưng Xiaomi đặc biệt phổ biến trong cộng đồng mod Android).
Vấn đề: Xiaomi đẩy MIUI 10 Global Beta 8.7.5 cho một số thiết bị - bản cập nhật này chứa anti-rollback protection. ARB nghĩa là bạn KHÔNG THỂ rollback về MIUI cũ hoặc ROM chứa Android version cũ! Không thể làm được, nếu thử sẽ hard brick thiết bị, biến thành gạch vô dụng.
Hiện tại không có cách nào khôi phục thiết bị brick do ARB. Không restore TWRP backup, không flash ROM mới, không dùng MiFlash restore factory image. Khi ARB kích hoạt, cách duy nhất khôi phục là dùng EDL mode (yêu cầu tài khoản Xiaomi authorized), hoặc mang đến trung tâm bảo hành chính hãng.
Tại sao Xiaomi đưa ARB vào MIUI?
Đây không nhất thiết là lỗi của Xiaomi - như đã nói, đây là chính sách bắt buộc mới của Google cho nhà sản xuất dùng Android 9 Pie mới - nên ARB sẽ ảnh hưởng mọi thiết bị dùng ROM base Android 9 Pie.
Tuy nhiên, Xiaomi là một trong rất ít hãng Android cho unlock bootloader, và hỗ trợ cộng đồng mod/dev, do đó nhiều user Xiaomi bỗng nhiên bị bất ngờ.
ARB cơ bản là phương pháp mới ngăn trộm điện thoại flash ROM unofficial trên thiết bị bị đánh cắp và bán lại, hoặc ngăn retailer lậu nhập thiết bị chỉ bán tại Trung Quốc, flash "Global ROM" unofficial. Vì thiết bị Xiaomi tương lai sẽ chạy "MIUI China" chính thức base Android Pie 9, retailer lậu không thể flash "Global MIUI" chạy Android 7 Nougat bán nữa.
EDL Authorization xảy ra chuyện gì?
Trước đây, nếu làm hỏng thiết bị Xiaomi/Qualcomm SoC, có thể vào EDL (Emergency Download Mode) - chế độ boot thay thế cho mọi thiết bị Qualcomm dùng để unbrick.
Tuy nhiên, Xiaomi và các hãng khác bắt đầu khóa EDL mode, chỉ trung tâm bảo hành mới truy cập. Do đó EDL không còn dùng unbrick thiết bị Xiaomi brick do ARB - điều này lại ngăn retailer lậu và trộm khôi phục thiết bị họ brick vô tình khi flash ROM unofficial trên thiết bị nhập lậu.
Tóm lại, Xiaomi không muốn consumer mua phiên bản Trung Quốc với Global ROM cài sẵn, nên làm 2 việc: Làm không thể boot Global ROM nếu thiết bị không phải phiên bản Global (cảnh báo "This MIUI can't be installed on this device"), và làm EDL mode không dùng được trừ khi có Mi account authorized.
Khác biệt lớn nhất giữa ARB của Google so với Xiaomi: Xiaomi tiến thêm một bước. ARB của Google (tính năng của Android Verified Boot 2.0) có thể tắt nếu unlock bootloader, nhưng ARB của Xiaomi không thể tắt, ngay cả với bootloader đã unlock.
Danh sách thiết bị Xiaomi có ARB enabled (click ảnh để phóng to):
Cách kiểm tra Anti-Rollback Protection
Nếu muốn chắc chắn ARB có bật trên thiết bị trước khi flash custom ROM, kiểm tra rollback index. Giải thích nhanh về rollback index:
- Nếu rollback index hiện tại nhỏ hơn rollback index trong image sẽ flash, image sẽ được flash và rollback index hiện tại tăng lên khớp với index mới.
- Nếu rollback index hiện tại bằng rollback index trong image sẽ flash, image sẽ được flash và rollback index không đổi.
- Nếu rollback index hiện tại lớn hơn rollback index trong image sẽ flash, image sẽ bị từ chối nếu flash qua fastboot hoặc Mi Flash. (TWRP không kiểm tra rollback indices trước khi flash, đó là lý do hầu hết brick do downgrade qua TWRP.)
Cách tìm rollback index hiện tại
- Kết nối Xiaomi với PC qua USB
- Mở ADB terminal (xem hướng dẫn Appuals "How to Install ADB on Windows")
- Reboot vào fastboot mode
- Gõ lệnh:
fastboot getvar anti
Nếu output rỗng, ARB chưa bật trên thiết bị. Nếu trả về số, số đó là rollback index hiện tại. Ví dụ: "anti: 4" thì '4' là rollback index của bạn.
Cách tìm rollback index của images
- Tải ROM "fastboot" tương đương recovery ROM bạn muốn cài. Recovery ROM luôn có tên marketing device trong filename và kết thúc .zip. Fastboot ROM luôn có codename device trong filename và kết thúc .tar.gz.
- Giải nén flash-all.bat từ archive .tar.gz.
- Mở flash-all.bat bằng text editor (Notepad++) tìm dòng:
set CURRENT_ANTI_VER=#
Số (#) đó là rollback index của phiên bản MIUI bạn muốn flash. Nếu số đó bằng hoặc lớn hơn rollback index hiện tại, an toàn flash qua TWRP, Mi Flash, v.v. Nếu số đó nhỏ hơn rollback index hiện tại, KHÔNG FLASH ROM NÀY QUA TWRP.
Để tránh kích hoạt ARB và brick hoàn toàn thiết bị Xiaomi, hãy kiểm tra rollback index trước khi thử ROM mới hoặc downgrade qua TWRP - tuy nên dùng Mi Flash hoặc fastboot flash MIUI ROM, vì bootloader Xiaomi có bảo vệ built-in thực sự ngăn flash ROM có rollback index thấp hơn.