Samsung S9 - Downgrade from 4.0 to 3.7 save?

I don’t use my phone a lot, but after the upgrade to 4.0 I have to restart my phone if I want to call people and even reconnect to my wifi. I’ve been trying to life with these bugs, but it’s so annoying and I can’t deal with them anymore. I tried to go back to to my S21+, but I don’t like it. The phone is too large for me and has stock android…

I have not read anything from the devs on the forum acknowledge any of the bugs, so I am not sure if things will be fixed soon. Therefore I want to downgrade to 3.7 where everything functioned for me.

Is this save to do?

3 Likes

Samsung are quite unbrickable !

1 Like

I’ve successfully downgraded to 3.7.1 and everything works. No more bugs for me and I can use the phone without any issues. I have created a guide for people that also want to downgrade to version 3.7.1. If there are things not clear, please let me know. Try to avoid doing your own thing, because it will probably fail. Follow the guide to the letter. If something fails in the guide let me know.

This guide explains how to downgrade your Samsung S9 from 4.0 to 3.7.1 using Windows.


PHONE LAYOUT SAMSUNG S9:

On the left (from top to bottom):
VOL UP
VOL DOWN
BIXBY

On the right:
POWER


PREPARATION:

Back up everything, especially 2-factor recovery file!
The installation will erase all data.
Make sure you have USB Debugging enabled!
Download Odin 3.14.4 from a trusted website.


HOW TO ENABLE USB DEBUGGING:

1 Go to your settings
2 Scroll to the bottom until you see “About Phone“ and tap on it
3 Scroll to the bottom until you see “Build number“
4 tap 5 times on “Build number“. The phone will tell you when it’s activated
5 Go back to your settings
6 Scroll down and you will see “System“ and tap on it
7 Scroll down and you will see “Developer Options“ and tap on it
8 Scroll down slowly until you see “USB debugging“ and tap to active
9 Close settings


We need to replace the recovery to install the older version of e/OS. Both need to have the same version! If you do not download the files with the same versions you won’t be able to sideload the zip and you’ll get the error: “Denying OTA because it’s SPL downgrade”.

  • Download e-3.7.1-s-20260416608787-official-starlte.zip from the page.
    Download recovery-e-3.7.1-s-20260416608787-official-starlte.img from the page.

  • Rename the .img file to “recovery.img”. This will make it easier to type later on.
    To make things easier to find, place both files in C:\

CONVERT .IMG TO .TAR

  • Open cmd prompt and navigate to C:\
    (type C:\ and press Enter)
  • Type “tar -cvf recovery.tar recovery.img”

The command above created a file called “recovery.tar’ on the C drive-location.


PHONE:

Now that we prepared everything proper, the rest should be a piece of cake. We’re going to replace the recovery image with the one we downloaded. Grab your phone and make sure it’s turned off.

  • 1 Hold VOL DOWN + BIXBY + POWER.

You’ll see a turquoise page with “WARNING”.

  • 2 Press VOL UP to continue.

You’ll see:

“Downloading…
Do not turn off target”


START ODIN

  • Open ODIN on your computer.
  • Connect your S9 to your computer.

In ODIN-log you will see something like:

ID:0/007 Added!!
ID:0/007 Removed!!
ID:0/007 Added!!

  • Click on the Options Tab in ODIN >> UN-CHECK “Auto Reboot”.
  • Click on the button “AP”.
  • Navigate to the recovery.tar we created and click on Open.
  • Click on “Start” and wait for ODIN to say PASS! (in green) at te top.

Do not reboot the phone when ODIN is done! Keep reading. You can disconnect the phone from the computer.


BOOT INTO RECOVERY:

  • Take your phone and hold VOL DOWN + POWER for about 7 sec to force the phone to turn off.
  • As soon as the phone turns off, Hold VOL UP + BIXBY + POWER to boot into recovery!
  • Select “Apply Update” by tapping with your finger.
  • Select “Apply update from ADB”.

