Titan is a bulky but cool rugged smartphone with hardware QWERTY keyboard with embedded touchpad, by Chinese manufacturer Unihertz.
Supported Radio Bands:
Miscellaneous technical details:
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.
As of Android 10 December 2020 firmware:
/data/vendor_de/0/fpdata/to see your fingers.
ALT+SPACE shows small symbol panel provided by system, not by keyboard software.
"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 (yes, a stock factory application to change IMEI!)
*#*#010#*#* — Check and clear battery usage statistics
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.
Stock Kika Keyboard has flaws. You can install and use the following software as a replacement:
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.
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
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.
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.
There are two firmware versions: EMEA (Europe, EEA/TTEU) and non-EMEA (TEE/TTNE).
There's no difference between them as for firmware version 20200603, the files are the same, except for version strings in different places. The difference seems to be in TrustZone applets set, it's different for TEE and EEU versions (at least the signatures are different)
You can check which version you have on the box:
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.
Current firmware version (TEE): Titan_20200917_20210205-0936 (Feb 05, 2021, Android 10).
Android security patch : September 5, 2020
Kernel version: 4.14.141+
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.
Read included readme file and watch the video.
TWRP 3.5.0_9 for Uniherz Titan, semi-working alpha version v0.2 (18 Jan 2021, with Android 10 support)
Note: as of Android 10, you can't get root with stock Magisk installer, or you'll get bootloop. See rooting section below.
This is TWRP recovery for Unihertz Titan smartphone. It works, but missing two essential features:
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.
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.
Note: you don't need TWRP to get root.
Android 9: To root this device, simply install MagiskManager via TWRP, using adb sideload. It will inject Magisk into kernel image.
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:
As for 28 Feb 2021, edexposed module have issues with new Magisk 22.0
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.
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:
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.
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)
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.
Supports Android 9 and Android 10.
Installation: Install ZIP via Magisk (root required).
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:
Manual Format Flash — selected Region: EMMC_USER 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.
Titan disassembled (facebook post)