Mobile carriers have been the bane of my existence for as long as I've had a phone. First, they take away unlimited data, and then when you try and switch carriers, they hold your phone hostage for a up to a week before unlocking it from their network. There are services out there that can unlock your phone right away for a fee, but why not do the same thing right from your own home? Thanks to the people over at Sieempi, there is a way to SIM-Unlock any HTC One that is already S-Off! Please enable JavaScript to watch this video.

What You'll Need You'll need a couple of different things, depending on which HTC One you have: HTC One M8 S-Off

MicroSD Card HTC One M7 S-Off

USB OTG Cable with USB power support

USB Drive Keep in mind this is only for GSM versions of the HTC One, meaning that Sprint and Verizon users are out of luck.

Step 1: Find Your IMEI Number To get your unlock code, you are first going to need your International Mobile Station Equipment Identity number, or IMEI. When you input this into the Sieempi website, the service will tailor-make an unlock file for your phone. To get started, you will need to open your Phone app and dial *#06#. You could also go to Settings -> About -> Phone Identity. Either way, just copy that number down somewhere.

Step 2: Creating an Unlock Code To generate an unlock code, you are going to need to go to the Universal SIM Unlock page at Sieempi and input the following information: Email address (to download the file after it's generated)

Phone Type: Enter HTC One M7 or HTC One M8

or IMEI number Once entered, click Send and wait for your Config.dat, aka your unlock code, to be emailed over.

Step 3: Prepping Your USB Drive/SD Card It does not matter what USB drive or SD card you use, just be sure your phone can read it beforehand. To check, either place your SD Card into your M8 or attach your USB Drive into a USB OTG cable and make sure you get a notification saying your device is in Host Mode. After that's all settled, copy the Config.dat to the main directory of your USB drive (M7) or SD card (M8), meaning, do not place it in a folder. You can now attach your USB Drive or SD card to your One. If you are using an M7, you will need to also attach a power cable to the OTG Y-cable—your standard charging cable will do just fine here.

Step 4: Reboot into Bootloader You are going to need to flash the config.dat file through the bootloader menu. To get there, hold down the Power and Volume Down buttons until you see the bootloader menu—this should take about 15~20 seconds.

Step 5: Flashing the Config.dat From the bootloader menu, scroll down using the Volume Down button and highlight SIMLOCK. Press the Power button and let your One do its thing. Image via wonderhowto.com Once you get the Process done, reboot device? message, you are all done, so press the Volume Up button and let you device restart. You will know everything went fine after inserting your new SIM card.

Troubleshooting If you have any connectivity issues, the first thing you should check is your APN settings. The APN, or access point name, settings are what your One uses to connect to the right cell towers. Each carrier has different settings, but BuzzMobile has a pretty extensive list that covers all major U.S. carriers. To change your APN settings, open your Settings app, tap Mobile Data, and select Access Point Names. From there, tap the three-dot menu and select New APN to add your new settings. Alternatively, if you have a M7, you can always flash a carrier-specific RUU to avoid any issues. And that's all there is folks! You should now be the proud owner of a SIM-unlocked GSM HTC One. If you run into any issues, or just need help getting your APN settings down, be sure to leave me a comment.