Redmi Note 7 Pro (violet), couldn't flash the ROM: Zip Treble compatibility error

Hi all,

I would like to flash e-foundation ROM to newly purchased Xiaomi Redmi Note 7 Pro (violet), however having difficulties doing it. I am following the official guidelines for the device, but I am stuck at the last step. To be particular, when I sideload the zip file, I am getting an error, which can be seen in the below screenshot:

The device details if it helps:

  • Model: M1901F7S
  • MIUI version: MIUI Global 11.0.6 | Stable 11.0.6.0(PFHINXM)
  • Android version: 9 PKQ1.181203.001

So here is the steps I did, first rebooted to fastboot mode, and:

fastboot erase userdata
fastboot flash recovery twrp-3.3.1-0-violet.img
fastboot reboot

Then immediately reboot to recovery mode to activate TWRP. In TWRP:

Wipe -> Format Data
Advanced Wipe -> Cache and System partitions -> Swipe to Wipe
Advanced -> ADB Sideload -> Swipe

Then from command line:

adb sideload e-0.7-p-2020030744075-dev-violet.zip

What I have tried so far:

  • Pushed the ROM to device, and install directly (without sideloading), same error
  • Removed compatibility.zip file from zip archive, as suggested here, however got another error (This package requires miui firmware 9.5.14 or newer)

I’d be grateful if more experienced people could suggest possible ways to overcome the issue. Thanks in advance.

About your last error, this is an extract from the install script :
assert(xiaomi.verify_baseband("4.3.c2-00018-SM6150_GEN_PACK-2","4.3.c2-00021-SM6150_GEN_PACK-1","4.3.c2-00022-SM6150_GEN_PACK-1") == "1" || abort("ERROR: This package requires firmware from MIUI 9.5.14 or newer. Please upgrade firmware and retry!"););

The “baseband” is somewhat related to country (flavor) and firmware level.
For this device, there are China and India/Global (India has been sold as Global …).
It can be checked in Miui, Settings/About.
I couldn’t find any cross-reference between baseband and Miui version :frowning:
Some people trying to flash a custom ROM, as you are, simply delete the line from the install script.
Interesting link to keep if something goes wrong : https://romfirmware.com/stock-rom/xiaomi/xiaomi-redmi-note-7-pro-violet-qualcomm-firmware-for-flashtool-fastboot-tgz/

I’ve removed compatibility.zip from zip, and the baseband assertion line from META-INF/com/google/android/updater-script, and viola, it worked. Thanks very much, @smu44. :pray:

I was happily using /e/ for a while, then I got system notification saying a new update is available via OTA. I downloaded, restarted, and then I stuck in bootlooping. I can go to fastboot, however not to recovery mode. I tried both flashing and booting TWRP via fastboot, it says it was successful, however I still cannot go to recovery. I am not sure if

fastboot erase userdata

would help as it did on initial installation, however I want to see if it can be done without. Any suggestions on how to solve the problem, or at least to open recovery mode?

Hello,

first thanks for the tip with the “compatibility.zip” and remove the line. So I was able to install /e/ Android on the Redmi Note 7 pro.
But twrp showed after the adb sideload that no system was installed, was it the same for you?
I restarted the phone, /e/ Android was installed. Why does twrp not recognize this?
I have installed the first 0.9 version.
Could you now install a new version via twrp?

Greeting :slight_smile:

Sorry for the delay :frowning:
Try to re-install TWRP, but reboot using hardware keys instead command.

“No system installed” is common for Xiaomi (and others ?), you can ignore it.
To install a new version if you have to modifed .zip at first install, do exactly the same :

  • download to PC, edit .zip
  • copy .zip to phone, anywhere visible in Files app
  • boot recovery TWRP
  • install (TWRP button), choose .zip (/sdcard or /data/sdcard), wipe Cache/Dalvik
  • note : be sure to have TWRP ignore .zip signature

Thanks for your answer.

So do I have to do it this way with every new version now?
Download the new version to my PC, unzip it, delete the “compatibility.zip” and the one line from the “updater-script”, then transfer it to my mobile by sideload?
Is it enough if I only delete the Dalvik Cache? That’s how I always do it with my Pocophone.

As long as /e/ builds will include these checks, unfortunately yes :frowning:
I don’t know if this comes from Android, LineageOS, or /e/ , so you might want to ask directly the /e/ devs : https://doc.e.foundation/how-tos/report-an-issue

It is recommended to wipe both Dalvik & Cache partitions.
Install TWRP screen may include a button for that purpose, if it doesn’t :

Ah, but when I delete the cache, the data is not deleted, I got that mixed up :slight_smile:

I didn’t want to reinstall everything again and again after an update.

Ok, I understand.

Thanks for the help

You’re welcome :slight_smile:

Your datas are in Data, Internal Storage, Micro SD Card.

I had the same problem for months for my chiron, it was a firmware level problem.
Using 7Zip on Windows you can avoid un-re-packing .zip, so the entire operation goes quite fast :wink:

About wiping when installing : as my memory is not as good as it was, I installed a new build on my santoni to show you this :


(of course, you have to unselect both “zip verification” & “reboot” in the previous screen)

So you should have a Wipe button to use before reboot :slight_smile:

(please ignore red messages)

2 posts were split to a new topic: Installation issue- Xiaomi Chiron

Hello,

is it possible that the offered firmware for the Redmi Note 7 pro is for the version without LTE? So NOT the Global Redmit Note 7 pro version?
Yesterday I got another grade 7 pro (Global) and tested it with the Xiaomi firmware, so I got 4G or LTE. Nevertheless I had to change the firmware, like the last time, so I could install it.
Would be interesting to know.
Thank you :slight_smile:

First of all thanks for this post which allowed me to install /e/ :wink:
Indeed, I had to remove compatibilty.zip and the line in updater-script.

I had a third error:

/cahe/recovery/xxxxxxxxx -> no such files or directory 

Sorry, I don’t remember the exact message.
I had to create manually the folder using adb shell:

mkdir /cache/recovery/xxxxxxx

Maybe it’s from a bad twrp installation ??
I’m pointing that out here, perhaps it will be of use to someone else.