Unihertz Titan smartphone information

rumplestilzken31st January 2023 at 7:16am

Titan is a bulky but cool rugged smartphone with hardware QWERTY keyboard with embedded touchpad, by Chinese manufacturer Unihertz.

  • Release Date: December 2019
  • Dimensions: 153.6ร—92.5ร—16.65 mm
  • Weight: 303 g
  • IP67 dust and water resistance (not water proof!)
  • Hardware QWERTY keyboard with built-in touchpad, with backlight. Languages supported by stock Kika Keyboard software: English, German, French, Italian, Portuguese, Spanish, Dutch, Russian, Japanese, Chinese.
  • OS: Android 9.0, official update to Android 10
  • Screen Size: 4.6"
  • Screen Resolution: 1430ร—1438
  • Chipset: Mediatek Helio P60 (MT6771), 4x 2 GHz ARM Cortex-A73, 4x 2 GHz ARM Cortex-53
  • GPU: Mali-G72 MP3, 700 MHz
  • RAM: 6 GB (LPDDR4X 1866 MHz)
  • ROM: 128 GB (eMMC 5.1)
  • Battery: 6000 mAh, Li-Po (supports 9V 2A and 12V 1.5A fast charge with bundled wall charger, Mediatek Pump Express/PE+)
  • Wireless Charging
  • NFC
  • Wi-Fi: a, b, g, n, n 5GHz, ac, Dual band, Wi-Fi Direct
  • Bluetooth: 4.2
  • GNSS: GPS, A-GPS, GLONASS
  • USB: 2.0, USB Type-C
  • USB OTG
  • Camera: 16MP AF rear (OV16880 sensor), 8MP FF front (IMX219 sensor)
  • Video camera: 1440ร—1440 / 1920ร—1080, 30 FPS
  • SIM Slot: Dual SIM Dual standby
  • MicroSD Slot: yes, combined with SIM slot (you can insert either 2 SIM or 1 SIM + MicroSD)
  • Sensors: Fingerprint (front-mounted), G-Sensor, Compass, Gyroscope, Proximity, Ambient Light Sensor
  • 3.5mm Audio Jack
  • FM Radio with recording function

Supported Radio Bands:

  • GSM: B2/3/5/8
  • WCDMA: B1/2/4/5/6/8/19
  • TDSCDMA: B34/39
  • FDD/TDD LTE: B1/2/3/4/5/7/8/12/13/17/18/19/20/25/26/28A/28B/34/38/39/40/41/66
  • CDMA 2000: BC0, BC1

Miscellaneous technical details:

  • Treble-enabled
  • Partition type: A-only
  • Widevine CDM L3 (software-only)
  • Built-in integrated call recorder with automatic recording functionality
  • The phone seems to be developed and manufactured by A-Gold ODM company

Unihertz Titan pros and cons

ValdikSS30th January 2021 at 6:22am

This device is pretty good overall. I switched from Blackberry Q10 and now use it as my main phone. It's not as polished, but we're getting there thanks for manufacturer firmware updates. I enjoy it and recommend to hardware keyboard fans.

Pros

  • Build quality of the device is not top notch, but still of a high standard
  • The keyboard is also a touch panel (as on Blackberry Passport/Key1/Key2), you can scroll in any direction without touching the display. It also helps comfortably holding the device despite its size. When you type, the sensors temporary disables to not interfere with typing.
  • Ear speaker audio quality is surprisingly good, media speaker is loud and good quality as well
  • Unihertz fixes issues, updates firmware and software regularly
  • Built-in integrated call recorder with automatic recording functionality
  • Easy to obtain root privileges, easy to reflash

