Revert Samsung Galaxy S9+ to stock ROM on Ubuntu

My computer runs 64-bit Ubuntu LTS Desktop. Is there any way I can use it to revert my Samsung Galaxy S9+ (SM-G965F, dual SIM) to the stock Samsung Android ROM? I can only find (and it looks very complex!). Thanks for any ideas here.

Regain your privacy! Adopt /e/ the unGoogled mobile OS and online servicesphone

Use Heimdall. It’s the equivalent of Odin (Windows). See also

Preparing for installation using Heimdall : 1. Install Heimdall or if you prefer you can Build latest Heimdall suite


Revert to Samsung OS is easier using Odin than Heimdall, but you can follow
Flashing Samsung Firmware with Heimdall
[HOWTO] (Needs expert review) Flash Galaxy s9+ to Stock Android 10 using heimdall-gui

Cool, thanks! Heimdall was relatively easy to build and it runs on my system.

How do I pick out firmware? I’m confused by “region”. Is this something about the language/locale in the firmware, or is this just indicating the server I’m downloading from? I’m guessing it is the latter, I just want to be sure.

samfrew says the firmwares available for the Galaxy S9+ (SM-G965F) are all the same version (G965FXXUHFVG4, but when I click that number it also shows G965FOXMHFVB4 and G965FXXUHFVB4), same OS (10 – looks like this is the latest available for this phone), build (2022-07-21) and changelist (23733710).

1 Like

It is about country/carrier dependant OR country/carrier free

The phone is carrier-unlocked. I bought it in the spring of 2021 from ESolutions (now Murena, I guess). I think it is basically the one they sell called “Murena Galaxy S9+ Refurbished”.

or this one: USED - Samsung Galaxy S9+Plus SM-G965F/DS Dual SIM (FACTORY UNLOCKED) 64GB Black | eBay

Is there some kind of “country unlock” I need to account for as well? That eBay listing says “no region lock”. I’ll also ask Murena if the phone they sold me was region-locked.

Ah, so “CSC” is “country-specific code”. I don’t see a CSC in the settings and I am unable to use the methods to figure out my CSC such as dialing *#1234#. I do see that the settings says “baseband version” is G965FXXUHFVB4, which corresponds to the previous (February 2022 Update) firmware at samfrew.

I suppose I could try downloading two different firmwares from samfrew then diff’ing the files.

So if I figure out the phone is not region-locked, I can use any one of these G965FXXUHFVG4 firmwares? Is that right? For example, if I pick Switzerland it looks like the latest available is:

  • 10 (I guess that means Android 10 / Q?)
  • 23733710
  • 2022-07-21
  • Multi CSC: OVF
  • July 2022 Update

1 Like

Ugh, I give up. Heimdall doesn’t recognize anything in the .zip file I got from samfrew. contains:


I guess I’ll try Odin in a Windows VM. Man, this is rough.

Odin in a Windows VM worked. I think the ROM was meant for Switzerland but I changed the language to English (USA) and it worked as expected. Lots of bloatware (ugh!), spyware, tracking, so way worse than /e/ OS in many ways, but now I get VoLTE (very necessary since T-Mobile USA dropped 3G support) and Wi-Fi calling (also quite nice to have). This is a bittersweet victory.


Heimdall manage the partitions images that are included in the .TAR.MD5 files of the Samsung firmware

:arrow_upper_right: Coverage and technologies of the T-Mobile network

Frequencies that can provide LTE:

Band 2 (1900 MHz)
Band 5 (850 MHz)
Band 4 (1700/2100 MHz)
Band 66 (Extension of band 4 on 1700/2100 MHz).
incl. VoLTE

Galaxy S9+ (SM-G965F) can handle these frequencies.

Alternative Region: BTU (United Kingdom) is for phones direct from Samsung, without brands and less bloatware.

I’m back on /e/ OS with a Fairphone 4! :tada: