Difference between revisions of "Motorola Droid Bionic"

From Maemo Leste Wiki
Jump to navigationJump to search
Line 17: Line 17:
|sensors=AK8975 compass, Kionix KXTf9 accelerometer, St L3GD20H Gyro, ISL29030 proximity and illuminance, TMP105 temperature sensor
|sensors=AK8975 compass, Kionix KXTf9 accelerometer, St L3GD20H Gyro, ISL29030 proximity and illuminance, TMP105 temperature sensor
|other=
|other=
|sw_kernel=5.10.4
|sw_serial=Yes, [[#Serial Cable|special cable]]
|sw_charging=Yes
|sw_usb_slave=Gadgets only
|sw_usb_host=No
|sw_touchscreen=Yes
|sw_keyboard=
|sw_screen=Yes
|sw_hdmi=Yes
|sw_tv=
|sw_3daccel=Yes, [[https://github.com/maemo-leste/pvr-omap4/|SGX540, closed driver|]]
|sw_vibration=Yes
|sw_audio=Yes
|sw_calls=untested
|sw_sms=Yes, no UI
|sw_wifi=Yes
|sw_ethernet=
|sw_irda=
|sw_2g3gdata=Yes
|sw_4g=No
|sw_bluetooth=Yes,  [[#Bluetooth|see notes]]
|sw_fmtx=No, but apparently exists, needs serdev kernel modules/drivers
|sw_fmrx=
|sw_nfc=
|sw_accelerometer=Yes
|sw_compass=Yes (load ak8975 module), no integration
|sw_gyro=No, needs kernel work
|sw_proximity=Yes
|sw_als=Yes
|sw_gps=Yes
|sw_agps=No, needs kernel/userspace work
|sw_frontcam=No
|sw_backcam=No
|sw_idlepower=70mW, needs sim inserted
|sw_standbytime=91.8h (with HW4X)
}}
}}


Line 159: Line 194:


As explained at http://muru.com/linux/d4 , 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 https://jethomson.wordpress.com/2010/02/21/diy-usb-to-serial-cable-for-3usd/
As explained at http://muru.com/linux/d4 , 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 https://jethomson.wordpress.com/2010/02/21/diy-usb-to-serial-cable-for-3usd/
== Bluetooth ==
Needs firmware - install latest firmware-ti-connectivity - See also https://github.com/maemo-leste/bugtracker/issues/290. Due to interference with WiFi, load driver manually, AFTER wifi module loaded


== Unlocking the modem for usage in Europe ==
== Unlocking the modem for usage in Europe ==

Revision as of 11:59, 23 May 2021

Motorola Droid Bionic
Bionic.jpg
Manufacturer Motorola
Codename Targa
Dimensions 127x67.3x12.7mm
Release Date 2012-02-10
Specifications
SoC TI OMAP4430
DRAM 1024MB DDR2
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
GPS 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)

Status

Feature Leste supported Notes
Kernel version 5.10.4 Mainline + some patches not yet in mainline - see https://github.com/maemo-leste/droid4-linux
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) - https://github.com/maemo-leste/pvr-omap4/
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 https://github.com/maemo-leste/connui-cellular/
4G data No Needs kernel work
Bluetooth Yes Needs firmware - install latest firmware-ti-connectivity - See also https://github.com/maemo-leste/bugtracker/issues/290. 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
AGPS No
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

Installation

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 https://phoenix.maemo.org/view/Images/job/leste-image-bionic/

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

Download from https://github.com/tmlind/droid4-kexecboot.git

  1. droid4-kexecboot.img

Download or clone https://github.com/IMbackK/bionic-clown-boot

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
sync

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.

Updating

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

Notes

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: http://elektranox.org/droid4/ and http://muru.com/linux/d4/

Serial Cable

As explained at http://muru.com/linux/d4 , 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 https://jethomson.wordpress.com/2010/02/21/diy-usb-to-serial-cable-for-3usd/

Bluetooth

Needs firmware - install latest firmware-ti-connectivity - See also https://github.com/maemo-leste/bugtracker/issues/290. 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 https://github.com/tmlind/tcmdrw
cd tcmdrw
make
./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

Wifi

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 --wds-start-network=apn=internet.t-mobile.cz
22:12 < pave1> route del default
22:12 < pave1> sudo ifconfig wwan0 up
22:12 < pave1> dhclient wwan0

GPS

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

USSD

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: 
                https://www.mobilefish.com/services/latin_utf_base64_to_hex/latin_utf_base64_to_hex.php#text_hex_output