tech stuff

Main - Archive - About - Feed

HTC One (M8) dual sim

I own Nokia E71 as my primary phone since 2009. In 6 years I've replaced LCD twice (once in a field pub), screen glass twice, and full cover housing once.

Now it's time for a change.

The new phone happened to be HTC One (M8) dual sim variant (for practical reasons I prefer last but one versions of everything).


Phone uses nano-SIM cards - I had to cut my regular SIMs.

I expected to run CyanogenMod on it, but found out dual-sim variant is not supported.

Before starting doing anithing with the device, you should read at least two XDA forum threads:

HTC One (M8) comes with locked bootloader, but HTC is kind enough to provide an official way to unlock it (you need to register on, but John Doe with a disposable e-mail goes fine). The process itself and related topics, like ROM flashing and building custom kernels are documented there as well, so it's worth read.

Some info about the phone in stock condition:
Model number on the case:

Model: 0P6B640 M8e

Software info from OS:

Amdroid version: 4.4.2
HTC Sense version: 6.0
Software number: 1.45.401.12
HTC SDK API level: 6.24
Kernel version: 3.4.0-g6544e50 and@ABM102#1 SMP PREEMPT
Baseband version: 1.18.30306251.05G_30.57.306251.00L_F
Build number: 1.45.401.12 CL352881 release-keys

Stock recovery info: Untick "Settings -> Pover -> Fast boot".
Power-off the device.
Hold VolDown hardware key, press and hold power key.
Phone boots into recovery mode:

Recovery mode info in txt format:

eMMC-boot 2048MB
Jun 10 2014,19:51:53.0

Connect it to the PC, and press power button while "FASTBOOT" selected. It'll change to "FASTBOOT USB", PC will recognise the device and install drivers (if on win). Execute fastboot to get phone info:

>fastboot getvar all
(bootloader) version: 0.5
(bootloader) version-bootloader:
(bootloader) version-baseband: 1.18.30306251.05G
(bootloader) version-cpld: None
(bootloader) version-microp: None
(bootloader) version-main: 1.45.401.12
(bootloader) version-misc: PVT SHIP S-ON
(bootloader) serialno: ************
(bootloader) imei: ***************
(bootloader) imei2: ***************
(bootloader) meid: 00000000000000
(bootloader) product: m8_dugl
(bootloader) platform: hTCBmsm8974
(bootloader) modelid: 0P6B64000
(bootloader) cidnum: HTC__032
(bootloader) battery-status: good
(bootloader) battery-voltage: 0mV
(bootloader) partition-layout: Generic
(bootloader) security: on
(bootloader) build-mode: SHIP
(bootloader) boot-mode: FASTBOOT
(bootloader) commitno-bootloader: 6b903f73
(bootloader) hbootpreupdate: 11
(bootloader) gencheckpt: 0
all: Done!
finished. total time: 0.027s

According to this, CID/MID of this device are HTC__032/0P6B64000
Then I proceeded with the unlock procedure.
Unlock wipes the device to factory reset.

After the unlock, I rooted device following this guide - tried several recovery images, but only TWRP_Recovery_2.8.2.1_M8_CPTB.img worked (booting recovery image is enough, you don't need to flash it). After playing with rooted phone for some time I finally figured out that for real control over the device I do need S-OFF. At the time of writting the only confirmed way to S-OFF for dual sim vaiant (m8_dugl) was SunShine. My last Chinese purchase did not pass airline security, I got refunded to PayPall and had some spare money. So, investing into S-OFF and supporting the software was not a bad idea.

After enabling S-OFF I've updated OTA towards latest 3.33.401.6. Finally ended up with from here, featuring:

  • Rooted
  • Busybox
  • init.d support
  • wp_mod for system write support
  • symlink for external storage added for Titanium Backup/legacy app compatibility
  • boot image unsecured

As a good base for further modifications.
3.33.401.6 requires different recovery image, and latest official twrp- worked fine.