Whether it's spotty data coverage, bad customer service, or a high monthly bill, at some point many of us consider changing carriers. The problem is, we often don't want or need to change our devices. Since it's now legal to unlock devices to bring to new carriers, getting devices switched over is doable, but it's pain going into carrier stores and dealing with their constant upselling.
When you're finally fed up with your mobile provider and ready to switch to a new one, do it yourself. Keep your existing device and install the latest software from your new carrier in just a few simple steps. You'll be able to use their built-in apps as well as receive automatic software updates, just like you would if you purchased your HTC One directly from them.
Using downloadable RUUs with an S-Off device, we can easily change firmwares to switch from one carrier to another, as long as they are both GSM/LTE (sorry Sprint and Verizon Wireless users). The first steps will be to change your CID and MID, then install a new firmware.
A CID, or Carrier ID, is the line of code that tells your device which mobile provider it is tied to. By changing an AT&T CID to a T-Mobile one, you can to install a T-Mobile ROM. The same goes for the MID, or Model ID.
RUU stands for ROM Update Utility, and is what allows us to install a carrier's stock Radio, Recovery, and Firmware onto our One. Finally, to install a T-Mobile ROM, we will be using a T-Mobile RUU.
In this guide, I will be showing you how to change your One's CID/MID and flash a RUU from a different carrier. There will be an optional step for relocking your bootloader, but only if you want to install OTA's directly from your new carrier.
Be sure to get a few basics out of the way before getting started with the process:
- Install ADB and Fastboot on your computer.
- Enable USB debugging on your One.
- S-Off your device—this is a must.
- Since we will be using TWRP, your bootloader must be unlocked.
- Finally, double check that your device is a GSM/LTE compatible variant (this method will not work for Sprint or Verizon) and back up your apps and data.
The first and most important step is to change your CID to match the carrier you are switching to. Since I am going from AT&T to T-Mobile, I will be using T-MOB010. If you are unsure what CID to use, here is a great reference list from XDA member MrKongeniality.
- Connect your device to your computer and reboot into bootloader by typing the adb reboot bootloader command into terminal prompt.
- Then, change your CID with the fastboot oem writecid T-MOB010 command (change "T-MOB010" to your new carrier's CID).
- Reboot your device with fastboot reboot.
Usually, this step would require flashing a custom "Engineering" bootloader onto your phone, but thanks to XDA member Golv, there is now a simple tool that can be flashed in TWRP, or any other custom recovery.
- Download the MID Change Tool directly onto your One.
- Reboot your phone into recovery mode by plugging into your computer and typing the adb reboot recovery command.
- From TWRP, tap "Install" and select the MID_Change_1.01.zip you downloaded.
- Swipe to confirm flash and then let the AROMA installer startup.
- Agree to the terms in the AROMA Installer and select the MID you are planning to switch to. Since I am going to T-Mobile, I will be selecting the "PN0713000" Model ID.
- Press "Next" and let the installer do its work. If the install process stops at 0%, hold the Power button for about ten seconds, or until the phone reboots, and repeat the process. This a known issue with the MID tool.
- Once the install finishes, hit "Done", then "Reboot System" from TWRP.
This step is only necessary if you want to install official OTA updates from your new carrier. Just remember that like unlocking the bootloader, relocking it will restore your device to a like-new condition, at least software-wise, and you will lose all of your data.
- Download the Revone tool and place it on your PC's Desktop. This tool will allow you to relock your bootloader without having that unappealing "RELOCKED" banner.
- Push Revone onto your One with the adb push Desktop/revone /data/local/tmp command (change "Desktop/revone" to the location where you saved Revone).
- Prepare Revone to run on your One with the following four commands separately and in order: adb shell, su, cd /data/local/tmp, and chmod 755 revone.
- Lock your bootloader and exit the adb shell with ./revone -l.
- Reboot your One to bootloader mode with adb reboot bootloader.
Since you already know your new carrier's CID, you can use HTC1Guru's extensive RUU.zip collection to find the right one for you.
- If you didn't relock your bootloader, you will need to put your device back into fastboot mode with adb reboot bootloader.
- Rename the RUU file to "RUU.zip" and place it on you Desktop.
- Place your device into RUU Mode so that we can begin the RUU.zip flash. Use the fastboot oem rebootRUU command. You'll know you did it right once you see a silver HTC Logo on your One.
- Push the RUU to your device with fastboot flash zip Desktop/RUU.zip.
- Install the RUU by using the same command: fastboot flash zip Desktop/RUU.zip. After a few seconds, a green progress bar will appear under the HTC logo.
- Once the flash has completed, you will get a "Successful" message in your terminal window.
- Erase your cache to prevent boot-loops with fastboot erase cache.
- Then reboot your One with fastboot reboot.
Once your device boots back up, you will be the proud owner of re-branded HTC One and will to go through the process of setting your device up as if it were new, after which you can restore your data and check for your new carrier's latest OTA (Settings -> About -> Software Update).
Be sure to leave a comment if you are having any issues or just to let us know how your experience went!