OPEN ADB:

  • Connect your phone to the computer.
  • Open Command-Prompt in Windows.
  • Navigate to the C drive where the zip-file is located: Type C:\ and press Enter.
  • Type “adb devices” in command-prompt to make sure the device is connected.

Example output:

C:>adb devices
List of devices attached
1cf1410403037ece sideload


INSTALL THE ROM:

  • Type in the cmd prompt: “adb sideload e-3.7” and press TAB to auto-complete the filename.

The phone will now upload the ROM to your phone. Wait until it’s 100%.


Example when done:

C:>adb sideload e-3.7.1-s-20260416608787-official-starlte.zip
Total xfer: 1.00x


Once it’s done, check the text on the phone at the bottom of the screen to be sure there are no errors. If everything went fine, you’ll see at the bottom: Script succeeded: result was [1.00000]
(Yes, it’s very hard to read.)

  • Navigate back by tapping on the arrow at the top once
  • Select “Reboot system now”

You might get a warning that the encryption was unsuccessful, but simply continue and the phone will reboot into the e/OS welcome screen.

3 Likes

I have experienced similar problems for calls with my Samsung S9 device since I upgraded to e-OS v.4, and I would like to downgrade to v3.7 too. So thank you very much for this practical guide!

But I wonder how I can adapt your method to run it with my Ubuntu computer. Is it possible to do it with Heimdall instead of Odin? Then where should I place the files and how should I convert the recovery file to tar?

Also, some terms are unclear to me, please. What is a “2-factor recovery file”? And how to know if USB debugging is enabled on my phone, and to enable it if not?

I’m sorry if my questions may seem silly. I’m not an expert user. But I just wish I could get my phone to work properly. Thank you for your understanding.

Unfortunately I cannot help you with that. I do not use Ubuntu and I’ve never tried Heimdall. I have Win10 and Arch.

”What is a “2-factor recovery file”?” => This is the backup/recovery file for you 2-factor-authentication app. If you don’t use any, don’t worry about it.

”how to know if USB debugging is enabled on my phone, and to enable it if not”
1 Go to your settings;
2 Scroll to the bottom until you see “About Phone“ and tap on that;
3 Scroll to the bottom until you see “Build number“
4 tap 5 times on “Build number“. The phone will tell you when it’s activated.
5 Go back to your settings
6 Scroll down and you will see “System“ and tap on it
7 Scroll down and you will see “Developer Options“ and tap on it
8 Scroll down slowly until you see “USB debugging“ and tap it to active it. (you can also search for it)

I will add how to enable USB debugging this to my post.

1 Like
heimdall flash --RECOVERY /path_to_the_recovery-e.img

or
Open the terminal from the folder where the files are.

heimdall flash --RECOVERY recovery-e_filename.img

Not needed.

Install /e/OS on a Samsung Galaxy S9 - “starlte”

2 Likes

Thank you for this very practical way to enable the USB debugging. This is done. I also installed Heimdall on my computer following the guide provided by Piero, and I downloaded the zip and img files.

Now I’m not sure how to understand the next step “Make sure the ROM and recovery have the same build number!” Could you further explain what it means, and how to check it, please?

And then, where am I supposed to deny OTA?

Thank you again for your help!

In the end, for “installing the image of /e/OS on the rom of my device from my Computer using the ADB sideload method” (cf. Chapter 9 of the Unified Install Guide Project), will I have to select “Factory reset” or not, for my purpose to downgrade to v3.7, please?

This means you have to download the files that have the same numbers and letters.

e-3.7.1-s-20260416608787-official-starlte.zip
recovery-e-3.7.1-s-20260416608787-official-starlte.img

the e-3.7.1-s-20260416608787 is the version. Both should be the same. On the download page the links are next to each other: e-3.7.1-s-20260416608787-official-starlte.zip [MD5 | SHA256] - recovery-e-3.7.1-s-20260416608787-official-starlte.img [SHA256]

I forgot to reply to your question regarding the “OTA”.
You don’t have to worry about that because you are going to install the same versions. The OTA is checking if you have the correct recovery installed.

1 Like

