Difference between revisions of "Motorola Droid Bionic"

From Maemo Leste Wiki
Jump to navigationJump to search
(22 intermediate revisions by 2 users not shown)
Line 2: Line 2:
|image=[[File:Bionic.jpg|250px]]
|image=[[File:Bionic.jpg|250px]]
|manufacturer=Motorola
|manufacturer=Motorola
|codename=Targa
|codename=Targa XT875
|dimensions=127x67.3x12.7mm
|dimensions=127x67.3x12.7mm
|release_date=2012-02-10
|release_date=2011-09-8
|soc=TI OMAP4430
|soc=TI OMAP4430
|dram=1024MB DDR2
|dram=1024MB DDR2
|power=
|power=
|lcd=960x540 4"
|lcd=960x540 4.3"
|video=PowerVR SGX540  
|video=PowerVR SGX540  
|audio=
|audio=
Line 15: Line 15:
|usb=
|usb=
|camera=
|camera=
|sensors=AK8975 compass, Kionix KXTf9 accelerometer, 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=
|category=Supported
|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, 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)
}}
}}
== Status ==
{| class="wikitable"
! Feature
! Leste supported
! Notes
|-
| Kernel version || 5.8.0 || Mainline + some patches not yet in mainline - see https://github.com/maemo-leste/droid4-linux
|-
| Serial || Yes || On MicroUSB port, requires [[#Serial Cable|special cable]]
|-
| Charging || Yes ||
|-
| Wireless || Yes ||
|-
| Ethernet || N/A ||
|-
| Micro USB || Yes || OTG and USB network
|-
| Keyboard || N/A ||
|-
| Screen || Yes ||
|-
| 3D Acceleration || Yes || PowerVR SGX540 (closed driver) - https://github.com/maemo-leste/pvr-omap4/
|-
| Touchscreen || Yes || Capacitive
|-
| 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)
|-
| 2G/3G data || Yes || Works with ofono, no UI yet - see https://github.com/maemo-leste/connui-cellular/
|-
| 4G data || No || Needs kernel work
|-
| SMS || Yes || Works with ofono. Needs Leste UI
|-
| Phone calls || WIP || Untested
|-
| 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 ||
|-
| Accelerometer || No || Needs kernel work
|-
| Compass || Yes || Available in /sys (after loading ak8975 module. No Leste integration applications using it yet)
|-
| Proximity sensor || Yes || needs mce work
|-
| Ambient Light Sensor || WIP || Needs mce work
|-
| Vibration Motor || Yes ||
|-
| HDMI-out || Yes || No UI integration
|-
| TV-out || N/A ||
|-
| GPS || Yes || Works with gpsd but is not integrated yet, see [[#GPS|GPS]]
|-
| Infrared || N/A || Missing in hardware
|-
| Camera || No ||
-
| Idle power consumption || ~350mW ||
|}


== Installation ==
== Installation ==
Line 121: Line 90:
</pre>
</pre>


Wait for sync to complete and insert MicroSD card into Droid4. Reboot the device and select Maemo Leste from the kexecboot menu.
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.
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:
* Poweroff device, grab the SD card
* Backup any important files
* Grab latest image from https://phoenix.maemo.org/view/Images/job/leste-image-bionic/
* Write it as before : xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd status=progress bs=1M of=/dev/MICROSDCARD-DEVICE


== Notes ==
== Notes ==
Line 148: Line 108:
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/


== Stuff to try ==
== 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 ==


==== Make Audio Automaticaly set up (Temporary Solution) ====
Tony suggested these values, Wizzup confirmed it to work on his Bionic in Europe/Amsterdam.
Adding this in /etc/rc.local above the ''exit 0'' to make audio work from boot.
amixer cset numid=22 HiFi      #set left speaker to HiFi
amixer cset numid=21 HiFi      #set right speaker to HiFi
amixer cset numid=26 HiFi      #set left headset to HiFi
amixer cset numid=25 HiFi      #set right headset to HiFi
amixer cset numid=1  50%      #set HiFi volumes to 50%


==== Wifi ====
<pre>
apt install build-essential
git clone https://github.com/tmlind/tcmdrw
cd tcmdrw
make
./tcmdrw 1877=8703E80400000200
./tcmdrw 6850=05
</pre>


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.
Tony also writes:


Install necessary tools:
<pre>
<pre>
apt-get install ti-utils-wilink6 droid4-wlanconfig
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
</pre>
</pre>
Run calibration:
 
<pre>
<pre>
sudo maserati-calibrate
22:37 < tmlind> i also had to do tcmdrw 6850=05 for 3g voice to work properly
</pre>
</pre>
== Stuff to try ==


==== 3G Internet ====
==== 3G Internet ====
Line 199: Line 166:
                 https://www.mobilefish.com/services/latin_utf_base64_to_hex/latin_utf_base64_to_hex.php#text_hex_output
                 https://www.mobilefish.com/services/latin_utf_base64_to_hex/latin_utf_base64_to_hex.php#text_hex_output
</pre>
</pre>
== Old status table ==
{| class="wikitable"
! 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 [[#Serial Cable|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|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
|}


[[Category:Device]]
[[Category:Device]]

Revision as of 11:48, 24 July 2021

Motorola Droid Bionic
Bionic.jpg
Manufacturer Motorola
Codename Targa XT875
Dimensions 127x67.3x12.7mm
Release Date 2011-09-8
Category Supported
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, 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)

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.

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
22:37 < tmlind> i also had to do tcmdrw 6850=05 for 3g voice to work properly

Stuff to try

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


Old status table

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