Samsung Galaxy S5 (G901F): Pain to install custom recovery or Cyanogenmod

Written by - 3 comments

Published on - Listed in Android


A couple of months ago, I got a new phone from work, a Samsung Galaxy S5 G901F (also known as Samsung Galaxy S5 Plus). Ever since there are several points which greatly annoy me:

  • Samsung's Touchwiz interface is just a pain in the ass, it's bloody slow and looks ugly (trying to look iPhone-alike)
  • Already came across several bugs (Wifi tethering doesnt work, mail sync issues, ...)
  • Seen no updates so far - the phone is still on 4.4.4 but Android 5.1 is meanwhile out
  • Bloody customizations from the phone provider (Swisscom)
  • Other bloatware

Whenever such annoyances bugged me, I ditched the stock ROM and replaced it by CyanogenMod (successfully installed Cyanogenmod 7 on Motorola Milestone and later Cyanogenmod 9 on a Samsung Galaxy S2). So I decided to finally do it on the Samsung Galaxy S 5, too.

But that's easier said than done. 

Spoiler: The reason for all this is because the Samsung Galaxy S5 Plus G901F is not a klte device, but rather a kccat6 device. 

1. Cyanogenmod's install instructions for the Samsung Galaxy S5 don't work

The official documentation how to install CyanogenMod on the Samsung Galaxy S5 simply didn't work. When I tried to flash the custom recovery with heimdall, I got the following errors:

heimdall.exe flash --RECOVERY "C:\Program Files\Heimdall\recovery.img" --no-reboot
Heimdall v1.4.0

Copyright (c) 2010-2013, 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...
ERROR: Failed to send request to end PIT file transfer!
ERROR: Failed to download PIT file!
Ending session...
ERROR: Failed to send end session packet!
Releasing device interface...

2. Manual installation of a custom recovery is tricky

In order to install Cyanogenmod I first need to have a custom recovery on the phone. I tried different versions of TWRP, CWM but almost all of them showed an error message ("Could not do normal boot") when I tried to boot into the Recovery mode and it went straight to the Download Mode.
The issue here is, as I found out later (see Spoiler above), that the phone is not a klte device. And almost all firmwares, roms and root instructions are made for the klte type of the Samsung Galaxy S5. But the G901F is  a kccat6 device.
I was finally able to find a working CWM file which I could flash with odin.

3. How to manually flash a custom recovery (CWM) on your G901F

Eventually I came across the following post in the XDA Developers forums: SM - G901F Rooted at last ! CWM Recovery in English !
Halleluja! With the downloadedable file (g901f-cwm-recovery-6.0.5.1(1130).tar) I was finally able to put CWM on the phone (and it staid there after a reboot, too).
Here's a step by step instruction:

3.1 Download odin3 v3.09 (or newer) from http://odindownload.com/.

3.2 Download and install the Samsung USB drivers (SAMSUNG_USB_Driver_for_Mobile_Phones.zip) from http://developer.samsung.com/technical-doc/view.do?v=T000000117. You should probably reboot your computer afterwards just to make sure.

3.3 Unpack the odin zip file and launch the odin3 exe (Odin3 v3.09.exe).

3.4 Power off your Samsung Galaxy S5 G901F phone.

3.5 Boot your phone into the Download Mode by pressing the following buttons altogether: Volume Down + Home + Power until you see a warning triangle. Accept the warning by pressing the Volume Up button.

Samsung Galaxy S5 Plus Download Mode
Samsung Galaxy S5 Plus Download Mode

3.6 Plug your phone with the USB cable to your computer. In Odin the device should now be detected by showing the communication port in ID:COM. In my case this was "0:[COM8]".

3.7 In Odin, disable the "Auto Reboot" option. On the right side (Files [Download]) click on the "PDA" or "AP" button and select the previously downloaded g901f-cwm-recovery-6.0.5.1(1130).tar file. Then click on the Start button.
Odin will then display several log entries in the "Message" box. Wait until there is a green box "PASS" displayed above the communication port.
On your phone a blue bar should have appeared.

3.8 Disconnect your USB cable from the phone. Open your phone and take the battery out (yes, the phone is still running). Wait a few seconds and place your battery back in, close your phone.

