Motorola Droid Bionic

From Maemo Leste Wiki
Revision as of 12:00, 23 May 2021 by Wizzup (talk | contribs)
Jump to navigationJump to search
Motorola Droid Bionic
Manufacturer Motorola
Codename Targa
Dimensions 127x67.3x12.7mm
Release Date 2012-02-10
Hardware Features
LCD 960x540 4.3"
Video PowerVR SGX540
Storage 16GB flash
Sensors AK8975 compass, Kionix KXTf9 accelerometer, St L3GD20H Gyro, ISL29030 proximity and illuminance, TMP105 temperature sensor
Software Features
Kernel 5.10.4
Serial Yes, special cable
Charging Yes
USB Slave Gadgets only
USB Host No
Touchscreen Yes
Screen Yes
HDMI-out Yes
3D acceleration Yes, [closed driver|]
Vibration motor Yes
Audio Yes
Phone calls untested
SMS Yes, no UI
Wifi Yes
2G/3G data Yes
Bluetooth Yes, see notes
FM transmitter No, but apparently exists, needs serdev kernel modules/drivers
Accelerometer Yes
Compass Yes (load ak8975 module), no integration
Gryo No, needs kernel work
Proximity Sensor Yes
Ambient Light Sensor Yes
A-GPS No, needs kernel/userspace work
Front Camera No
Back Camera(s) No
Idle Power Consumption 70mW, needs sim inserted
Stand by time 91.8h (with HW4X)


Hardware requirements:

  • Droid Bionic with fully charged battery
  • MicroUSB cable
  • MicroSD card

Software requirements:

  • Host Linux system
  • Android Tools: fastboot adb
  • Flashing tools:
    • XZ Utils and coreutils for Linux
    • Etcher[1] for Windows

Download from

  1. Latest maemo-leste-1.0-armhf-bionic-*.img.xz

Download from

  1. droid4-kexecboot.img

Download or clone

Follow the instructions in bionic-clown-boot's readme to install kexecboot on your device.

Now, flash the Maemo Leste image to your sdcard:

On Linux:

xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd status=progress bs=1M of=/dev/MICROSDCARD-DEVICE

Wait for sync to complete and insert MicroSD card into The Bionic. Reboot the device and select Maemo Leste from the kexecboot menu.

You should now see Maemo Leste booting up, and it will show you hildon-desktop after a minute.


Normaly you can just apt update && apt dist-upgrade to update to the latest version. I for some reason this fails:


Some users reported that Bluetooth kernel module interfere badly with the WiFi driver on their devices. Blacklisting the module may help if you have such problems:

echo "blacklist hci_uart" >> /etc/modprobe.d/blacklist.conf

Also see Motorola_Droid_4/Modem Motorola_Droid_4/PowerVR

Also see: and

Serial Cable

As explained at , the Droid 4 and Bionic both expose a serial console on the USB port. You can construct the required cable easily by following the instructions there. If you have old Nokia CA-42 or DKU-5 cables, then you can use them with the Bionic, using instructions at


Needs firmware - install latest firmware-ti-connectivity - See also Due to interference with WiFi, load driver manually, AFTER wifi module loaded

Unlocking the modem for usage in Europe

Tony suggested these values, Wizzup confirmed it to work on his Bionic in Europe/Amsterdam.

apt install build-essential
git clone
cd tcmdrw
./tcmdrw 1877=8703E80400000200
./tcmdrw 6850=05

Tony also writes:

22:34 < tmlind> hmm so i had to do this for 3g gain: tcmdrw 1143=aaff0000, got that value from xt910 firmware i think, otherwise 3g signal was weak
22:43 < tmlind> Wizzup: great, the 1143 setting is for 1900 frequency only to get decent signal on t-mo in the us

Stuff to try


The WL1271 Wifi chip in the Bionic has no onboard nvmem to save its calibration parameters or its MAC address. Instead it gets these parameters from a configuration file provided by the kernel. By default a generic file is provided but for optimal range and a correct persistent MAC address a calibration procedure must be performed.

Install necessary tools:

apt-get install ti-utils-wilink6 droid4-wlanconfig

Run calibration:

sudo maserati-calibrate

3G Internet

22:12 < pave1> qmicli -d /dev/cdc-wdm0 --wds-follow-network
22:12 < pave1> route del default
22:12 < pave1> sudo ifconfig wwan0 up
22:12 < pave1> dhclient wwan0


modprobe gnss-motmdm and point gpsd to use /dev/gnss0

22:30 < tmlind> hmm there's a probably kernel gnss bug for gsp access fyi, you can currently only open one connection before you have to restart gpsd :)

Can try to

mkfifo /tmp/gps
cat /dev/gnss0 > /tmp/gps
Then point gpsd to use /tmp/gps


22:45 < tmlind> fyi, here's how to send USSD to query balance for example: printf "AT+CUSD=1,#999#,0\r" > /dev/motmdm1
22:47 < tmlind> fyi, for parsing incoming USSD, this web interface works if set to utf-8: 

Old status table

Feature Leste supported Notes
Kernel version 5.10.4 Mainline + some patches not yet in mainline - see
Serial Yes On MicroUSB port, requires special cable
Charging Yes
USB slave Yes
USB host (OTG) No
Touchscreen Yes Capacitive
Keyboard N/A
Screen Yes
HDMI-out Yes No UI integration
TV-out N/A
3D Acceleration Yes PowerVR SGX540 (closed driver) -
Vibration Motor Yes
Audio Yes Switch around in alsamixer to get the right outputs working ('Speaker Right' set to 'HiFi' and 'HiFi' set to above 0 gets you output)
Phone calls WIP Untested
SMS Yes Works with ofono. Needs Leste UI
Wifi Yes
Ethernet N/A
IrDA N/A Missing in hardware
2G/3G data Yes Works with ofono, no UI yet - see
4G data No Needs kernel work
Bluetooth Yes Needs firmware - install latest firmware-ti-connectivity - See also Due to interference with WiFi, load driver manually, AFTER wifi module loaded
FM Transmitter No Apparently exists, and will need serdev kernel modules/drivers
FM Receiver No
Nfc No no hardware
Accelerometer Yes
Compass Yes Available in /sys (after loading ak8975 module. No Leste integration)
Gyro No needs kernel work
Proximity sensor Yes
Ambient Light Sensor Yes
GPS Yes Works with gpsd but is not integrated yet, see GPS
Front Camera No
Back Camera(s) No
Idle power consumption ~70 mW Needs sim inserted
Idle Battery life on new battery 91.8 h With HW4X