Cons

  • Mono media speaker. There's only a single speaker, despite two speaker cutouts on the back, one is just a dummy.
  • Fingerprint scanner is not reliable. Even with two fingers added twice (as 4 fingers), there's a big chance it won't unlock at the first try.
  • Camera is mediocre. Not that bad, but don't expect good quality under insufficient light conditions.
  • No physical keyboard gestures support, low keyboard integration with Kika Keyboard software (can't change the layout with a hotkey, need to press on-screen button)
  • Very small number of physical keyboard supported languages on stock Kika Keyboard
  • No kernel source code provided as for February 2021

Bugs

As of Android 10 December 2020 firmware:

  • Russian layout (and possibly other) of hardware keyboard in Kika Keyboard is barely usable. Russian has 33 letters, which requires assigning some keys with two letters on a 26 button physical keyboard. Titan uses non-standard layout as in Blackberry Passport, with a major caveat: to type alternative letter, instead of just pressing the button twice, you have to press and hold the key, wait until alternative letter appears on screen, then press it on screen. Fortunately there is (better) third-party software with hardware keyboard support available.
  • Kika keyboard incorrectly handles SHIFT+key and ALT+key, making the next key capitalized/alted as well. If you want to type "hEllo" by pressing h, shift+e, l, l, o, you'll get "hELlo".
  • Unihertz implemented different physical keyboard logic dependent on on-screen keyboard visibility. If you disable on-screen keyboard in physical keyboard Android options, the sensor won't be disabled temporary while you type, and if you assign long-press keyboard shortcut, you won't be able to type assigned key letter on the home screen launcher anymore. Don't disable software keyboard in the settings.
  • It's possible to delete some system applications without being able to reinstall it in any way other than factory reset or by deleting a special file with root privileges. Even creating another phone user won't make it reappear. One example of such application is calculator, which is a modified version of a standard Android calculator to support physical keyboards (so it's an important app you won't want to delete).
  • When Night Light mode is enabled, switching from screen to screen occurs with a strange yellow-to-white transition effect. Fixed in Android 10.
  • High CPU load while the device is idle (screen off), which leads to excessive battery consumption. See Idle CPU load fix. Fixed in 07.08.2020 firmware.
  • Additional 6-8% CPU load by SurfaceFlinger/SystemUI while the device is idle due to incorrect surface allocation by SystemUI and the necessity to send vsync packets every 16 ms to it. Fixed in Android 10.
  • Fingerprint data is stored without encryption and is not handled in TrustZone, violating Android fingerprint hardware security requirements. Check /data/vendor_de/0/fpdata/ to see your fingers. Seems fixed in Android 10, needs recheck. Only last fingerprint is stored unprotected now.

Titan Tips & Tricks

ValdikSS12th May 2021 at 7:01am

Hotkeys

ALT+SPACE shows small symbol panel provided by system, not by keyboard software.


Secret codes

"Calling" to the following codes show secret menus and launch hidden applications. To use some of these codes, you need to activate Developer Menu and activate USB Debugging first (you don't need to connect the phone to PC though).

*#*#4636#*#* โ€” Testing Settings (phone information, mobile network configuration, usage statistics, Wi-Fi info)
*#*#3377#*#* โ€” Factory Test (mtklog, ygps, gravity calibration, distance calibration, smartpa calibration, single test)
*#*#114#*#* and *#*#116#*#* โ€” Camera sensors, LCD panel, memory and other hardware information
*#*#34635280#*#* โ€” Engineer Mode with lots of internal configuration. Here you can change mobile network mode, supported bands, lock to exact cell ID, tune VoLTE/VoWIFI settings and other low level options. Be very careful, do not modify anything unless you understand what would happen exactly.
*#*#08#*#* โ€” Change IMEI numbers (Android 9 only. Yes, a stock factory application to change IMEI!)
*#*#010#*#* โ€” Check and clear battery usage statistics


Software tips

If your application gets killed, the notifications does not come in instant etc, make sure that the application is allowed to run in background in Settings โ†’ DuraSpeed (Android 9 only, the tick should be checked/enabled) and in Settings โ†’ Intelligent assistance โ†’ App blocker. These two options are custom Mediatek battery saving features.
If your application is old and was designed for older Android versions, you may also need to exclude it from stock Android battery saver. Go to Settings โ†’ Apps & notifications โ†’ See all X apps โ†’ find your application โ†’ Advanced โ†’ Battery โ†’ Battery optimization, find your app again and choose "Not optimized"

To disable lockscreen pedometer (Android 9), go to Toolbox โ†’ Pedometer โ†’ Settings โ†’ disable "Display steps when screen locked".

Use cobalt232's Blackberry Manager to install Blackberry Hub, Calendar, Contacts, Keyboard, Launcher and more. You may also install LayTray for keyboard layout icon in notifications of Blackberry Keyboard.

Install Fluid Navigation Gestures for full-featured gestures on Android 9, from bottom and sides, with complex patterns. Selected extended functionality requires root. Android 10 has OS-wide gestures support.

To remap your keys use Physical Button Master Control (free Xposed module, requires root+edXposed, works when screen is off) or flar2 Button Remapper (premium, some features require root, does not work when screen is off in general, but volume button actions do).
The former is very flexible, it supports complex scenarios and allows you to assign different actions whether screen is on or off, whether audio is playing, and so on.

Alternative keyboard software

ValdikSS23rd January 2022 at 6:15am

Stock Kika Keyboard has flaws. You can install and use the following software as a replacement:


RuKeyboard (recommended)

Initially made for physical keyboard smartphones back in 2009. Created generally for Russian and other languages with Cyrillic alphabet, but could be modified for any language. Abandoned software but still works with Android 9 perfectly fine. Supports multiple letters on a single hardware key with double/triple press. No bugs, smooth typing experience. Supports layout switching with a hotkey (alt+shift, alt+space, shift+space, user defined) and shows language flag in the notification bar.
Unfortunately, does not support word prediction and correction. You get what you type. First letter capitalization is supported.

RuKeyboard with 5 Russian layouts (as Blackberry Passport, as Blackberry Q5/Q10/Classic, as Blackberry KEYone/KEY2):
Download link 1 | Download link 2

Physical keyboard layouts are stored in apk file, in assets/hard/*.xml files. Take a look at unihertz_titan_ver1.xml for example and implement your own layout for your language accordingly.

Software on-screen keyboard is modified to show only single row of most used symbols which are missing on a physical keyboard with an alt key, similar to Kika Keyboard. You can modify it as well, check res/xml/kbd_query.xml file.


PocketBoard

Tiny but powerful IME designed for Unihertz Titan / Titan Pocket which makes this QWERTY keyboard smartphone a little more "keyboard".

Project home page


AnySoftKeyboard

AnySoftKeyboard (Google Play link) supports physical keyboards and also requires to create your own layout. Unfortunately, hardware keyboard support is a bit buggy and does not perform autocorrection with the hardware space key, but you will see correction candidates in the top row.
Non-Latin languages for physical keyboard are supported.

By default this keyboard shows full software keyboard. This could be modified only with a custom software layout. AnySoftKeyboard is open source. Examples of software and physical layouts are available on the projects' GitHub.


SwiftKey

Microsoft SwiftKey keyboard is probably the best for Latin languages with small amount of diacritical marks. You won't be able to type diacritical marks but word suggestions work good.

Non-Latin languages for physical keyboard are not supported.

Unihertz Titan original firmware

rumplestilzken31st January 2023 at 7:33am

There are two hardware/firmware revisions: EMEA (Europe, EEA/TTEU) and non-EMEA (TEE/TTNE).
The difference seems to be in TrustZone applets set, it's different for TEE and EEU versions (at least the signatures are different). Do not mix the versions!

In addition, Titan comes in two models: EMMC and UFS.
The EMMC version are the early Titans, made manufactured within about a year of release. Those manufactured after that time are UFS.


Determine if your board is a EEA or TEE:

Method 1: just check the box

Method 2: Download Device Info HW from the Google Play Store

View the System โ†’ Board. If this ends in tee, you have a tee board. If you have eea, you have an eea board. Use the corresponding versions of firmware while using the flash tool.


Determine if your device is EMMC vs UFS

Download Androbench and run the tests.

Sequential Read Speed:

  • emmc: less than 200 mbps
  • ufs 2.0: above 450 mbps
  • ufs 2.1: above 600 mbps

Firmware

Official Google Drive link to all Unihertz ROMs, flashing tool, driver, and flashing instruction, found on Unihertz forum.
The firmware files seem to be updates on a regular basis but may lag behind official over the air updates.

Unihertz Titan firmware Google Drive folder: Full firmware for SP Flash Tool (EMMC-only)

OTA incremental updates: OTA updates

UFS Android testing rom: UFS Testing

Current firmware version (TEE): Titan_20210528_20211028-2221 (Nov 03, 2021, Android 10).
Android security patch : June 5, 2021
Kernel version: 4.14.141+ built on 17 Sep 2020


SP Flash Tool v5.2152

I recommend you use SP Flash Tool v.2152 over the provided tool in Official Unihertz firmware Google Drive Folder.

Use SP Flash Tool v5.2152 Windows | Linux | Source


Serial number, IMEI and TrustZone applets writing tool

If you accidentally formatted/wiped NVRAM data from your device and now have dummy IMEI and no serial number, you can repair it with the tool. You don't need to do that after usual firmware reflashing procedure.

The tool is available here:
SNWriter Tool link 1 | Link 2

Read included readme file and watch the video.

Unihertz Titan TWRP recovery & rooting

rumplestilzken4th February 2023 at 5:48pm

TWRP Recovery

TWRP 3.5.0_9 for Uniherz Titan, semi-working alpha version v0.2 (18 Jan 2021, with Android 10 support)

This is TWRP recovery for Unihertz Titan smartphone. It works, but missing two essential features:

  1. Userdata decryption
  2. MTP

That means that you won't be able to access user data (only system, vendor and other internal partitions) unless you disable data encryption entirely in the OS, and won't be able to transfer files over USB with MTP.

Yet, it's still useful for removing bloatware/google services or installing Magisk and obtaining root access.
ADB file transfers (adb pull/push, adb sideload) work fine.

Use this TWRP version only if your really-REALLY want to install custom recovery and/or root.

Link 1 (androidfilehost)
Link 2 (mediafire)
Installation instruction is inside the archive.

After installing TWRP, you won't be able to apply Unihertz OTA updates, you'll have to revert back to stock recovery to perform the update. You can reinstall TWRP afterwards.

TWRP Source for Titan available here

UFS Titan

TWRP does not currently work on the UFS based Titans due to not having mount access to any partitions. Unihertz has refused to release the source for the kernel modifications which has made work on TWRP crawl to a standstill. A current version of the TWRP implementation known to at least boot on a UFS Titan can be found here

Show older downloads TWRP 3.3.1, version v.0.1
Link 1 (androidfilehost)
Link 2 (mediafire)

Rooting

Note: you don't need TWRP to get root.

Android 9 and Android 10 (since Magisk v22.1): To root this device, simply install Magisk via TWRP/using adb sideload/with kernel file patching. It will inject Magisk into kernel image.

A standalone UFS boot.img that has been rooted using Magisk v24 can be found here

Show older information Android 10: On official Android 10 image, Magisk 22.0 (as of 24 Feb 2021) can't be used to patch boot.img due to bug. Use the following patched boot.img files with Magisk 22.0 pre-installed: Only for 4/5 Feb 2021 firmware
Link 1 (androidfilehost)
Link 2 (mediafire)
Installation instruction is inside the archive.
As for 28 Feb 2021, edexposed module have issues with new Magisk 22.0

Show older downloads Patched images for 14 Dec 2020 firmware (Magisk 21.4)
Link 1 (androidfilehost)
Link 2 (mediafire)

Custom Android 10 Generic System Image (GSI) Firmware for Titan

ValdikSS18th January 2021 at 5:59am

NOTE: official Android 10 is now available, check Unihertz Titan original firmware.

GSI stands for Generic System Image. It's a file-system image that you flash to your device's system partition. It's generic because it accesses hardware using the new standardized hardware APIs (so it should work on any treble-enabled device).
In other words, this is a generic custom firmware suitable for Titan.

phhusson provides treble_experimentations firmware based on AOSP Android 10, of different flavors: GAPPS version with common Google applications, GO with Android GO version of applications, FLOSS with open-source replacements of Google components, and VANILLA, the simplest and cleanest one.

Download Android 10 GSI image from treble_experimentations releases.
You need "system-quack-arm64-ab" files. Install it either using TWRP or with fastboot flash system command.

rumplestilzken's gargoyle GSI

rumplestilzken20th March 2023 at 8:50pm

There are now system images customized specifically for the Titan based on LineageOS 20. See here

Android GSI 13 LineageOS 20

rumplestilzken4th February 2023 at 4:06pm

CatWithCode has done a lot of work on getting their Titan up and running with with a functional keyboard and other things that had been troublesome for some of us Titan developers. Please see their website detailing the work that was done and how to replicate the results here

There is a system image that provides this functionality located here

Ubuntu Touch

rumplestilzken2nd February 2023 at 12:59pm

Ubuntu Touch can be used on a Titan with a usable TWRP installation. See here

Bluetooth aptX codec support

ValdikSS26th January 2021 at 9:53am

aptX codec support is a premium option which involves paying license fee to Qualcomm, the license holder of the codec. Since Unihertz haven't licensed the codec for Titan, it can't be used for Bluetooth headphones.

Fortunately, the support is still present in the firmware and could be activated by adding missing libraries. Install the following Magisk module (requires root) to activate aptX and aptX HD.

Android 9 version:

Android 10 version:

Idle CPU load fix

ValdikSS18th January 2021 at 6:00am

UPDATE: This issue has been fixed in 07 August 2020 firmware.


June 3, 2020 and July 8, 2020 firmwares for Titan have a bug: it creates unnecessary high CPU load while the phone's screen is off. This has a negative impact on battery life.

The issue is caused by race condition between touchscreen driver and I2C bus suspend procedure. The driver believes the touchscreen is not powered off and does not disable interrupts, while I2C bus is already suspended. This leads to interrupt spam and 90%+ CPU load of a single core.

You won't see this issue in battery stats because it happens in the kernel driver, not in Android system.

Luckily, this could be fixed with a small workaround. Use this Magisk module (requires root):

Updated for Titan_20200706

With this fix battery stats report up to 8 days of estimated phone battery life, compared to 4 days without the fix.

Touch keyboard-navigated mouse pointer

suhanc12th October 2020 at 2:48pm

To have an actual mouse pointer on the Titan's screen which you can navigate using the keyboard touch gestures, edit /system/usr/idc/mtk-pad.idc and replace touch.deviceType = touchPad with touch.deviceType = pointer, then reboot your device.

This feature requires root.

Note that afterwards you might always move the cursor to the place you type into, otherwise typing might be recognized as moving the mouse pointer.

(credits go to Diego in the Unihertz Titan Facebook group)

Unihertz Titan Touchpad Navigation & Selection

ValdikSS26th January 2021 at 9:54am

This is a small Magisk module utility which switches in-keyboard touchpad to navigation mode (emulation of up/down/left/right keyboard buttons) and text selection mode (as if SHIFT is held).

The utility allows to quickly navigate to exact text symbol and to precisely select the text.

Demo video

Supports Android 9 and Android 10.

Installation: Install ZIP via Magisk (root required).

Hard Reset & Factory Reset Protection

rumplestilzken27th January 2022 at 2:06pm

To do hard reset, press and hold POWER+VOLUME UP, you'll boot into bootloader. Select "wipe data/factory reset" using volume buttons and confirm with power button.

if you already did a reset and it asks for account password, that's what called Factory Reset Protection. The easiest is to remember password. If you saved it in PC's browser, just extract it from there. If you totally forgot the password, you'll need to wipe FRP data partition on the device with SP Flash Tool.

Do do that, install SP Flash tool and corresponding drivers (get it from Unihertz Titan original firmware), go to "Format" tab and enter the following data exactly as written:

EMMC

Manual Format Flash โ€” selected
Region: EMMC_USER
Begin Address: 0x3588000
Format Length: 0x100000

UFS

Manual Format Flash โ€” selected
Region: UFS_LU2
Begin Address: 0x3588000
Format Length: 0x100000

Press green "Start" button and connect your phone to the PC. The phone should be powered off before connection.
Remember to type the addresses exactly as written. Failure to do so may delete device-specific data, radio calibration information, IMEI and MAC address, and so on, and render your device unbootable.

Useful links

rumplestilzken31st January 2023 at 7:24am

Official Sources

Unihertz Titan Group on Facebook
Unihertz Technical Support Hub
Unihertz Forum *This is not implemented yet, there was a forum at one time but it has been deprecated and is no longer public.

Unofficial Sources

Reddit /r/UnihertzTitan group
Crackberry.com Android forum
Russian discussion on 4pda.ru forum
Unihertz Discord
Titan disassembled (facebook post)

rumplestilzken

rumplestilzken14th February 2023 at 8:39pm

rumplestilzken <rumplestilzken@gmail.com>

Find more about me at rumplestilzken

Feel free to contact me for all things Titan.

ValdikSS

ValdikSS1st February 2023 at 7:47pm

This website was initially created and maintained by ValdikSS <iam@valdikss.org.ru>, but I have sold the smartphone since then.
If you have any questions or want to update the website, please contact rumplestilzken.

Edit this website

ValdikSS1st February 2023 at 7:47pm

If you have any additional information, firmware updates, new software for the device, you can edit this page as a wiki by yourself and send the edited file over email!
Open tiddlywiki.html and start editing.