3.9 Boot your phone into the Recovery Mode by pressing the following button combination: Volume Up + Home + Power. Keep it pressed until you see a small blue text appearing on top of the screen.

3.10 Congratz! You are now in CWM, a custom recovery.

CWM Recovery on G901F

4. Installation of CyanogenMod - fail

Now that the custom recovery/CWM is installed and working on the phone, I proceeded to (finally) install CyanogenMod. I booted the phone normally and copied the current CM12.1 nightly (cm-12.1-20150702-NIGHTLY-klte.zip) and the Google Apps package (gapps-5.1-2015-06-02-15-19.zip) to the phone's internal storage.

Placed cyanogenmod on device storage

Afterwards I powered off the phone and booted into the Recovery Mode.

In CWM, I wanted to install CyanogenMod by using "install zip" -> "choose zip from /sdcard" -> select cm-12.1-20150702-NIGHTLY-klte.zip.

CyanogenMod installation G901F
CyanogenMod installation G901F
CyanogenMod installation G901F
CyanogenMod installation G901F
The following error message then appeared on the phone:

This package is for device: kltexx, ltelra, kltetmo, kltecan, klteatt, klteub, klteacg, klte, kltekor, klteskt, kltektt; this device is kccat6

CyanogenMod installation G901F

This is when I (finally!) found out that I have a Samsung Galaxy S5 Plus which isn't a klte device. Hence I could finally explain myself why so many trials to install a custom recovery failed.

Unfortunately to this day, there is no CyanogenMod version for this device (kccat6) available. A forum thread exists where you can add your demand.

But at least now I'm prepared with CWM if CM ever comes to this device.

Additional notes

A working tutorial how to root your G901F can be found here on androidxda.com.

Update July 15th 2015

I was finally able to install CyanogenMod 12.1 on my G-901F today. I wrote a step-by-step guide how to install CyanogenMod 12.1 on Samsung Galaxy S5+ G-901F.


Add a comment

Show form to leave a comment

Comments (newest first)

LethalRabbit from Netherlands wrote on May 25th, 2016:

Holy crap, you have no idea how much you have just helped me. I have the exact same phone as you and my troubles started when I was trying to flash a copy of twrp recovery. I tried dozens of recoveries and I figured I was just screwed, until I stumbled upon this post.

Thanks so incredibly much!


Claudio Künzler from wrote on Sep 2nd, 2015:

As long as its the same phone model, it should work.


Eric from Norway wrote on Sep 2nd, 2015:

Hi. Nice guide.

My phone has a different built number than the one mentioned in the root guide:
http://androidxda.com/root-samsung-galaxy-s5-lte-sm-g901f

My phone:
Model: SM-901F
Android version 4.4.4
Baseband version: G901FXXU1ANK2
Build number: KTU84P.G901FXXU1ANK3

Do you think it will work?

-Eric


RSS feed

Blog Tags:

  AWS   Android   Ansible   Apache   Apple   Atlassian   BSD   Backup   Bash   Bluecoat   CMS   Chef   Cloud   Coding   Consul   Containers   CouchDB   DB   DNS   Database   Databases   Docker   ELK   Elasticsearch   Filebeat   FreeBSD   Galera   Git   GlusterFS   Grafana   Graphics   HAProxy   HTML   Hacks   Hardware   Icinga   Influx   Internet   Java   KVM   Kibana   Kodi   Kubernetes   LVM   LXC   Linux   Logstash   Mac   Macintosh   Mail   MariaDB   Minio   MongoDB   Monitoring   Multimedia   MySQL   NFS   Nagios   Network   Nginx   OSSEC   OTRS   Observability   Office   OpenSearch   PGSQL   PHP   Perl   Personal   PostgreSQL   Postgres   PowerDNS   Proxmox   Proxy   Python   Rancher   Rant   Redis   Roundcube   SSL   Samba   Seafile   Security   Shell   SmartOS   Solaris   Surveillance   Systemd   TLS   Tomcat   Ubuntu   Unix   VMWare   VMware   Varnish   Virtualization   Windows   Wireless   Wordpress   Wyse   ZFS   Zoneminder