Samsung - Galaxy S9 - starlte - Documentation Suggestions

Mostly Linux and BSD around here, except the Mandatory Corporate Windows Laptop which is out of bounds for our purposes. I suppose I’ll guinea pig an heimdall method then.

I mostly followed that method, with help from the following command to match partition names to the available files:

# ls -1 | sort | while read i; do grep -B 1 $i S9.pit; done
Partition Name: BOOT
Flash Filename: boot.img
Partition Name: CACHE
Flash Filename: cache.img
Partition Name: CM
Flash Filename: cm.bin
Partition Name: DQMDBG
Flash Filename: dqmdbg.img
Partition Name: HIDDEN
Flash Filename: hidden.img
Partition Name: KEYSTORAGE
Flash Filename: keystorage.bin
Partition Name: RADIO
Flash Filename: modem.bin
Partition Name: CP_DEBUG
Flash Filename: modem_debug.bin
Partition Name: ODM
Flash Filename: odm.img
Partition Name: OMR
Flash Filename: omr.img
Partition Name: PARAM
Flash Filename: param.bin
--
Partition Name: UP_PARAM
Flash Filename: up_param.bin
Partition Name: RECOVERY
Flash Filename: recovery.img
Partition Name: BOOTLOADER
Flash Filename: sboot.bin
Partition Name: SYSTEM
Flash Filename: system.img
Partition Name: UP_PARAM
Flash Filename: up_param.bin
Partition Name: USERDATA
Flash Filename: userdata.img
Partition Name: VENDOR
Flash Filename: vendor.img

And from that we get the meat of the heimdall command:

# ls -1 | sort | while read i; do grep -B 1 $i S9.pit; done | sed s/Partition\ Name:\ /--/g | sed s/Flash\ Filename:\ // | tr '\n' ' '
--BOOT boot.img --CACHE cache.img --CM cm.bin --DQMDBG dqmdbg.img --HIDDEN hidden.img --KEYSTORAGE keystorage.bin --RADIO modem.bin --CP_DEBUG modem_debug.bin --ODM odm.img --OMR omr.img --PARAM param.bin -- --UP_PARAM up_param.bin --RECOVERY recovery.img --BOOTLOADER sboot.bin --SYSTEM system.img --UP_PARAM up_param.bin --USERDATA userdata.img --VENDOR vendor.img

Room for improvement: “–UP_PARAM up_param.bin” appears twice, and a stray “–”

Good thing I built my own command: it contains two partitions and relevant files absent from the aforementioned method.

Soooo…

# heimdall flash --BOOT boot.img --CACHE cache.img --CM cm.bin --DQMDBG dqmdbg.img --HIDDEN hidden.img --KEYSTORAGE keystorage.bin --RADIO modem.bin --CP_DEBUG modem_debug.bin --ODM odm.img --OMR omr.img --PARAM param.bin --RECOVERY recovery.img --BOOTLOADER sboot.bin --SYSTEM system.img --UP_PARAM up_param.bin --USERDATA userdata.img --VENDOR vendor.img
Heimdall v1.4.2

Copyright (c) 2010-2017 Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/

Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...

Initialising protocol...
Protocol initialisation successful.

Beginning session...

Some devices may take up to 2 minutes to respond.
Please be patient!

Session begun.

Downloading device's PIT file...
PIT file download successful.

Uploading BOOT
100%
BOOT upload successful

Uploading CACHE
100%
CACHE upload successful

Uploading CM
100%
CM upload successful

Uploading DQMDBG
100%
DQMDBG upload successful

Uploading HIDDEN
100%
HIDDEN upload successful

Uploading KEYSTORAGE
100%
KEYSTORAGE upload successful

Uploading RADIO
72%
ERROR: Failed to send file part packet!
ERROR: RADIO upload failed!

Ending session...
ERROR: Failed to send end session packet!
Releasing device interface...

Result: failure.

Relevant bit:

Uploading RADIO
72%
ERROR: Failed to send file part packet!
ERROR: RADIO upload failed!

And I reproduce that behaviour at each attempt.

Well, progress - but we’re not there yet: I find absolutely no sense in the upload failing at that specific point each time. I found another person with the same symptom, but he never found the cause.