If you have a SIM-unlocked AT&T or T-Mobie HTC One (M7) outside USA, there’s a good chance that you won’t get the OTA updates for your device. You need to update your device in the “dirty” way. I was having serious troubles updating my AT&T HTC One from Android 4.3 (Sense 5.0) to Android 4.4.2 (Sense 5.5). Roaming around XDA Developers forum, I came to compile a solution. Here’s the step-by-step guide:
1. I unlocked the bootloader by collecting the Unlock_code.bin file from htcdev.com.
From Settings > Power, uncheck the “Fast boot”. Then turn off your device. Wait for a few seconds. Turn on the device with the volume down button pressed. This will take you to bootloader mode. Using the volume up/down keys, select FASTBOOT and connect your device to your PC using a USB cable. On the device screen, you should see FASTBOOT USB.
Now open a terminal window on your PC (I am assuming you have adb and fastboot installed. If not, search Google for “Minimal ADB and Fastboot” and install it). Type the following command:
fastboot flash unlocktoken Unlock_code.bin
On the device screen, you will have to choose YES using the vol up/down keys and Power button. This will unlock your device’s bootloader and wipe your device completely. Your phone will reboot.
2. I flashed a custom recovery for rooting the device.
Download your favorite recovery. I used twrp-recovery-220.127.116.11b-m7-20140408.img.
Enter the bootloader mode again as described before. In the terminal windows, write the following code to flash the custom recovery:
fastboot flash recovery twrp-recovery-18.104.22.168b-m7-20140408.img
Now reboot your device. Download your favorite SU binary zip and copy it to your phone. I used UPDATE-SuperSU-v1.65.zip.
Turn off your device and enter bootloader mode again. It should show TAMPERED and UNLOCKED but S-ON now.
Select RECOVERY from the bootloader menu. This will reboot the device into TWRP recovery. Navigate to the SU zip file and flash it. Upon completion of the flash, wipe cache.
3. I used rumrunner to get S-OFF.
Now that we have a rooted device, we can use rumrunner. Download rumrunner_HTC_0.5.0.zip. Extract it. Connect your phone (turned on) to the PC and enable USB Debugging from Settings>Developer Options. On your PC, from the extracted rumrunner folder, run the sojo.exe in administrator mode.
For rumrunner to run, you need to be connected to the internet (I don’t know why). Also, the process will be easier if you – a) turn off all screen securities, b) connected your device to the PC in adb mode and fastboot mode at least once before running rumrunner (this will ensure if you have proper drivers installed or not). It will take some time for rumrunner to get S-OFF. Your device will reboot many times, don’t worry, this is normal.
So, now we have a tampered, unlocked, S-OFF device.
4. I returned to Stock 4.3 ROM using RUU.
Relock your bootloader using the following command:
fastboot oem lock
I used the RUU_M7_UL_JB43_SENSE50_MR_Cingular_US_3.17.502.3_R adio_4A.19.3263.13_10.38j.1157.04_release_334235_s igned_2.exe to return to stock. This RUU didn’t give any “htc_fastboot.exe stopped working” error and ran smoothly every time. This will remove the “Tampered” sign, but your S-OFF will be as it were. This is what we wanted in the first place. A complete stock firmware/ROM with S-OFF.
5. I flashed the OTA.zip using stock recovery.
Now, download the 4.4.2 OTA zip file and place it in your phone storage. Reboot the phone in bootloader and then recovery mode. Clear cache from the stock recovery and then select “apply from phone storage”. Navigate to the OTA.zip file on your phone and select it. After it completes the flashing process, do a factory reset from the recovery or the bootloader mode. Now, you should have a stock HTC 4.4.2 device with Sense 5.5, locked bootloader and S-OFF.