Motorola Droid 4

From Maemo Leste Wiki
Revision as of 00:26, 25 March 2020 by BuZz (talk | contribs)
Jump to navigationJump to search

This page or section is a stub. Ask how you can help improve leste.maemo.org by visiting #maemo-leste, look at the bugtracker (https://github.com/maemo-leste/bugtracker) or if you are able to contribute to the current page, then you are welcome to do so.

Motorola Droid 4
Motorola Droid 4 - Leste pre-alpha.jpg
Manufacturer Motorola
Codename Maserati
Specifications
Hardware Features
Software Features

Status

Feature Leste supported Notes
Kernel version 5.6.0-rc5 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
Wireless Yes
Ethernet N/A
Micro USB Yes OTG
Keyboard Yes Slightly modified keyboard layout, see https://www.spinics.net/lists/linux-omap/msg135137.html (TLDR; Shift key produces CTRL, SYM produces ALT, and Caps lock produces SHIFT)
Screen Yes
3D Acceleration Yes PowerVR SGX540 (closed driver) - https://github.com/maemo-leste/pvr-omap4/
Touchscreen Yes Capacitive
Audio Yes
2G/3G data WIP Reported to work, no UI yet - see https://github.com/maemo-leste/connui-cellular/
SMS WIP Reported to work, no UI yet
Phone calls WIP Reported to work, no UI yet
Bluetooth Yes Needs firmware - see below. See also https://github.com/maemo-leste/bugtracker/issues/290.
FM Transmitter N/A
FM Receiver Not yet
Accelerometer ? Available as input device, needs MCE work
Proximity sensor WIP
HDMI-out WIP works, but not with hildon-desktop
TV-out N/A
Vibration Motor Yes
Compass No Mainline supports it, so Leste needs to add config - see https://github.com/maemo-leste/bugtracker/issues/294

Installation

Hardware requirements:

  • Droid4 with fully charged battery
  • MicroUSB cable
  • MicroSD card

Software requirements:

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

Download from https://maedevu.maemo.org/images/droid4/

  1. VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip
  2. flash-droid-4-fw.sh
  3. Latest maemo-leste-1.0-armhf-droid4-*.img.xz (NOTE: 20200112 image may have issues with WiFi)

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

  1. utags-mmcblk1p13.bin
  2. droid4-kexecboot.img

Check what kernel version your Android OS runs. For this go to Settings -> About phone. Slide to the bottom, where you can see "Kernel version". If you have at least 3.0.8, you may skip "Updating Android" step below.

Installation:

  1. Create a working directory with above mentioned files in it
  2. unzip VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip
  3. Power off Droid4 and connect it to the host machine with MicroUSB cable
  4. Start the device in fastboot mode. For this press power button and bottom volume key simultaneously and release them after a second.

Updating Android. This will reinstall the Android OS on your device, deleting all user data. Do a backup, if you want to save something. When everything is ready, go to the working directory mentioned above and run:

pushd VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml
sudo bash ../flash-droid-4-fw.sh
popd

Now, assuming you are in the working directory, install kexecboot:

sudo fastboot flash mbm VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml/allow-mbmloader-flashing-mbm.bin
sudo fastboot reboot-bootloader
sudo fastboot flash bpsw droid4-kexecboot.img
sudo fastboot flash utags utags-mmcblk1p13.bin
sudo fastboot reboot

If you did "Updating Android" the device should run the firstboot steps. If you didn't, the device should reboot and show kexecboot menu for a few seconds before it boots to Android.

Now, flash the Maemo Leste image to your sdcard:

On Linux:

xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd of=/dev/MICROSDCARD-DEVICE
sync

On Windows: Use Etcher

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

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

Postinstall notes for 20200112 image

Current image has some erratas which can be fixed by following the instructions found in this post: https://github.com/maemo-leste/bugtracker/issues/302#issuecomment-576277674

Wifi

Requires wpasupplicant and firmware-ti-connectivity from ascii-backports (needs to get added to sources.list)

deb http://pkgmaster.devuan.org/merged ascii-backports main contrib non-free
apt install -t ascii-backports wpasupplicant
apt install -t ascii-backports firmware-ti-connectivity

Bluetooth

Requires https://github.com/TI-ECS/bt-firmware/blob/master/TIInit_10.6.15.bts to go in /lib/firmware/ti-connectivity/

$ sha256sum TIInit_10.6.15.bts 
85dc6539436319fa1301277c171f9fd65b716279900bc686a76578ab24cc7793  TIInit_10.6.15.bts

Note: 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

Sound

This needs to be executed to enable the sound:

modprobe snd-soc-cpcap
modprobe snd-soc-motmdm
modprobe snd-soc-audio-graph-card

Notes

The battery in Droid4 is not easily removable. If you got the device stuck, use this combo: power button + bottom volume key. You should hold them for about 7 seconds. Droid4 will then reboot.

If Maemo is still running, you can also hold just the power button for ~10 seconds, and the device will run poweroff.

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 exposes 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 Droid 4, using instructions at https://jethomson.wordpress.com/2010/02/21/diy-usb-to-serial-cable-for-3usd/

While using the serial cable, if you lose the connection, the following may help:

18:43 < tmlind> sicelo: hmm the uart debug cable multiplexing still has issues, if the uart disappears during boot it should come back with 
                the console login propt later
18:45 < tmlind> try plugging in a pc usb cable then back to uart cable in case that might help

Stuff to try

Blinkenlights

Adding this in rc.local above the exit 0 gets you some blinkenlights to watschen und relaxen.

echo cpu > /sys/class/leds/lm3532::kbd_backlight/trigger        # gets you a cpu activity monitor on the keyboard backlight
echo mmc0 > echo mmc0 > /sys/class/leds/shift-key-light/trigger # gets you a 'hdd led' of the SD card on the capslock light

Gallery