Praised be thy guide. I rescued my phone from brick hell with this.
A few things to notice though:
I was using the European rom "lavender_eea_global_images_V10.3.5.0.PFGEUXM_20190716.0000.00_9.0_eea_5213a13935" and then stupidly flashed the global version.
With the "This MIUI version is not compatible with this device" message, my $250 phone instantly became a beautiful shiny brick.
Even when I selected keep user data (not lock) the device locked.
I tried to flash another rom using MiFlash to no avail. You need authorization from an official account to do that.
Then, I attempted this method with the european rom instead of the chinese one. Did not work.
This was out of fear as I did not really know the variant of my phone. After looking at the box the phone came in, I found the serial "M1901XXX" which pointed me that my phone was the chinese variant with an european rom.
I finally decided that I would give it a shot with the latest chinese rom. Followed the instructions *to the letter* and I got the chinese ROM working.
Closing thoughts and things I learnt from 16 hours of googling:
- Be more careful with what you flash. Always check and heed warnings.
- Always select clean. Never keep data or clean and lock. That is how I bricked.
- There are two bootloaders in a phone: Primary Bootloader and Emergency Bootloader
- All Qualcomm devices have this special mode (EDL) to directly flash a ROM to the EMMRC memory. This is done through the sahara protocol
- Qualcomm has developed a special framework called Firehose programmer for creating partition tables and other low level operations.
- Xiaomi locked down this EDL mode and made updates through it only available from authorised accounts due to malware and blah blah blah. ("Only noop and sig can be received before...")
- ChocoML has provided us with a Firehose programmer file that bypasses these restrictions. However, to my knowledge, it ONLY works with the Chinese ROM and therefore, with devices that support that rom.
- THEORICALLY, you can keep user data even after all these low level operations: http://en.miui.com/thread-235865-1-1.html (Scroll to blue text).
- Every device/processor has a different Firehose programmer file. For other devices, look for the appropiate Firehose file.
- Redmi Note 7 Pro (India) has a different chipset (violet). Do not attempt to use this guide.
- Make sure you've got a fine USB cable with data transfer properties. DO NOT EVEN THINK OF BREATHING NEARBY THIS CABLE WHEN FLASHING. Lest you get a permabrick.
- "Receiving hello packet" Error: Reboot the PC and phone to Solve it.
- You cannot dawdle when flashing using the QFIL. As soon as you establish a connection to the 9008 port, click on download. Lest you get a Sahara Protocol Error.
- Useful tip: Do not connect the USB cable last to your device. Connect it first to the device and last to the computer. It's easier to short the testpoints this way.
- Heat guns are hard to regulate. Hot plates with temperature displays are recommended to avoid display damage.
- Have a great deal of patience. It's touch and go with these things. Do not try to rush.
- Unplugging the battery is compulsory. You do not have to physically remove it: just remove the ribbon cable that connects it to the MB.
- Make sure you are flashing a Fastboot rom and not a recovery one.
- After I flashed the Chinese rom, the phone rebooted yet again to recovery. Reboot and check if it works. If not, wipe data and reboot.
- Exercise circumspection when updating or changing ROMS. Be sure not to trigger the Anti Rollback, which has a similar upshot as flashing the incorrect rom version
- You can no longer apply for an authorised Mi account. Thread 404'd
- Do not pay extremely high fees for unlocking online. Try this tutorial first. Then service center. Only then pay.
- Do not lose hope. This is the most important point of the list! It took a while and it certainly was a surly experience but you can pull it off. (Unless you've got the global version; may God be with you in that case)
Useful Links:
Disassembly:
https://www.youtube.com/watch?v=arV7POS-iiM
Superb explanation of firehose programmer files:
https://alephsecurity.com/2018/01/22/qualcomm-edl-1/
Firehose programmer files collection:
https://www.leakite.com/collection-qualcomm-emmc-programmer-files/
A better illustrated tutorial for the procedure that the OP describes:
https://miui.blog/redmi-note-7/unbr...ut-authorized-mi-account-edl-test-point-mode/ (Be sure to use the files on this thread though!)
Chinese ROM; the chinese one is not available from the MIUI en site:
https://xiaomifirmware.com/roms/miui-roms-for-xiaomi-redmi-note-7-lavender/
Check device variant here:
https://c.mi.com/thread-2123114-1-0.html
Related reddit thread
https://www.reddit.com/r/Xiaomi/comments/98jr79/psa_a_potential_fix_for_flashing_in_edl_mode/
Good Luck my ditzy friends.