How to Get S-OFF HTC Smartphones using Firewater!

For those of you who are interested in getting S-OFF your HTC smartphones, you can now use Firewater to do so.

This will work on most HTC smartphones with Qualcomm chip.  I was able to use this method to get S-OFF on bunch of my HTC phones including AT&T One X (One XL), HTC Evo 4G LTE, and HTC One M7/M8.

Why S-OFF?

S-OFF on older devices like AT&T One X allows user to flash custom ROMs normally without having to use a computer to flash kernel (boot image) via fastboot.

On newer HTC devices like HTC One M7 or M8, you do NOT NEED S-OFF as custom ROMs will install normally but by having S-OFF, you will be able to install bootloaders/radios.  This can be useful in cases where you need to upgrade the bootloader on newer Android OS versions so you don’t have to unroot your phone back to stock firmware.

I usually do NOT promote S-OFF especially on newer HTC phones as they are dangerous but I found that Firewater method is very safe to do and does not cause hard bricks like I have seen with other S-OFF methods.

To use Firewater, first you will need a rooted HTC smartphone.  (You can refer to our How to Root Android! page)

Once you have a rooted HTC smartphone, you are ready to go.  In this example, I am using CM11 ROM but you can use any custom ROM or stock ROM.

Step 1. Enable developer options on your phone by going to Settings->About phone and hitting the “Build Number” about 5 times until it says, “You have enabled development settings”.



Step 2. Hit the back button once and you shall see a new Settings menu called “Developer options”.  Go into it and enable “Android debugging” or “Android ADB Debugging”.

This will enable your Android ADB interface.



Step 3. Next connect a micro-USB cable from your HTC phone to your computer.


Step 4. Download and firewater.

Unzip and you should get a folder called “fastboot” in your Downloads directory.  Copy the firewater file also into this folder like shown below:


Download firewater – Web Archive Download Here Also



Step 5. If you are using Mac or Linux, you don’t need drivers, skip to Step 6.   If using Windows, open up Device Manager and make sure you see either “My HTC” or “Android ADB Interface”.

If you don’t see it, you don’t have HTC drivers installed, download and install HTC drivers.



Step 6. Open a command prompt for Windows and terminal for Mac or Linux.

Then type:

For Windows:

cd Downloads
cd fastboot
adb reboot

For Mac:

cd Downloads
cd fastboot
chmod 755 *
./adb-mac reboot

For Linux/Ubuntu:

cd Downloads
cd fastboot
chmod 755 *
sudo ./adb-linux reboot


If you get an error like I did that the device is offline, then go to your HTC phone and make sure you hit “OK” when “Allow USB debugging” window pops up.



You can type “adb devices” to check that your device is being recognized.  For Mac, use “./adb-mac devices” and for Linux/Ubuntu, use “sudo ./adb-linux devices”.

Step 7. Next type:

Then type:

For Windows:

adb wait-for-device push firewater /data/local/tmp

For Mac:

./adb-mac wait-for-device push firewater /data/local/tmp

For Linux/Ubuntu:

sudo ./adb-linux wait-for-device push firewater /data/local/tmp


Step 8. Next type:

Then type:

For Windows:
adb shell

For Mac:
./adb-mac shell

For Linux/Ubuntu:
sudo ./adb-linux shell

Then type: (For all Windows, Mac, and Linux)
chmod 755 /data/local/tmp/firewater



If you get permission denied error, you may have to set Root access under “Developer options” to “Apps and ADB”.   (This is what you have to do on CM11 ROM but not regular Sense ROMs.)  Then repeat Step 8.





Step 9. One everything done correctly, Firewater program will run, type “Yes”.



After a minute or two, your HTC phone should now have S-OFF.  If for some reason the program terminates early and your phone hangs, just hold down Power button to reboot your phone and try the process again from Step 8.  *Note – On my HTC Evo 4G LTE, I had to run Firewater twice but it worked the second time.



