[ZTE Axon 10 Pro Guides, News, & Discussion] bobthenormal:
With it unlocked you might have an easier time with not bricking, but it still happens a lot even to me... I've been trying to put together a "bulletproof" EDL backup that other people can download and for sure work no matter what, I've probably had to unbrick my phone 4-5 times the last two days. Fairly straightforward process for me now, but still running into some surprises. Like today I'm bricked again... I was kinda pushing for it... long story... but I'll probably get it unbricked in a few hours. I'm just doing it very slowly to try to identify the culprit causing it.

Point being - make sure to do lots of backups when you're messing around with anything. The usefulness of the EDL tool's backup goes far beyond what you can do in the tool - it has a limited capacity to unbrick you just by applying EDL backups, even the EU version might not work anymore if you get the right conditions set up. But with good backups I could still fix it.

Well, with one caveat - you need to fix a typo in the EDL tool's "all.xml" file first, otherwise it misses a very important file. I'll get to that in the instructions I'm about to post...

---------- Post added at 09:49 PM ---------- Previous post was at 09:47 PM ----------

Alright, first thing of course this isn't my job or anything and my knowledge is very limited, just another person figuring it out - so although I'm trying to help this is all AT YOUR OWN RISK.

First - fix the typo - go to your EDL tool directory, and in the "tools" subdirectory there is a file named "all.xml". Edit the file in notepad. Do not accidentally change ANYTHING except what I say. Find the line where it says 'label="aop_b"'. Before that it will say 'filename="aop.mbn"'. Change aop.mbn to aop_b.mbn.

EDIT: Well, I found another one just in the time since I posted this haha. It's less critical (why I didn't notice it). But there's a line with 'label="uefisecapp_b"'. Add the "_b" to the filename in front of that too!

That just fixes a small typo that whenever the ALL backup was run it would overwrite the first backup (aop_a) with the second (aop_b). A FULL backup did not have this issue, but it would only backup the aop_a and not aop_b.

As it turns out.. a bad AOP file will stop the bootloader from loading. (ie. EDL loop)

Anyway, next do these:

1) With your current, working EU ROM boot into EDL

2) Run an ALL backup in the EDL tool (with fixed all.xml)

3) Move that "ALL" backup to another folder (preferably name/dated)

4) Save this code as a powershell script file and run it in the backup directory:

# Creates a hash log of all files in this directory

$backupLocations = ,@(
(Get-Item ".\")
)

# Define a maximum file size to use hashing to compare (in MB)

$maxHashCheckFilesize = 1000000

# Clear variables

$hashValues = $null

$fileList = $null

### Get Hashes

foreach ($loc in $backupLocations) {

Write-Host ("-- Hash Location: " + $loc)

$literalLocName = ("\\?\" + $loc.FullName + "\")

$fileList += @{ ($loc.FullName) = (gci -Force -File -LiteralPath $literalLocName) }

$hashValues += @{ ($loc.FullName) = $null }

foreach ($file in ($fileList[$loc.FullName]) ) {

if ( $file.Length -gt ($maxHashCheckFilesize*1024*1024) ) {

Write-Host ("Skipping " + $file.Name)

$hashValues[$loc.FullName] += @{ $file.FullName = "Skipped (file size over max)" }

}

else {

$literalFileName = ($file.FullName)

Write-Host ("Hashing " + $file.Name)

$hashValues[$loc.FullName] += @{ $file.FullName = (Get-FileHash -LiteralPath $literalFileName).Hash }

}

}

}

Write-Host "Finished Hashing Files"

### Build Data Output

# If statement to turn XML output on and off
if ( $false ) {

$saveXML = (".\" + $saveName + " " + (Get-Date -Format "(MM-dd-yy hhmmss)") + ".data")

Export-Clixml -InputObject $data -Path $saveXML

Write-Host "Finished XML Export"

}

# If statement to turn hash data output on and off
if ( $true ) {

Set-Content -Value ( "Hashes for directory: ", ($backupLocation.FullName) ) -Path ($hashPath = (".\" + "Hash File Results- " + (Get-Date -Format "(MM-dd-yy HHmmss)") + ".txt"))

foreach ($loc in $backupLocations) {

Add-Content -Value ( "Hash Location: ", ($loc.FullName + "\") ) -Path ($hashPath)

if(($fileList[$loc.FullName]).Length -eq 0 ) {

Add-Content -Value ( "No files" ) -Path ($hashPath)

}

else {

foreach ($file in $fileList[$loc.FullName]) {

Add-Content -Value (($hashValues[$loc.FullName][$file.FullName] | % { $file.Name, (" Last Write: " + $file.LastWriteTime), $_ })) -Path ($hashPath)

}

}

}

Write-Host "Finished Hash Output"

}

Pause

5) Go to the A2020U backup that you are trying to apply (which you can't get to boot) and run the hash script there.

Send me those two hash lists.

If you want to try installing the backup now that you have the BL unlocked, you might be successful. The error you mentioned before about something being corrupt - that warning is because the BL was locked and detected tampering. So that should, at least, not be your problem.

I would guess is you get stuck in a loop, either boot or EDL. But you're welcome to try, it might just work. I've had success booting from the EDL backup [MENTION=5987950]rafyvitto[/MENTION] posted. There's a -chance- that doing this gets you stuck to where even trying to re-apply the EU firmware won't work. But it's less likely, and if you have your backup from above you should be able to get out.. eventually.. it just might require some number of days for me to help do that.