The HTC J Butterfly (HTL21/Deluxe J/dlxj) is the KDDI AU variant of HTC's 2012 flagship phone.
Japanese HTC KDDI AU phones are widely sought after worldwide, since KDDI mandates that all their phones must have SDCard slots, whereas overseas, the only options for sdcard slots on Android smartphones are Samsung and LG.
- Network Support: GSM/WCDMA/LTE 1700
- Possible Future Updates?: Yes, Android 4.4
- Latest Stock Android Version: Android 4.1.1 with Sense 4
- Latest Stable Custom ROM: HTCSoku - Android 4.4.2 with Sense 6
- Free SIM Unlock Exploit?: Yes
- Variant with Largest Dev Community: HTC DROID DNA (Verizon variant)
- Nexus Device with Similar Chipset: Google/LG Nexus 4
(create a section on setting up the Ubuntu LiveCD and Android-SDK-Platform-Tools)
- Disable "Fast Boot"
- Update to Firmware version 1.39.970.1
- HTCDev Bootloader Unlock
- S-OFF
- (FIXME) SIM Unlock Exploit (optional)
- Custom Recovery
- Custom ROMs
- (FIXME) Converting CyanogenMod-based DROID DNA ROMs for J Butterfly
- Rooting with SuperSU (optional)
- Enable Phone Network Settings
- Red Text Remover (optional)
- (FIXME) MultiROM for HTC J Butterfly (optional)
- Return to Stock
It is easier to root the device using a Linux operating system.
The Ubuntu Linux LiveCD allows users to temporarily run Linux without installing onto the computer.
sudo apt-get install android-tools-adb android-tools-fastboot
Once these packages are installed, adb
and fastboot
can be run from anywhere on the computer.
adb
uses USB Debugging modeSettings/Development Tools
If fastboot
does not work as expected, run fastboot
as root by prefixing with sudo
, as shown below:
sudo fastboot devices
If adb
does not work as expected, type adb kill-server
, and run adb
as root by prefixing with sudo
, as shown below:
adb kill-server
sudo adb devices
If the device continues to have issues connecting with adb
A hex editor is used for the SIM Unlock.
Note: HTC's "Fast Boot" feature is completely unrelated to the Android
fastboot
flasher.
HTC Sense devices have a feature known as "Fast Boot", which allows the phone to boot far faster than normal from shutdown.
However, the feature works by bypassing normal startup, which is an impediment to accessing the bootloader.
We recommend disabling the "Fast Boot" during the process; afterwards, it can be re-enabled as needed.
- From a Home Screen, tap the Apps Icon (located at the bottom).
- Tap Settings.
- Tap Power.
- Uncheck Fast Boot to disable the feature.
Source: Verizon Wireless - DROID DNA: Disable HTC Fast Boot
First, check which firmware version the phone currently runs by following these steps:
- From a Home Screen, tap the Apps Icon (located at the bottom).
- Tap Settings.
- Tap About.
- Tap Software Information.
- The firmware version is found under the Software Number section.
The table below shows which S-OFF method is available to which version.
Firmware | S-OFF Method |
---|---|
1.39.970.1 | DirtyRacun |
1.36.970.1 | Downgrade to 1.15 |
1.29.970.1 | HTCSoku - revone exploit |
1.15.970.1 | revone exploit (skip steps 7-9) |
Note: HTCDev is HTC's official bootloader unlock method. However, the drawback is that your phone's warranty will (theoretically) be voided.
HTC will phase out this policy in the HTC ONE M8.
Technically, HTCDev is not allowed to unlock the HTC J Butterfly. However, by temporarily rooting and changing the CID to 1111111
, we can trick HTCDev into giving us a bootloader unlock.
Source: XDA-Developers - SharpIS03: Unlock/Recovery/SIM Unlock
- goroh_kun's root tools
- Android SDK Platform Tools (
adb
andfastboot
) - Enable Settings/Developer Options/USB Debugging on the device.
- External microSD Card (make a backup)
-
Extract goroh_kun's root tools.
-
There will be two files inside the extracted folder:
diaggetroot.apk
andgetroot
. -
Place these two files in a folder where
adb
commands can be run. -
Open a command prompt and use
adb
to installdiagetroot.apk
:adb install diaggetroot.apk
-
Next, install the
getroot
binary:adb push getroot /data/local/tmp/getroot adb shell chmod 777 /data/local/tmp/getroot
-
On the device, run the
diaggetroot
app, (might be namedBreakSuidDiag
). -
wait for the
Hello World!
message to appear -
In the command prompt, run
adb shell /dev/sh
-
#
should now appear instead of$
in the command prompt. This indicates that temporary root has been obtained.
- If
$
still appears, toggle the Wi-Fi ON/Off and try the /dev/sh command again.
-
From the ADB shell, run this command to change the CID.
echo -ne "11111111" | dd of=/dev/block/mmcblk0p5 bs=1 seek=20
-
Next, run this command to enter
fastboot
mode.reboot bootloader
-
The device will reboot, and the command line will return to normal. Once the device enters
fastboot
mode, check the CID with this command:fastboot oem readcid
-
The output should show
11111111
!
Note: In case HTCDev does not allow an unlock with CID
11111111
, try using22222222
as the CID in Step 1. Source: HTCSoku - Update: CID-based Bootloader Unlock May Get Blocked, use 22222222 in case
Warning: Be sure to backup any data you have on Internal Storage before proceeding! The HTCDev unlock will factory reset the device, and wipe the Internal Storage as well (for security purposes).
- Once the CID has been changed to, go to HTCDev.com
- From the Select Your Device pull-down menu on the right, select All Other Supported Models
- Follow all of the directions until the device is unlocked.
- Remember to keep the obtained unlock token somewhere safe. That way, if the bootloader has to be unlocked again, it won't be necessary to repeat this long process.
HTCDev Bootloader Unlocks leave S-ON enabled. S-ON prevents custom recoveries, such as TWRP or CWM, from installing custom kernels to
/boot
. This forces users to install kernels from a PC, usingfastboot
.
Obtaining S-OFF removes this roadblock.
The DirtyRacun S-OFF method for the HTC J Butterfly was developed by Unlimited.io, and works with version 1.39.970.1
.
This method requires 32-bit Ubuntu Linux, so be sure to make a LiveCD.
Source: Unlimited.io - DirtyRacun for HTC J Butterfly 1.39.970.1
- HTCDev Unlock (completed in previous step)
- Ubuntu Linux 32-bit 12.04 (and newer) LiveCD
- DirtyRacun cannot be used on Windows. Linux 64-bit is also not recommended.
- LiveUSB and Virtual Machine installations do not work with DirtyRacun, due to driver issues.
- External SDCard in your device, larger than 2GB
- Original HTC microUSB cable
- Ensure that the battery is fully charged.
- Use the USB 2.0 ports directly on your computer. Avoid USB 3.0 ports or USB Hubs.
-
Backup the phone and external SD card before running this procedure. All data will be wiped from your device during the RUU process. The SDCard will not be wiped, but make a backup anyway.
-
Run the Ubuntu Linux LiveCD on your computer.
-
Once the operating system has started up, download DirtyRacun for Linux, using Firefox.
-
Open the Terminal (command line) app in Ubuntu.
-
Use the following command to extract the downloaded archive.
tar -xvzf RabiesShot_LINUX.tgz
-
Enter the extracted folder.
cd RabiesShot_LINUX
-
Make the programs executable with this command:
-
Note: If the command is successful, it will return a blank new line. Silence is golden.
chmod 755 RabiesShot adb fastboot
- Download the RacunROM below, and put it in your DirtyRacun folder: This step is REQUIRED even if you are using a stock RUU.
-
After downloading the ROM, check that it is valid using the
md5sum
command. The output should bed8cbe4e491ca695642172f279e57e6d5
.md5sum RacunROM.zip
-
Enable Settings/Developer Options/USB Debugging on the device.
-
Plug in the device into the computer.
-
Send the device into
fastboot
mode using this command:./adb reboot-bootloader
-
The following commands clear the cache partition and send the device into RUU Mode.
sudo ./fastboot erase cache sudo ./fastboot oem rebootRUU
-
In RUU Mode, the device will display a black background and silver HTC logo. Now proceed with the third command.
sudo ./fastboot flash zip RacunROM.zip
- DO NOT flash a custom recovery or superuser yet. If you have already flashed them, return to step 9.
-
After flashing, the device might not automatically reboot. Run the following command in that case:
sudo ./fastboot reboot
-
Enable Settings/Developer Options/USB Debugging on the device again.
-
Finally, run RabiesShot to S-OFF the phone.
sudo ./RabiesShot
DirtyRacun relies on an exploit in the old 1.00 radio to work. However, newer radios often provide patches for serious bugs and give power savings.
Now that your phone is S-OFF, it is recommended to install the latest radio available, 1.10.12.1122
.
Flash this RUU, which only contains the radio 1.10.12.1122
.
adb reboot-bootloader
fastboot oem rebootRUU
fastboot flash zip PL99IMG.zip
fastboot reboot-bootloader
Once S-OFF is achieved, take advantage of another useful exploit; one that will generate an unlock code, so the phone can use any network's SIM card.
The SIM can only be unlocked on the stock ROM, so taking this step is strongly recommended.
- Method 1: Use a hex editor to change a setting in a system partition, tricking the phone into believing it is SIM Unlocked. HTCSoku - Permanent SIM Unlock
- Note: Once the phone is SIM Unlocked with this method, it will stay unlocked forever. Nothing will ever take that unlock away, not even restoring from RUU.
- Method 2: Install a bootloader from the Taiwanese HTC Butterfly (X920D). This is the easiest way, but NFC, Infared, Felica, and AU services will not work with the Taiwanese bootloader. XDA-Developers - fnoji111: Temporary SIM Unlock for HTC J Butterfly by installing X920 Bootloader (English Translation)
A custom recovery is used to install ROMs, which are packed into ZIP files. There are two choices, ClockworkMod and TWRP.
If you want to install HTCSoku/tako0910's Android 4.4 ROMs (which we consider to be the best), you need to install tako0910's TWRP 2.7.
Note: tako0910's TWRP recovery has a bug that causes it to reboot whenever you try to wipe
/data
, making it impossible to factory reset or make nandroid backups. Once you've installed one of tako0910's ROMs and SuperSU, we recommend that you switch back to ClockworkMod and make a nandroid backup there.
-
Download and extract TWRP 2.7 - 20140323 - By Tako0910, or ClockworkMod Touch 6.0.3.1
-
Turn off the phone completely.
-
Hold Power and Volume Down to enter bootloader mode. Select FASTBOOT.
-
Open a terminal and use the following command to flash the image (filename may vary):
sudo fastboot flash recovery openrecovery-twrp-2.7.0.1-dlxj.img
-
Reboot the device.
After installation, follow these steps to enter custom recovery from the bootloader.
- Turn off the phone completely.
- Hold Power and Volume Down to enter bootloader mode. Select RECOVERY.
- The phone will enter Recovery Mode.
Due to regulations, carrier requirements, and ever decreasing funding, HTC can be excessively slow in releasing updates for it's phones. As a result, developers have taken system updates into their own hands by creating Custom ROMs; bringing the magic of Sense 6 and Android 4.4 from the HTC ONE.
Custom ROMs are also vital for international GSM users, since many enable the functions and settings necessary for connecting to GSM networks, rather than KDDI's WCDMA.
Some ROMs might not include Google Applications out of the box (such as Google Play App Store). Usually, the google apps (gapps) are provided by the developer in a seperate flashable zip, so check their threads.
Note: All of HTCSoku/tako0910's ROMs require you to use TWRP recovery to install them; they will not install on ClockworkMod for some reason.
- HTCSoku - Android 4.4.2 with Sense 6
- Japanese AU KDDI Edition
- Global GSM Optimized Edition
- Quite stable, and gives you all the features of an M8; the only flaw is that NFC doesn't work.
- Github - tako0910's CyanogenMod 11 for HTL21 - Works very, very nicely; owing to the fact that the same Qualcomm chipset is also used on the Nexus 4. You can also use tako0910's automatic converter script to convert any Cyanogenmod based ROM from the DROID DNA to work on the HTC J Butterfly.
- XDA-Developers - vroad: Android 4.4 with Sense 5.5
- HTCSoku - fnoji111: Sense 5 Port with KDDI AU Settings
- Takoweb - Tako0910's 4.2.2 Sense 5
- tako0910's CyanogenMod 10.1 for HTL21
Administrative privileges are disabled by default on Android. However, the Superuser is critical for certain useful apps, such as Titanium Backup, AdAway, and Goomanager.
If necessary, enable Superuser by following these steps:
- Download the SuperSU file into your phone.
- Reboot to custom recovery, and tap Install.
- Find the file and select it.
- Swipe the white arrow from left to right to install.
- Tap Reboot System and check to see if SuperSU and Busybox work.
- HTCSoku - All Known HTL21 Sense 5 Ports
- Github - tako0910's Development Wiki
- Github - vroad's Development Wiki
Note: Sense-based ROMs cannot be converted using this tool.
tako0910's ROM Convert Tool is capable of converting CM-based ROMs from the Verizon HTC DROID DNA for use on the HTC J Butterfly.
The script supports these CyanogenMod bases:
- CM10.1 (Android 4.2)
- CM10.2 (Android 4.3)
- CM11 (Android 4.4)
Remember! USE AT YOUR OWN LISK!! (sic)
Note: These settings can only be found in the stock AU ROM, and any ROMs based on it.
Normally, it will be sufficient to set the network as GSM/WCDMA/LTE auto. However, if issues appear, or a specific carrier requires a particular setting, launch these secret apps using ADB:
Network Settings:
adb shell am start com.android.settings/.TestingSettings
APN Settings:
adb shell am start com.android.settings/.CdmaApnSettings
QuickShortcutMaker may also be used to create on-screen launcher widgets for these secret apps.
When the phone is bootloader unlocked, the HBOOT will display a red text warning that the phone is "For Development Use Only". If you want to remove it, install the custom HBOOT below. This can only be done if you have S-OFF.
This custom HBOOT was made by fnoji111 from HTCSoku.
-
Download PL99IMG.zip and place it on the root of the phone's storage.
-
Make sure
adb
andfastboot
is installed, and Settings->Developer options->USB Debugging is enabled. -
Connect the phone to the computer.
-
Run this ADB command to reboot the phone into the fastboot mode:
adb reboot-bootloader
-
After the phone has rebooted into
fastboot
mode, run these commands:fastboot oem rebootRUU fastboot erase cache fastboot flash zip PL99IMG.zip
-
Flashing the zip will take a while, so take a break and make some coffee. Once the process completes without any errors, manually reboot the device with the following command:
fastboot reboot-bootloader
Note: The flash process will halt at around 75% to 90% on phone screen! This is a normal safety precaution; otherwise, there would be no way to check the console output before reboot.
- If the bootloader was flashed correctly, manually power off and reboot the phone. If not, return to step 5.
Source: XDA-Developers - victor0888: Red Text Removal for X920 HBOOT 1.55
- Download PL99IMG.zip and place it on the root of the phone's storage.
- While the phone is on, hold down the Power button. A menu will appear.
- Hold down the Volume Down button.
- Tap Restart, and press OK.
- Keep holding the Volume Down button.
- When the phone restarts, and displays the HBOOT screen, release the Volume Down button.
- The phone will install the new bootloader, and restart automatically.
Source: XDA-Developers - it2007me: Remove Red Text for X920D (Discontinued)
Source: Takoweb - MultiROM for HTL21
If your phone encounters an unresolvable problem, needs to be sent for repair, or needs to be reset to it's original state, follow these steps to return to Stock (Out of the Box) configuration.
A ROM Update Utility (RUU) is an HTC utility designed to update or reinstall stock firmware to an HTC Android phone. Use these as a last resort reset if anything goes wrong on your phone; such as WiFi or cell phone service.
If you used DirtyRacun to obtain S-OFF, download the RacunROM 1.15.970.1 - HBOOT 1.39.000 to use as the RUU.
After you have chosen your RUU version, follow this guide to flash the RUU.
-
Download RacunROM 1.15.970.1 - HBOOT 1.39.000, rename it to
PL99IMG.zip
and place it on the root of the phone's storage. -
Make sure
adb
andfastboot
is installed, and Settings->Developer options->USB Debugging is enabled. -
Connect the phone to the computer.
-
Run this ADB command to reboot the phone into fastboot mode:
adb reboot-bootloader
-
After the phone has rebooted into
fastboot
mode, run these commands:fastboot oem rebootRUU fastboot erase cache fastboot flash zip PL99IMG.zip
-
Flashing the zip will take a while, so take a break and make some coffee. Once the process completes without any errors, manually reboot the device with the following command:
fastboot reboot-bootloader
Note: The flash process will halt at around 75% to 90% on phone screen! This is a normal safety precaution; otherwise, there would be no way to check the console output before reboot.
- If the bootloader was flashed correctly, manually power off and reboot the phone. If not, return to step 5.
Source: XDA-Developers - victor0888: Red Text Removal for X920 HBOOT 1.55
- Download one of the RUUs above, rename it to
PL99IMG.zip
and place it on the root of the phone's storage. - While the phone is on, hold down the Power button. A menu will appear.
- Hold down the Volume Down button.
- Tap Restart, and press OK.
- Keep holding the Volume Down button.
- When the phone restarts, and displays the HBOOT screen, release the Volume Down button.
- The phone will install the new bootloader, and restart automatically.
Source: XDA-Developers - it2007me: Remove Red Text for X920D (Discontinued)
- My WiFi won't turn on anymore!
- It happens from time to time; usually, there is nothing wrong with the hardware.
- Usually the issue comes from the old radio
1.00
used by DirtyRacun. Update to1.10.12.1122
, as stated in the section Update Radio to1.10.12.1122
- The last resort fix is to reinstall the original firmware (RUU), which requires you to relock the bootloader.
- If you still want to root and unlock the bootloader, you have to do everything again as if it was a new phone. However, the DirtyRacun S-OFF, CID change, and SIM Unlock is basically permanent, so you can skip their installation.
- Source: XDA-Developers - WiFi Error; reinstall RUU
Note: This method is only for
relocked
phones that still have S-OFF enabled. This will not work on phones that have never been unlocked, or still have S-ON enabled.
Have you relocked your phone, but forgot to save your Unlock_code.bin
? (though check your email first) Just don't want to go through HTCDev again?
If your phone still has S-OFF enabled, you can follow this guide to unlock the bootloader again.
- HTCSoku - HTC J Butterfly
- Takoweb - Tako0910's Development Log for HTL21
- fxtec.info - HTL21 Wiki
- Wikihouse - HTC J Butterfly
- Verizon Wireless - DROID DNA: Disable HTC Fast Boot
- XDA-Developers - SharpIS03: Unlock/Recovery/SIM Unlock
- HTCSoku - Update: CID-based Bootloader Unlock May Get Blocked, use 222222 in case
- Unlimited.io - DirtyRacun for HTC J Butterfly 1.39.970.1
- HTCSoku - 1.36 to 1.15 downgrade
- HTCSoku - Revone S-OFF for HTC J Butterfly 1.29.970.1
- HTCSoku - Facepalm S-OFF
- HTCSoku - DirtyRacun S-OFF
- HTCSoku - Generic Root with SuperSU and Custom Recovery
- Androidfilehost - tako0910's ROMs and Recoveries
- TheUnlockr - TWRP on the HTL21
- HTCSoku - fnoji111: True SIM Unlock Exploit for HTL21 and INFOBAR
- HTCSoku - fnoji111: Quick and Dirty SIM Unlock Exploit for HTC J Butterfly
- HTCDev - dlxj 3.4.10 Kernel Source from 1.29.970.1 Android 4.1
- Github - tako0910: Sense Jellybean 4.2.2 Kernel for HTC J Butterfly (dlxj)
- Github - tako0910: Sense KitKat 4.4 Kernel for HTC J Butterfly (dlxj)
- Github - tako0910: Cyanogenmod Device Tree for HTC J Butterfly (dlxj)
- Github - tako0910: Android Vendor Blobs for HTC J Butterfly (dlxj)
- Github - schqiushui: Sense Kitkat 4.4 Kernel for HTC J Butterfly (dlxj)