Heimdall available for Windows

Dear readers,
Below my experience flashing TWRP and /e/ on an old Samsung S4 (not being afraid to brick it). This is meant as an extension to the existing documentation, and might be valid for many other Samsung models - with the usual disclaimer: no guarantee from me, know what you are doing.

First of all, a S4 I9505 does not need to be OEM unlocked, it already is.
And: Heimdall is now available for Windows, with a GUI.
https://www.glassechidna.com.au/heimdall/
It is a 32bit version and you will be instructed to install the Windows Visual C++ 2012 redistribution package. Note that you have to install the 32bit (x86) version of the redistributable too, of course.

Extract the Windows Heimdall Suite.
You may want to read the README.txt.
Start your device in download mode, then connect it to the computer (as already documented).
Run the zadig.exe procedure to install the USB device (as already documented).

Start heimdall_frontend.exe
1)
Go to tab ‘Utilities’ to create a PIT file first.
Press ‘Detect device’ (should answer ‘Device detected’).
Enter a Destination File (like ‘mymodel.pit’) or use button ‘Save As’ to overwrite an existing PIT file.
Press ‘Download’. This will extract the PIT file from the device and save it on the computer.
2)
Go to tab ‘Flash’.
Browse and select the PIT file just created.
Press ‘Add’, this will list one main (?) partition.
Now from the ‘Partition Name’ dropdown, select RECOVERY.
For ‘File’ select the appropriate TWRP file for your device.
Check ‘No Reboot’ (!!)
Uncheck ‘Resume’.
Press ‘Start’ to flash TWRP.

A common problem, seen in my try-and-error, was a ‘Protocol error’ reported by Heimdall.
This often can be solved by disconnecting and connecting the cable agein.
Otherwise start again with zadig.exe, and work a bit faster. The USB device seems to have a short lifetime, or gets out of order when Heimdall closes the connection after PIT file creation or flash.

My BIGGEST problem was how to shut down the device (still in download mode) without immediate reboot and loose the new flash. On the S4 I had to repeat all the procedure 5+ times before I managed to boot into TWRP recovery. ADB could not help here: it does not see the device when it is in download mode. At the end, while still in download mode, I held Volume Up + Home + Power a very long time before TWRP said hello to me.
Thereafter, installing /e/ following the existing instructions was easy.

The first time booting into /e/ it got stuck in the /e/ logo.
Power off, power on, and then it was running, going into the setup’s. DONE!

Note:
At first I had installed the TWRP app from the Play Store, but it did not list my exact device model (only a twin model), so I will never know if that was an even much easier way to go. If you have a newer Samsung model, the TWRP app is worth a try.
Question: jfltexx from /e/, or jflte as seen in the TWRP app - is it the same? That’s not clear for a newbee like me. But the existence of the TWRP app needs some mentioning in documentation, I would say.

1 Like

I don’t bother with twrp app but it is probably clever enough to resolve this sort of naming issue :smile:

Seems all consistent. It is always necessary to be sure you have TWRP, an exact match for your device.

jfltexx and jflte, seems to me to be a change of nomenclature, not certain, it is seen in that generation of devices, but I would just aim to have the same all through.

Thanks for reactions.
My trouble was, that the /e/ documentation links to a list of jfltexx on the twrp website, but it cannot be found from the twrp website itself. Then, the twrp app shows for the S4 only the model GHP-I337 (if I remember the name well) which is really a twin sister of I9505 but maybe for other parts of the world.
And to go further, when on twrp.me selecting the device Samsung Galaxy S4 (qualcomm), and dive into Github (via button Device Tree) and look at the README, it lists a whole lot of jflte variants, including jfltexx, so it suggests that it is all compatible, or else that the app can decide what it exactly needs.

If someone with knowledge can clear these twrp questionmarks, the process of installing /e/ could become really simpler and quicker. My S4 was a test, once I have a newer phone, there is a good chance that the app shows it exactly in its list, and I would go the way. What can go wrong :thinking: ?

Your research seems thorough, I did the same as I have an a3xelte. Until very recently it was documented here as both a3xelte and a3xeltexx.

The Samsung A3(6) comes in international variants, with stock ROMs which vary by name, implies they are different. Or are they just named so for “commercial” reasons?

Then you look at the device tree, see if the blobs are identical. Software can be built to work with more than one blob. I see the .xx suffix as saying “all purpose”.

The XDA link above talks of “unified” names. After 3+ years of software in service, unified seemed OK to someone.

I still have to wonder if this could have any bearing on why /e/ has a problem building an a3xelte ROM :confused: as I speculated here.