Step 10. To verify you have S-OFF, you can reboot into the bootloader.  Power off your HTC phone.  Then hold down Volume Down and Power buttons together for about 5 seconds until you see the bootloader menu.



YEY!  You have S-OFF, congratulations!




66 Responses

  1. Randall says:

    I keep getting “-bash: ./adb-mac no such directory or file exists”

    • Randall says:

      Had to change directory (cd) to where adb is located and everything seems to be running ok.
      Except firewater could not help achieve s-off for my device.

  2. Himanshu says:

    hey i want to convert my htc one m8 into google play edition.
    is it possible to flash GPE rom with S-ON?
    as i am unable to Gain S-off by both firewater as well as by sunshine method.

    Please help

    • Max Lee says:

      Yes ROMs don’t require S-OFF on HTC One M7 or M8. S-OFF is only required for flashing bootloaders and radios. You DO NOT need S-OFF to install custom ROMs at all.

      • Brian says:

        Hoi Max. If I flash a custom rom the phone{htc one m7} reboots in entering recovery and my twrp is v2.6.3.0
        If I download the latest twrp the white screen stays on with entering recovery.
        My question is will it help to s-off my phone

  3. Henry Ortiz says:

    I got this message

    whelp, this sucks, firewater can not work on your device
    no amount of reflashing, retrying, or ruuing will fix…
    if we are able to fix this issue, it will be announced
    bye bye…..sorry it didn’t work out.


  4. goo goo says:

    hi max. loved your my HTC LTE root. tried Liquidsmooth, i ruined my phone. erase the internal data. thanks to Meanbean it is up running. the phone still unlock and rooted has supersu installed, but i don’t whyTWRP keeps asking to install supersu, flashed but never work…
    second, s-off didn’t for me. the phone reboot after 2 min wait… it still s-on.
    pls advice….

  5. Stephen says:

    Hi, I have an issue with my htc one x where it does not go pass the boot screen. I’ve tried everything and when I put it in recovery mode and install a rom and reboot it, it does the same thing. Then at another point I was told there was no OS on it. Could you help me in solving this problem please?

  6. pukar says:

    atnt htc one x

    couldn’t achieve s-off
    firmware version :5.18

    what should i do?

  7. Craig says:

    So far I’ve been through 2 bottles with no success. Try again it after reboot it says. Then 5 bottles, reboot then 6 bottles. this is with HBOOT 1.57 on HTC One M7_wls
    I’m going reboot again.

  8. gi says:

    Why is it so difficult to go S-off?

  9. Zuhri says:

    Thanks man… i was stuck for 3 days to complete but finally one of your advice make to complete.Thanks alot man… im very happy now…

  10. Michael says:

    Will this work with the HTC desire 510 to get root access?

  11. callum says:

    It says it’s patched by HTC

  12. Black Venom says:

    C:\fastboot>adb shell
    shell@m7cdug:/ $ su

  13. Black Venom says:

    please help me ..
    when i’m in cmd ….i got this message …
    C:\fastboot>adb shell
    shell@m7cdug:/ $ su

  14. TF85 says:

    I can’t get the S-OFF for my HTC One M7.
    it has the hboot 1.57 and the OS :
    Perhaps Firewater can’t do it for the OS starting with 6. ?
    Best Regards

  15. musa says:

    the firewater is not running, but all the steps was followed correctly, i used CM11 ROM Snapshot M10 on your AT&T One X thanks

  16. hamza says:

    I tried step 8 three times,and there is nothing happen.Why?

  17. avinash says:

    firewater is not available to dwnld can any1 plz share it..

  18. avinash says:

    plz share firewater file

  19. lo says:

    Rumrunner replace firewater
    good luck

  20. Rob says:

    when I type adb shell i received:

    “C:\fastboot>adb shell
    /system/bin/sh: /system/etc/mkshrc[24]: resize: not found”

    and firewater not run 🙁
    Any tips?

  21. patrick says:

    Can i flash stock rom without s off ? My phone htc desire 816 hboot 3.19

  22. Giancarlo says:

    Hello, i`m stuck on step 8, when i write the codes it gives me this message:

    shell@android:/ # chmod 755 /data/local/tmp/firewater
    chmod 755 /data/local/tmp/firewater
    shell@android:/ # /data/local/tmp/firewater
    /data/local/tmp/firewater[2]: syntax error: ‘(‘ unexpected
    1|shell@android:/ #

    I don`t understand wher is the syntax error and it won`t let me continue with the next step.

    Pleas help me, and sorry for the bad english =)

  23. dar says:

    HI Any body have firewater , on link its says its discontinue
    plz send me uidevelopertesteratgmaildotcom

  24. Eduardo says:

    I need please the Firewater send me please to: sagadesurdai@gmail

  25. rafeelalam says:

    Someone share file direct link here or upload on some where and put download link here.

    The firewater file is not available on there is something like this :
    ((firewater is officially discontinued))

  26. mariano says:

    Hola he seguido los pasos varias veces y esto es lo que hace. Hago todo hasta el ultimo paso indicado en el tutorial y cuando debería aparecer “yes”, no lo hace y solo aparece esa ultima linea de comando. esto que agregue es sacado de mi propia aplicación para mostrarte. que puedo hacer?

    C:\built original de htc\adb>adb devices
    List of devices attached
    FA49JSR04677 device

    C:\built original de htc\adb>adb reboot

    C:\built original de htc\adb>adb devices
    List of devices attached
    FA49JSR04677 device

    C:\built original de htc\adb>adb wait-for-device push firewater /data/local/tmp
    2496 KB/s (4522136 bytes in 1.769s)

    C:\built original de htc\adb>adb shell
    root@htc_a11chl:/ # su
    root@htc_a11chl:/ # chmod 755 /data/local/tmp/firewater
    chmod 755 /data/local/tmp/firewater
    root@htc_a11chl:/ # /data/local/tmp/firewater
    root@htc_a11chl:/ #

  27. fredy says:

    hi ,when im finishing the step number 8 it sends me ¨error:only position independent executables are supported¨ can you help me please?
    im doin it on a htc one m8

  28. Tarun says:

    This procedure is not working for my HTC one X, which is not evita but endeavoru… Can you please help me out s-off my phone..

  29. Tarun says:

    C:\Users\tarun_000\Downloads\fastboot>adb devices
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    List of devices attached
    HT23LW101204 offline

    C:\Users\tarun_000\Downloads\fastboot>adb devices
    List of devices attached
    HT23LW101204 device

    C:\Users\tarun_000\Downloads\fastboot>adb reboot

    C:\Users\tarun_000\Downloads\fastboot>adb wait-for-device push firewater /data/l
    1264 KB/s (4522136 bytes in 3.492s)

    C:\Users\tarun_000\Downloads\fastboot>adb shell
    ←7←[r←[999;999H←[6nshell@endeavoru:/ $ su
    ←7←[r←[999;999H←[6nroot@endeavoru:/ # chmod 755 /data/local/tmp/firewater
    chmod 755 /data/local/tmp/firewater
    root@endeavoru:/ # /data/local/tmp/firewater
    root@endeavoru:/ # /data/local/tmp/firewater
    sh: /data/local/tmp/firewater: not found
    127|root@endeavoru:/ #

  30. chrislove says:

    dont work on htc desire 510

  31. Alderfy Sanch Reyn says:

    help me

  32. andrei says:

    i stopped @ /data/local/tmp/firewater

    nothing happen….. firewater not running 🙁

  33. ayham says:

    after i enter they type hmm why you are here help me please

  34. Ing Luis Baladez Moreno says:

    I have this problem. error only position independent executables (pie) are supported

    • gerardo says:

      despues de 2 años tengo esa bronca only position independen execut pie are supportes mi pregunta es si pudo solucionarlo y como de antemano gracias

  35. Zishan Ali says:

    i have the same problem
    firewater not working, why bro??

  36. Daniel Shaw says:

    I can’t seem to get past the same as /data/local/tmp/firewater when trying to execute the file. I got it to say that “permission was denied’ for a few times while trying to execute, haven’t been able to since.. I’ve followed the steps, but placed firewater into my platform-tools folder instead for easier access. Ran the push, shell, su, and execution but nothing happens.. I’m really trying to get Write-Read fixed on my HTC Desire 610 so I can at least fix the Mobile Hotspot problem from AT&T.. so any help would really be appreciated..

  37. JD says:

    Anyone know if this works on HTC One M9?

  38. GSM City says:

    i tried above all.
    but i could not push firewater to data/local/tmp with command.
    i copy it manually at same path data/local/tmp
    now adb shell
    chmod 755 data/local/tmp/firewater
    and then
    /data/local/tmp/firewater and press enter.
    but nothing happened.
    C:fastboot>adb shell

    root@m7wls:/ # su

    root@m7wls:/ # chmod 755 /data/local/tmp/firewater

    root@m7wls:/ # /data/local/tmp/firewater

    root@m7wls:/ #


  39. Greven85 says:

    siiiiigghhhhh….*ffs* someone said that a new kernel is needed, any recommendations? (links?)

    htc m8

    • Serg says:

      Greven85, try to restore a backup of android 4.4 … via TWRP, then get s-off, and then restore the backup of your current system

    • Ewan Owen Gatphoh says:

      C:UsersEwanmi O GatphohDownloadsfastboot>adb reboot

      C:UsersEwanmi O GatphohDownloadsfastboot>adb wait-for-device push firewater /data/local/tmp
      4270 KB/s (4519496 bytes in 1.033s)

      C:UsersEwanmi O GatphohDownloadsfastboot>adb shell
      shell@htc_m8:/ $ su
      1|shell@htc_m8:/ $ su
      1|shell@htc_m8:/ $ chmod 755 /data/local/tmp/firewater
      shell@htc_m8:/ $ su
      root@htc_m8:/ # chmod 755 /data/local/tmp/firewater
      root@htc_m8:/ # /data/local/tmp/firewater
      error: only position independent executables (PIE) are supported.
      1|root@htc_m8:/ #

      anyone please help me how to solve this…..

  40. Brian Twene says:

    Does it work on a HTC desire 510?

  41. Michael says:

    i can’t find a firewater flie pls help me
    maybe a link ;)?

  42. fernando says:

    hello im not shure i need a custom room in my HTC Desire 510 to get the soff?
    in my pc stop here “C:\adb>adb shell
    shell@htc_a11ul8x26:/ $ su
    root@htc_a11ul8x26:/ # chmod 755 /data/local/tmp/firewater
    chmod 755 /data/local/tmp/firewater
    root@htc_a11ul8x26:/ # /data/local/tmp/firewater
    root@htc_a11ul8x26:/ #” pleas helpme

  43. gerardo says:

    anyone can fix that problem error: only position independent executables (PIE) are supported.

  44. melvin says:

    hola tengo el mismo problema con un htc desire 626 luego del paso 8 me sale .. solo se admiten los ejecutables independientes de posición (PIE)… segun lei en otro articulo q eso pasa con las versiones de android 5 a posteriores y q se debe modificar algun archivo pero no se cual alguien sabe..? se los agradezco de antemano

Leave a Reply

Your email address will not be published. Required fields are marked *

Join the HighOnAndroid VIP Fans List for free help from Max and discounts on Android accessories.

Max Lee

Max Lee is the founder of Max makes Android tutorials and review videos for people who want to get high on Android over at his YouTube channel and Korean YouTube channel.