I have not used the guide from Piero, but he’s mentioning the following in step 9:

using recovery-e

The e-recovery.img will perform many of the same functions as twrp and is probably a bit easier in some respects for installing the eOS.zip. There are just a few basic steps to carry out:

  • (only for new install, not for update), select Factory Reset, then Format System* and Format data / factory reset and continue with the formatting process

  • Return to Home Screen

  • Select Apply Update, then Apply from ADB

That would mean that you have to do a factory reset because you are installing a new system. I suppose you are using the e-recovery method. (I have never used it.)

Why don’t you try the link he also provided: Install /e/OS on a Samsung Galaxy S9 - “starlte”

2 Likes

I fully agree, V3.7 was very good but V4.0 is not ready for release for S9, there are too many bugs that even prevent the user from using the phone, it is very frustrating and disappointing. I recommend avoiding V4.0 on S9.

1 Like

Thank you again for you help! I successfully downgraded to v3.7, and my phone works again. Great!

2 Likes

Thanks a lot, you saved my phone!

1 Like

Je viens rager un petit coup par ici..

Je galère à downgrade un s9 starlte. Je tente de faire ça à distance via rustdesk.

Jusqu’ici j’ai fais les manip à partir d’un pc sous windobe 11..

Odin détecte bien l’appareil mais plante lorsque je lance le flash du recovery. Odin se ferme sans message d’erreur.. J’ai testé deux versions 3.13 et 3.14..

Heimdall 1.4.0 avec l’invite de commande refuse de fonctionner correctement.. Heimdall arrive à contacter l’appareil mais apparemment un truc empêche les données de transiter.. J’ai bien utilisé zadig.exe comme expliqué partout. Ensuite j’ai tenté des trucs : réinstallé les pilotes officiels Samsung, tenté dans tous les sens possible zadig avec les différents pilotes proposé..

J’ai tenté l’équivalent de chez lineageos “samloader” pour charger le recovery 3.7.1 correspondant au S9 starlte.

Lui arrive très bien à communiquer avec l’appareil. D’après le retour d’invite de commande (avec la commande samloader print-pit). J’ai bien réussi à charger le recovery, mais depuis le téléphone bootloop sur le logo Samsung, impossible de boot sur le recovery ni sur e/OS. Le download mode est toujours accessible.

J’ai pas encore testé de flasher twrp ou le recovery de lineageos mais je préfére m’orienter vers une station tournant sous linux car je pense que la station à partir de laquel j’ai fais les manip est fucked..

@piero t’en pense quoi d’essayer à partir d’une station linux plutôt que de misèrer sur cette station sous w11 ?

Habituellement, Odin3 fonctionne très bien sous Windows pour flasher les SamsungOS ou les custom recovery…

  • c’a vault le coup d’essayer TWRP (3.3.1-1) ou (3.7.0_9-0) mais pas 3.4.x_x-x.

Sous Linux tu pourras utiliser

Hi Nyman,

Could you write a simple stape by stape ? I would like to do exactly that you have done (downgrade to 3.7 using ubuntu). Because I am not sure to understand all the details in Piero’s guide.

Thanks.

First flash recovery-e
(with the device in download mode)

Then install /e/
(with the device in recovery mode)

Hi G-rome,

Downgrading to version 3.7 requires to make a complete reinstallation of e/OS, which will format your device.

To do this, I first tried to follow the guide provided by JRKL, and to adapt it for Ubuntu and Heimdall following Piero’s instructions.

But in the end, you can just follow the complete step-by-step method to reinstall any e/OS version (with Ubuntu and Heimdall), that is already described in this link : Install /e/OS on a Samsung Galaxy S9 - “starlte”

When you reach the instructions for downloading the e/OS recovery, just select both .zip and .img files corresponding to the version 3.7.1.

And when installing the e/OS recovery, when you reach the step 6, I remember that you have to power off your device (by holding VOL DOWN + POWER for about 7 sec) before rebooting into recovery (by holding VOL UP + BIXBY + POWER).

It worked for me, so I hope it will work for you too.

1 Like