[Samsung Galaxy Note 8 ROMs, Kernels, Recoveries, &] BigCountry907:
EDL-Flashing-Single-Partitions

:cowboy:

I'm am happy to say

I CAN CONFIRM THE EDL Programmer is GOOD!!

This is for those who are running on U-2 Bootloader.

But as a side note -->> It may be possible to use the EDL Firehose on other revs of the bootloader.

NOT to run the full unbrick but possibly to flash single partitions.

The reason the FULL UNBRICK won't work on other revs is because it is going to flash U2 bootloaders to your device. Due to the ANTI-Rollback you will have a brick after that.

But if the device accepts and boots the Firehose I don't see any reason you couldnt flash firmware from your rev. Someone will have to test it. I don't think it will hurt anything. It should error out before the firehose boots if its going to. However you will need the partition addresses out of the GPT so someone needs to pull me the GPT for other revs so i can make you the spreadsheet.

Now far as my test goes.

I wanted to make sure the programmer was going to work because im playing with partitions that are never flashed by odin. So if something goes wrong and I need to flash my BACKUP (<<<---- YOU BETTER MAKE THEM.) I won't be able to use safestrap or boot the system to do any kind of dd.

The last couple days I have played with the devinfo partition. This partition has switches to unlock the bootloader if the aboot looks at it. So as a test I decided to EDL this partition. I was successful in doing so.

Here is my log.

c:\N950U2-EDL-TST1>adb reboot edl

c:\N950U2-EDL-TST1>emmcdl.exe -p COM5 -f prog_ufs_firehose_8998_ddr.elf -MemoryName ufs -SetActivePartition 1 -x TEST1.xml

Version 2.10

Downloading flash programmer: prog_ufs_firehose_8998_ddr.elf

Successfully open flash programmer to write: prog_ufs_firehose_8998_ddr.elf

Waiting for flash programmer to boot

<?xml version="1.0" encoding="UTF-8" ?>

<data>

<log value="Binary build date: Nov 22 2017 @ 16:56:54"/>

</data><?xml version="1.0" encoding="UTF-8" ?>

<data>

<log value="Chip serial num: 0 (0x0)"/>

</data><?xml version="1.0" encoding="UTF-8" ?>

<data>

<log value="Supported Functions: program configure nop firmwarewrite patch setbootablestoragedrive ufs emmc power benchmark read getstorageinfo getsha256digest erase peek poke "/>

</data>

Programming UFS device using SECTOR_SIZE=4096

<?xml version = "1.0" ?><data><configure MemoryName="ufs" ZLPAwareHost="1" SkipStorageInit="0" SkipWrite="0" MaxPayloadSizeToTargetInBytes="1048576"/></data>

<?xml version="1.0" encoding="UTF-8" ?>

<data>

<log value="Calling usb_al_bulk_set_zlp_mode(TRUE) since ZlpAwareHost='1'"/>

</data>

<?xml version="1.0" encoding="UTF-8" ?>

<data>

<response value="ACK" MinVersionSupported="1" MemoryName="UFS" MaxPayloadSizeFromTargetInBytes="4096" MaxPayloadSizeToTargetInBytes="1048576" MaxPayloadSizeToTargetInBytesSupported="1048576" MaxXMLSizeInBytes="4096" Version="1" TargetName="MSM8996" DateTime="Nov 22 2017 - 16:56:54" />

</data>

<?xml version="1.0" encoding="UTF-8" ?>

<data>

<response value="ACK" MinVersionSupported="1" MemoryName="UFS" MaxPayloadSizeFromTargetInBytes="4096" MaxPayloadSizeToTargetInBytes="1048576" MaxPayloadSizeToTargetInBytesSupported="1048576" MaxXMLSizeInBytes="4096" Version="1" TargetName="MSM8996" DateTime="Nov 22 2017 - 16:56:54" />

</data>

Connected to flash programmer, starting download

start_sector: 10634 physical_partition_number: 3 num_partition_sectors: 1 filename: devinfo.bin file_sector_offset: 0

Sparse image not detected -- loading binary

In offset: 0 out offset: 10634 sectors: 1

<?xml version="1.0" ?><data>

<program SECTOR_SIZE_IN_BYTES="4096" num_partition_sectors="1" physical_partition_number="3" start_sector="10634"/>

</data>

<?xml version="1.0" encoding="UTF-8" ?>

<data>

<log value="start 10634, num 1"/>

</data>

<?xml version="1.0" encoding="UTF-8" ?>

<data>

<response value="ACK" rawmode="true" />

</data>

<?xml version="1.0" encoding="UTF-8" ?>

<data>

<log value="Finished programming start_sector 10635 and TotalSectorsToProgram 1"/>

</data>

<?xml version="1.0" encoding="UTF-8" ?>

<data>

<response value="ACK" rawmode="false" />

</data>

<?xml version="1.0" ?><data>

<setbootablestoragedrive value="1" /></data>

<?xml version="1.0" encoding="UTF-8" ?>

<data>

<response value="ACK" />

</data>

Status: 0 The operation completed successfully.

c:\N950U2-EDL-TST1>

From the log we can see that these are the functions available in this FIREHOSE.

<log value="Supported Functions: program configure nop firmwarewrite patch setbootablestoragedrive ufs emmc power benchmark read getstorageinfo getsha256digest erase peek poke "/>

All commands are run through the XML files.

Heck we might even be able to use the FIREHORSE framework with it.

At any rate there you go.

At least we know for sure we can flash U2 devices with the Firehose.

I will post a tutorial on how to flash single partitions.

The main reason the GPT stuff including the spreadsheets are uploaded to this thread.

I'm going to keep this type of HIGH LEVEL work posted in this thread.

It's all related to unlocking the bootloader and if your playing with things at this level there is no room for error so its all related.

The EDL Package is posted earlier in this thread. If you haven't read it all you might want to.

The spreadsheet for the U2 Bootloader is already posted here too.

IN case you need to find addresses.

Have fun. :cowboy: