<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://leste.maemo.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Xsetiadi</id>
	<title>Maemo Leste Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://leste.maemo.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Xsetiadi"/>
	<link rel="alternate" type="text/html" href="https://leste.maemo.org/Special:Contributions/Xsetiadi"/>
	<updated>2026-05-21T03:49:15Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=796</id>
		<title>Motorola Droid 4</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=796"/>
		<updated>2020-07-02T06:50:08Z</updated>

		<summary type="html">&lt;p&gt;Xsetiadi: /* Make Audio Automaticaly set up */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Device&lt;br /&gt;
|image=[[File:Motorola Droid 4 - Leste pre-alpha.jpg|250px]]&lt;br /&gt;
|manufacturer=Motorola&lt;br /&gt;
|codename=Maserati&lt;br /&gt;
|dimensions=127x67.3x12.7mm&lt;br /&gt;
|release_date=2012-02-10&lt;br /&gt;
|soc=TI OMAP4430&lt;br /&gt;
|dram=1024MB DDR2&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=960x540 4&amp;quot;&lt;br /&gt;
|video=PowerVR SGX540 &lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=16GB flash&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=AK8975 compass, LIS3DH accelerometer, ISL29030 proximity and illuminance, TMP105 temperature sensor&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.7.0 || Mainline + some patches not yet in mainline - see https://github.com/maemo-leste/droid4-linux&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || On MicroUSB port, requires [[#Serial Cable|special cable]]&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Micro USB || Yes || OTG and USB network&lt;br /&gt;
|-&lt;br /&gt;
| 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)&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || PowerVR SGX540 (closed driver) - https://github.com/maemo-leste/pvr-omap4/&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Switch around in alsamixer to get the right outputs working (&#039;Speaker Right&#039; set to &#039;HiFi&#039; and &#039;HiFi&#039; set to above 0 gets you output)&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G data || WIP || Works with ofono, no UI yet - see https://github.com/maemo-leste/connui-cellular/&lt;br /&gt;
|-&lt;br /&gt;
| SMS || WIP || Works with ofono. Needs Leste UI&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || WIP || Works with ofono (good call quality, too), needs Leste UI&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || Yes || Needs firmware - install latest firmware-ti-connectivity - See also https://github.com/maemo-leste/bugtracker/issues/290. Currently disabled due to interference with WiFi&lt;br /&gt;
|-&lt;br /&gt;
| FM Transmitter || No || Apparently exists, and will need serdev kernel modules/drivers&lt;br /&gt;
|-&lt;br /&gt;
| FM Receiver || Not yet ||&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || ? || Available in /sys, but not yet as input device, needs kernel and MCE work https://github.com/maemo-leste/bugtracker/issues/294&lt;br /&gt;
|-&lt;br /&gt;
| Compass || ? || Available in /sys (after loading ak8975 module. No applications using it yet&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || WIP || Sensor works, not yet exposed as evdev device&lt;br /&gt;
|-&lt;br /&gt;
| Ambient Light Sensor || Yes || https://github.com/maemo-leste/mce/pull/8&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || Yes || No userspace yet (should be in mce)&lt;br /&gt;
|-&lt;br /&gt;
| HDMI-out || WIP || works&lt;br /&gt;
|-&lt;br /&gt;
| TV-out || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| GPS || ? || Works but is not integrated yet, see [[#GPS|GPS]]&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || Missing in hardware&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Hardware requirements:&lt;br /&gt;
&lt;br /&gt;
* Droid4 with fully charged battery&lt;br /&gt;
* MicroUSB cable&lt;br /&gt;
* MicroSD card&lt;br /&gt;
&lt;br /&gt;
Software requirements:&lt;br /&gt;
* Host Linux or Windows system&lt;br /&gt;
* Android Tools: fastboot&lt;br /&gt;
* Flashing tools:&lt;br /&gt;
** XZ Utils and coreutils for Linux&lt;br /&gt;
** Etcher[https://github.com/balena-io/etcher] for Windows&lt;br /&gt;
&lt;br /&gt;
Download from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
&lt;br /&gt;
# VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# flash-droid-4-fw.sh&lt;br /&gt;
# Latest maemo-leste-1.0-armhf-droid4-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Download from https://github.com/tmlind/droid4-kexecboot.git&lt;br /&gt;
&lt;br /&gt;
# utags-mmcblk1p13.bin&lt;br /&gt;
# droid4-kexecboot.img&lt;br /&gt;
&lt;br /&gt;
Check what kernel version your Android OS runs.&lt;br /&gt;
For this go to Settings -&amp;gt; About phone. Slide to the bottom, where you can see &amp;quot;Kernel version&amp;quot;.&lt;br /&gt;
If you have at least 3.0.8, you may skip &amp;quot;Updating Android&amp;quot; step below.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
&lt;br /&gt;
# Create a working directory with above mentioned files in it&lt;br /&gt;
# unzip VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Power off Droid4 and connect it to the host machine with MicroUSB cable&lt;br /&gt;
# Start the device in fastboot mode. For this press power button and bottom volume key simultaneously and release them after a second.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pushd VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml&lt;br /&gt;
sudo bash ../flash-droid-4-fw.sh&lt;br /&gt;
popd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, assuming you are in the working directory, install kexecboot:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo fastboot flash mbm VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml/allow-mbmloader-flashing-mbm.bin&lt;br /&gt;
sudo fastboot reboot-bootloader&lt;br /&gt;
sudo fastboot flash bpsw droid4-kexecboot.img&lt;br /&gt;
sudo fastboot flash utags utags-mmcblk1p13.bin&lt;br /&gt;
sudo fastboot reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you did &amp;quot;Updating Android&amp;quot; the device should run the firstboot steps.&lt;br /&gt;
If you didn&#039;t, the device should reboot and show kexecboot menu for a few seconds before it boots to Android.&lt;br /&gt;
&lt;br /&gt;
Now, flash the Maemo Leste image to your sdcard:&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd status=progress bs=1M of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Windows: Use Etcher&lt;br /&gt;
&lt;br /&gt;
Wait for sync to complete and insert MicroSD card into Droid4. Reboot the device and select Maemo Leste from the kexecboot menu.&lt;br /&gt;
&lt;br /&gt;
You should now see Maemo Leste booting up, and it will show you hildon-desktop after a minute.&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
* Poweroff device, grab the SD card&lt;br /&gt;
* Backup any important files&lt;br /&gt;
* Grab latest image from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
* Write it as before : xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd status=progress bs=1M of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If Maemo is still running, you can also hold just the power button for ~10 seconds, and the device will run poweroff.&lt;br /&gt;
&lt;br /&gt;
Some users reported that Bluetooth kernel module interfere badly with the WiFi driver on their devices.&lt;br /&gt;
Blacklisting the module may help if you have such problems:&lt;br /&gt;
 echo &amp;quot;blacklist hci_uart&amp;quot; &amp;gt;&amp;gt; /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&lt;br /&gt;
Also see [[Motorola_Droid_4/Modem]] [[Motorola_Droid_4/PowerVR]]&lt;br /&gt;
&lt;br /&gt;
Also see: http://elektranox.org/droid4/ and http://muru.com/linux/d4/&lt;br /&gt;
&lt;br /&gt;
== Serial Cable ==&lt;br /&gt;
&lt;br /&gt;
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/&lt;br /&gt;
&lt;br /&gt;
While using the serial cable, if you lose the connection, the following may help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:43 &amp;lt; tmlind&amp;gt; sicelo: hmm the uart debug cable multiplexing still has issues, if the uart disappears during boot it should come back with &lt;br /&gt;
                the console login propt later&lt;br /&gt;
18:45 &amp;lt; tmlind&amp;gt; try plugging in a pc usb cable then back to uart cable in case that might help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stuff to try ==&lt;br /&gt;
&lt;br /&gt;
==== Blinkenlights ====&lt;br /&gt;
Adding this in rc.local above the &#039;&#039;exit 0&#039;&#039; gets you some blinkenlights to watschen und relaxen.&lt;br /&gt;
 echo cpu &amp;gt; /sys/class/leds/lm3532::kbd_backlight/trigger # gets you a cpu activity monitor on the keyboard backlight&lt;br /&gt;
 echo mmc0 &amp;gt; /sys/class/leds/shift-key-light/trigger      # gets you a &#039;hdd led&#039; of the SD card on the capslock light&lt;br /&gt;
&lt;br /&gt;
==== Make Audio Automaticaly set up (Temporary Solution) ====&lt;br /&gt;
Adding this in /etc/rc.local above the &#039;&#039;exit 0&#039;&#039; to make audio work from boot.&lt;br /&gt;
 amixer cset numid=22 HiFi      #set left speaker to HiFi&lt;br /&gt;
 amixer cset numid=21 HiFi      #set right speaker to HiFi&lt;br /&gt;
 amixer cset numid=26 HiFi      #set left headset to HiFi&lt;br /&gt;
 amixer cset numid=25 HiFi      #set right headset to HiFi&lt;br /&gt;
 amixer cset numid=1  50%       #set HiFi volumes to 50%&lt;br /&gt;
&lt;br /&gt;
==== Wifi ====&lt;br /&gt;
&lt;br /&gt;
The WL1285C Wifi chip in the droid 4 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.&lt;br /&gt;
&lt;br /&gt;
Install necessary tools: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install ti-utils-wilink6 droid4-wlanconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run calibration:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo maserati-calibrate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Phone Call ====&lt;br /&gt;
&lt;br /&gt;
Make sure there is a SIM in the phone.&lt;br /&gt;
&lt;br /&gt;
Run this over SSH:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Read modem output: &lt;br /&gt;
# cat /dev/motmdm1 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Online modem:&lt;br /&gt;
# printf &amp;quot;AT+CFUN=1\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Connect to network:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;AT+COPS=1\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Print connected network:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;AT+COPS?\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Not sure, do it anyway:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;AT+SCRN=0\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Dial a number:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;ATD+1234567890\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Hang up:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;ATH\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Answer incoming call:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;ATA\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Audio wise, in alsamixer, make sure echo cancellation is turned on. I had to set Call out to &amp;quot;speakerphone&amp;quot; and set the right speaker to &amp;quot;voice&amp;quot; codec, and set volume for both call and voice to something non-zero.&lt;br /&gt;
&lt;br /&gt;
==== 3G Internet ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; qmicli -d /dev/cdc-wdm0 --wds-follow-network --wds-start-network=apn=internet.t-mobile.cz&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; route del default&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; sudo ifconfig wwan0 up&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; dhclient wwan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GPS ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
modprobe gnss-motmdm and point gpsd to use /dev/gnss0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
22:30 &amp;lt; tmlind&amp;gt; hmm there&#039;s a probably kernel gnss bug for gsp access fyi, you can currently only open one connection before you have to restart gpsd :)&lt;br /&gt;
&lt;br /&gt;
Can try to &amp;lt;pre&amp;gt;&lt;br /&gt;
mkfifo /tmp/gps&lt;br /&gt;
cat /dev/gnss0 &amp;gt; /tmp/gps&lt;br /&gt;
Then point gpsd to use /tmp/gps&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== USSD ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
22:45 &amp;lt; tmlind&amp;gt; fyi, here&#039;s how to send USSD to query balance for example: printf &amp;quot;AT+CUSD=1,#999#,0\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
22:47 &amp;lt; tmlind&amp;gt; fyi, for parsing incoming USSD, this web interface works if set to utf-8: &lt;br /&gt;
                https://www.mobilefish.com/services/latin_utf_base64_to_hex/latin_utf_base64_to_hex.php#text_hex_output&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Motorola-Droid4-20200125.jpeg&lt;br /&gt;
Droid4-neofetch.JPG&lt;br /&gt;
Droid4_htop.jpg&lt;br /&gt;
Droid4_leste_logo.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Xsetiadi</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=789</id>
		<title>Motorola Droid 4</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=789"/>
		<updated>2020-06-25T13:02:22Z</updated>

		<summary type="html">&lt;p&gt;Xsetiadi: /* Make Audio Automaticaly set up */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Device&lt;br /&gt;
|image=[[File:Motorola Droid 4 - Leste pre-alpha.jpg|250px]]&lt;br /&gt;
|manufacturer=Motorola&lt;br /&gt;
|codename=Maserati&lt;br /&gt;
|dimensions=127x67.3x12.7mm&lt;br /&gt;
|release_date=2012-02-10&lt;br /&gt;
|soc=TI OMAP4430&lt;br /&gt;
|dram=1024MB DDR2&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=960x540 4&amp;quot;&lt;br /&gt;
|video=PowerVR SGX540 &lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=16GB flash&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=AK8975 compass, LIS3DH accelerometer, ISL29030 proximity and illuminance, TMP105 temperature sensor&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.7.0 || Mainline + some patches not yet in mainline - see https://github.com/maemo-leste/droid4-linux&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || On MicroUSB port, requires [[#Serial Cable|special cable]]&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Micro USB || Yes || OTG and USB network&lt;br /&gt;
|-&lt;br /&gt;
| 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)&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || PowerVR SGX540 (closed driver) - https://github.com/maemo-leste/pvr-omap4/&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Switch around in alsamixer to get the right outputs working (&#039;Speaker Right&#039; set to &#039;HiFi&#039; and &#039;HiFi&#039; set to above 0 gets you output)&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G data || WIP || Works with ofono, no UI yet - see https://github.com/maemo-leste/connui-cellular/&lt;br /&gt;
|-&lt;br /&gt;
| SMS || WIP || Works with ofono. Needs Leste UI&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || WIP || Works with ofono (good call quality, too), needs Leste UI&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || Yes || Needs firmware - install latest firmware-ti-connectivity - See also https://github.com/maemo-leste/bugtracker/issues/290. Currently disabled due to interference with WiFi&lt;br /&gt;
|-&lt;br /&gt;
| FM Transmitter || No || Apparently exists, and will need serdev kernel modules/drivers&lt;br /&gt;
|-&lt;br /&gt;
| FM Receiver || Not yet ||&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || ? || Available in /sys, but not yet as input device, needs kernel and MCE work https://github.com/maemo-leste/bugtracker/issues/294&lt;br /&gt;
|-&lt;br /&gt;
| Compass || ? || Available in /sys (after loading ak8975 module. No applications using it yet&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || WIP || Sensor works, not yet exposed as evdev device&lt;br /&gt;
|-&lt;br /&gt;
| Ambient Light Sensor || Yes || https://github.com/maemo-leste/mce/pull/8&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || Yes || No userspace yet (should be in mce)&lt;br /&gt;
|-&lt;br /&gt;
| HDMI-out || WIP || works&lt;br /&gt;
|-&lt;br /&gt;
| TV-out || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| GPS || ? || Works but is not integrated yet, see [[#GPS|GPS]]&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || Missing in hardware&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Hardware requirements:&lt;br /&gt;
&lt;br /&gt;
* Droid4 with fully charged battery&lt;br /&gt;
* MicroUSB cable&lt;br /&gt;
* MicroSD card&lt;br /&gt;
&lt;br /&gt;
Software requirements:&lt;br /&gt;
* Host Linux or Windows system&lt;br /&gt;
* Android Tools: fastboot&lt;br /&gt;
* Flashing tools:&lt;br /&gt;
** XZ Utils and coreutils for Linux&lt;br /&gt;
** Etcher[https://github.com/balena-io/etcher] for Windows&lt;br /&gt;
&lt;br /&gt;
Download from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
&lt;br /&gt;
# VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# flash-droid-4-fw.sh&lt;br /&gt;
# Latest maemo-leste-1.0-armhf-droid4-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Download from https://github.com/tmlind/droid4-kexecboot.git&lt;br /&gt;
&lt;br /&gt;
# utags-mmcblk1p13.bin&lt;br /&gt;
# droid4-kexecboot.img&lt;br /&gt;
&lt;br /&gt;
Check what kernel version your Android OS runs.&lt;br /&gt;
For this go to Settings -&amp;gt; About phone. Slide to the bottom, where you can see &amp;quot;Kernel version&amp;quot;.&lt;br /&gt;
If you have at least 3.0.8, you may skip &amp;quot;Updating Android&amp;quot; step below.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
&lt;br /&gt;
# Create a working directory with above mentioned files in it&lt;br /&gt;
# unzip VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Power off Droid4 and connect it to the host machine with MicroUSB cable&lt;br /&gt;
# Start the device in fastboot mode. For this press power button and bottom volume key simultaneously and release them after a second.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pushd VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml&lt;br /&gt;
sudo bash ../flash-droid-4-fw.sh&lt;br /&gt;
popd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, assuming you are in the working directory, install kexecboot:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo fastboot flash mbm VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml/allow-mbmloader-flashing-mbm.bin&lt;br /&gt;
sudo fastboot reboot-bootloader&lt;br /&gt;
sudo fastboot flash bpsw droid4-kexecboot.img&lt;br /&gt;
sudo fastboot flash utags utags-mmcblk1p13.bin&lt;br /&gt;
sudo fastboot reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you did &amp;quot;Updating Android&amp;quot; the device should run the firstboot steps.&lt;br /&gt;
If you didn&#039;t, the device should reboot and show kexecboot menu for a few seconds before it boots to Android.&lt;br /&gt;
&lt;br /&gt;
Now, flash the Maemo Leste image to your sdcard:&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd status=progress bs=1M of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Windows: Use Etcher&lt;br /&gt;
&lt;br /&gt;
Wait for sync to complete and insert MicroSD card into Droid4. Reboot the device and select Maemo Leste from the kexecboot menu.&lt;br /&gt;
&lt;br /&gt;
You should now see Maemo Leste booting up, and it will show you hildon-desktop after a minute.&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
* Poweroff device, grab the SD card&lt;br /&gt;
* Backup any important files&lt;br /&gt;
* Grab latest image from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
* Write it as before : xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd status=progress bs=1M of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If Maemo is still running, you can also hold just the power button for ~10 seconds, and the device will run poweroff.&lt;br /&gt;
&lt;br /&gt;
Some users reported that Bluetooth kernel module interfere badly with the WiFi driver on their devices.&lt;br /&gt;
Blacklisting the module may help if you have such problems:&lt;br /&gt;
 echo &amp;quot;blacklist hci_uart&amp;quot; &amp;gt;&amp;gt; /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&lt;br /&gt;
Also see [[Motorola_Droid_4/Modem]] [[Motorola_Droid_4/PowerVR]]&lt;br /&gt;
&lt;br /&gt;
Also see: http://elektranox.org/droid4/ and http://muru.com/linux/d4/&lt;br /&gt;
&lt;br /&gt;
== Serial Cable ==&lt;br /&gt;
&lt;br /&gt;
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/&lt;br /&gt;
&lt;br /&gt;
While using the serial cable, if you lose the connection, the following may help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:43 &amp;lt; tmlind&amp;gt; sicelo: hmm the uart debug cable multiplexing still has issues, if the uart disappears during boot it should come back with &lt;br /&gt;
                the console login propt later&lt;br /&gt;
18:45 &amp;lt; tmlind&amp;gt; try plugging in a pc usb cable then back to uart cable in case that might help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stuff to try ==&lt;br /&gt;
&lt;br /&gt;
==== Blinkenlights ====&lt;br /&gt;
Adding this in rc.local above the &#039;&#039;exit 0&#039;&#039; gets you some blinkenlights to watschen und relaxen.&lt;br /&gt;
 echo cpu &amp;gt; /sys/class/leds/lm3532::kbd_backlight/trigger # gets you a cpu activity monitor on the keyboard backlight&lt;br /&gt;
 echo mmc0 &amp;gt; /sys/class/leds/shift-key-light/trigger      # gets you a &#039;hdd led&#039; of the SD card on the capslock light&lt;br /&gt;
&lt;br /&gt;
==== Make Audio Automaticaly set up ====&lt;br /&gt;
Adding this in /etc/rc.local above the &#039;&#039;exit 0&#039;&#039; to make audio work from boot.&lt;br /&gt;
 amixer cset numid=22 HiFi      #set left speaker to HiFi&lt;br /&gt;
 amixer cset numid=21 HiFi      #set right speaker to HiFi&lt;br /&gt;
 amixer cset numid=26 HiFi      #set left headset to HiFi&lt;br /&gt;
 amixer cset numid=25 HiFi      #set right headset to HiFi&lt;br /&gt;
 amixer cset numid=1  50%       #set HiFi volumes to 50%&lt;br /&gt;
&lt;br /&gt;
==== Wifi ====&lt;br /&gt;
&lt;br /&gt;
The WL1285C Wifi chip in the droid 4 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.&lt;br /&gt;
&lt;br /&gt;
Install necessary tools: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install ti-utils-wilink6 droid4-wlanconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run calibration:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo maserati-calibrate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Phone Call ====&lt;br /&gt;
&lt;br /&gt;
Make sure there is a SIM in the phone.&lt;br /&gt;
&lt;br /&gt;
Run this over SSH:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Read modem output: &lt;br /&gt;
# cat /dev/motmdm1 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Online modem:&lt;br /&gt;
# printf &amp;quot;AT+CFUN=1\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Connect to network:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;AT+COPS=1\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Print connected network:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;AT+COPS?\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Not sure, do it anyway:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;AT+SCRN=0\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Dial a number:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;ATD+1234567890\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Hang up:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;ATH\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Answer incoming call:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;ATA\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Audio wise, in alsamixer, make sure echo cancellation is turned on. I had to set Call out to &amp;quot;speakerphone&amp;quot; and set the right speaker to &amp;quot;voice&amp;quot; codec, and set volume for both call and voice to something non-zero.&lt;br /&gt;
&lt;br /&gt;
==== 3G Internet ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; qmicli -d /dev/cdc-wdm0 --wds-follow-network --wds-start-network=apn=internet.t-mobile.cz&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; route del default&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; sudo ifconfig wwan0 up&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; dhclient wwan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GPS ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
modprobe gnss-motmdm and point gpsd to use /dev/gnss0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
22:30 &amp;lt; tmlind&amp;gt; hmm there&#039;s a probably kernel gnss bug for gsp access fyi, you can currently only open one connection before you have to restart gpsd :)&lt;br /&gt;
&lt;br /&gt;
Can try to &amp;lt;pre&amp;gt;&lt;br /&gt;
mkfifo /tmp/gps&lt;br /&gt;
cat /dev/gnss0 &amp;gt; /tmp/gps&lt;br /&gt;
Then point gpsd to use /tmp/gps&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== USSD ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
22:45 &amp;lt; tmlind&amp;gt; fyi, here&#039;s how to send USSD to query balance for example: printf &amp;quot;AT+CUSD=1,#999#,0\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
22:47 &amp;lt; tmlind&amp;gt; fyi, for parsing incoming USSD, this web interface works if set to utf-8: &lt;br /&gt;
                https://www.mobilefish.com/services/latin_utf_base64_to_hex/latin_utf_base64_to_hex.php#text_hex_output&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Motorola-Droid4-20200125.jpeg&lt;br /&gt;
Droid4-neofetch.JPG&lt;br /&gt;
Droid4_htop.jpg&lt;br /&gt;
Droid4_leste_logo.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Xsetiadi</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=788</id>
		<title>Motorola Droid 4</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=788"/>
		<updated>2020-06-25T12:59:22Z</updated>

		<summary type="html">&lt;p&gt;Xsetiadi: /* Stuff to try */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Device&lt;br /&gt;
|image=[[File:Motorola Droid 4 - Leste pre-alpha.jpg|250px]]&lt;br /&gt;
|manufacturer=Motorola&lt;br /&gt;
|codename=Maserati&lt;br /&gt;
|dimensions=127x67.3x12.7mm&lt;br /&gt;
|release_date=2012-02-10&lt;br /&gt;
|soc=TI OMAP4430&lt;br /&gt;
|dram=1024MB DDR2&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=960x540 4&amp;quot;&lt;br /&gt;
|video=PowerVR SGX540 &lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=16GB flash&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=AK8975 compass, LIS3DH accelerometer, ISL29030 proximity and illuminance, TMP105 temperature sensor&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.7.0 || Mainline + some patches not yet in mainline - see https://github.com/maemo-leste/droid4-linux&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || On MicroUSB port, requires [[#Serial Cable|special cable]]&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Micro USB || Yes || OTG and USB network&lt;br /&gt;
|-&lt;br /&gt;
| 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)&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || PowerVR SGX540 (closed driver) - https://github.com/maemo-leste/pvr-omap4/&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Switch around in alsamixer to get the right outputs working (&#039;Speaker Right&#039; set to &#039;HiFi&#039; and &#039;HiFi&#039; set to above 0 gets you output)&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G data || WIP || Works with ofono, no UI yet - see https://github.com/maemo-leste/connui-cellular/&lt;br /&gt;
|-&lt;br /&gt;
| SMS || WIP || Works with ofono. Needs Leste UI&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || WIP || Works with ofono (good call quality, too), needs Leste UI&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || Yes || Needs firmware - install latest firmware-ti-connectivity - See also https://github.com/maemo-leste/bugtracker/issues/290. Currently disabled due to interference with WiFi&lt;br /&gt;
|-&lt;br /&gt;
| FM Transmitter || No || Apparently exists, and will need serdev kernel modules/drivers&lt;br /&gt;
|-&lt;br /&gt;
| FM Receiver || Not yet ||&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || ? || Available in /sys, but not yet as input device, needs kernel and MCE work https://github.com/maemo-leste/bugtracker/issues/294&lt;br /&gt;
|-&lt;br /&gt;
| Compass || ? || Available in /sys (after loading ak8975 module. No applications using it yet&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || WIP || Sensor works, not yet exposed as evdev device&lt;br /&gt;
|-&lt;br /&gt;
| Ambient Light Sensor || Yes || https://github.com/maemo-leste/mce/pull/8&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || Yes || No userspace yet (should be in mce)&lt;br /&gt;
|-&lt;br /&gt;
| HDMI-out || WIP || works&lt;br /&gt;
|-&lt;br /&gt;
| TV-out || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| GPS || ? || Works but is not integrated yet, see [[#GPS|GPS]]&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || Missing in hardware&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Hardware requirements:&lt;br /&gt;
&lt;br /&gt;
* Droid4 with fully charged battery&lt;br /&gt;
* MicroUSB cable&lt;br /&gt;
* MicroSD card&lt;br /&gt;
&lt;br /&gt;
Software requirements:&lt;br /&gt;
* Host Linux or Windows system&lt;br /&gt;
* Android Tools: fastboot&lt;br /&gt;
* Flashing tools:&lt;br /&gt;
** XZ Utils and coreutils for Linux&lt;br /&gt;
** Etcher[https://github.com/balena-io/etcher] for Windows&lt;br /&gt;
&lt;br /&gt;
Download from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
&lt;br /&gt;
# VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# flash-droid-4-fw.sh&lt;br /&gt;
# Latest maemo-leste-1.0-armhf-droid4-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Download from https://github.com/tmlind/droid4-kexecboot.git&lt;br /&gt;
&lt;br /&gt;
# utags-mmcblk1p13.bin&lt;br /&gt;
# droid4-kexecboot.img&lt;br /&gt;
&lt;br /&gt;
Check what kernel version your Android OS runs.&lt;br /&gt;
For this go to Settings -&amp;gt; About phone. Slide to the bottom, where you can see &amp;quot;Kernel version&amp;quot;.&lt;br /&gt;
If you have at least 3.0.8, you may skip &amp;quot;Updating Android&amp;quot; step below.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
&lt;br /&gt;
# Create a working directory with above mentioned files in it&lt;br /&gt;
# unzip VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Power off Droid4 and connect it to the host machine with MicroUSB cable&lt;br /&gt;
# Start the device in fastboot mode. For this press power button and bottom volume key simultaneously and release them after a second.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pushd VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml&lt;br /&gt;
sudo bash ../flash-droid-4-fw.sh&lt;br /&gt;
popd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, assuming you are in the working directory, install kexecboot:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo fastboot flash mbm VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml/allow-mbmloader-flashing-mbm.bin&lt;br /&gt;
sudo fastboot reboot-bootloader&lt;br /&gt;
sudo fastboot flash bpsw droid4-kexecboot.img&lt;br /&gt;
sudo fastboot flash utags utags-mmcblk1p13.bin&lt;br /&gt;
sudo fastboot reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you did &amp;quot;Updating Android&amp;quot; the device should run the firstboot steps.&lt;br /&gt;
If you didn&#039;t, the device should reboot and show kexecboot menu for a few seconds before it boots to Android.&lt;br /&gt;
&lt;br /&gt;
Now, flash the Maemo Leste image to your sdcard:&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd status=progress bs=1M of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Windows: Use Etcher&lt;br /&gt;
&lt;br /&gt;
Wait for sync to complete and insert MicroSD card into Droid4. Reboot the device and select Maemo Leste from the kexecboot menu.&lt;br /&gt;
&lt;br /&gt;
You should now see Maemo Leste booting up, and it will show you hildon-desktop after a minute.&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
* Poweroff device, grab the SD card&lt;br /&gt;
* Backup any important files&lt;br /&gt;
* Grab latest image from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
* Write it as before : xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd status=progress bs=1M of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If Maemo is still running, you can also hold just the power button for ~10 seconds, and the device will run poweroff.&lt;br /&gt;
&lt;br /&gt;
Some users reported that Bluetooth kernel module interfere badly with the WiFi driver on their devices.&lt;br /&gt;
Blacklisting the module may help if you have such problems:&lt;br /&gt;
 echo &amp;quot;blacklist hci_uart&amp;quot; &amp;gt;&amp;gt; /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&lt;br /&gt;
Also see [[Motorola_Droid_4/Modem]] [[Motorola_Droid_4/PowerVR]]&lt;br /&gt;
&lt;br /&gt;
Also see: http://elektranox.org/droid4/ and http://muru.com/linux/d4/&lt;br /&gt;
&lt;br /&gt;
== Serial Cable ==&lt;br /&gt;
&lt;br /&gt;
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/&lt;br /&gt;
&lt;br /&gt;
While using the serial cable, if you lose the connection, the following may help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:43 &amp;lt; tmlind&amp;gt; sicelo: hmm the uart debug cable multiplexing still has issues, if the uart disappears during boot it should come back with &lt;br /&gt;
                the console login propt later&lt;br /&gt;
18:45 &amp;lt; tmlind&amp;gt; try plugging in a pc usb cable then back to uart cable in case that might help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stuff to try ==&lt;br /&gt;
&lt;br /&gt;
==== Blinkenlights ====&lt;br /&gt;
Adding this in rc.local above the &#039;&#039;exit 0&#039;&#039; gets you some blinkenlights to watschen und relaxen.&lt;br /&gt;
 echo cpu &amp;gt; /sys/class/leds/lm3532::kbd_backlight/trigger # gets you a cpu activity monitor on the keyboard backlight&lt;br /&gt;
 echo mmc0 &amp;gt; /sys/class/leds/shift-key-light/trigger      # gets you a &#039;hdd led&#039; of the SD card on the capslock light&lt;br /&gt;
&lt;br /&gt;
==== Make Audio Automaticaly set up ====&lt;br /&gt;
Adding this in /etc/rc.local above the &#039;&#039;exit 0&#039;&#039; to make audio work from boot.&lt;br /&gt;
 amixer cset numid=22 HiFi&lt;br /&gt;
 amixer cset numid=21 HiFi&lt;br /&gt;
 amixer cset numid=26 HiFi&lt;br /&gt;
 amixer cset numid=25 HiFi&lt;br /&gt;
 amixer cset numid=1  50%&lt;br /&gt;
&lt;br /&gt;
==== Wifi ====&lt;br /&gt;
&lt;br /&gt;
The WL1285C Wifi chip in the droid 4 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.&lt;br /&gt;
&lt;br /&gt;
Install necessary tools: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install ti-utils-wilink6 droid4-wlanconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run calibration:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo maserati-calibrate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Phone Call ====&lt;br /&gt;
&lt;br /&gt;
Make sure there is a SIM in the phone.&lt;br /&gt;
&lt;br /&gt;
Run this over SSH:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Read modem output: &lt;br /&gt;
# cat /dev/motmdm1 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Online modem:&lt;br /&gt;
# printf &amp;quot;AT+CFUN=1\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Connect to network:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;AT+COPS=1\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Print connected network:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;AT+COPS?\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Not sure, do it anyway:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;AT+SCRN=0\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Dial a number:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;ATD+1234567890\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Hang up:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;ATH\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Answer incoming call:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;ATA\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Audio wise, in alsamixer, make sure echo cancellation is turned on. I had to set Call out to &amp;quot;speakerphone&amp;quot; and set the right speaker to &amp;quot;voice&amp;quot; codec, and set volume for both call and voice to something non-zero.&lt;br /&gt;
&lt;br /&gt;
==== 3G Internet ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; qmicli -d /dev/cdc-wdm0 --wds-follow-network --wds-start-network=apn=internet.t-mobile.cz&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; route del default&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; sudo ifconfig wwan0 up&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; dhclient wwan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GPS ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
modprobe gnss-motmdm and point gpsd to use /dev/gnss0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
22:30 &amp;lt; tmlind&amp;gt; hmm there&#039;s a probably kernel gnss bug for gsp access fyi, you can currently only open one connection before you have to restart gpsd :)&lt;br /&gt;
&lt;br /&gt;
Can try to &amp;lt;pre&amp;gt;&lt;br /&gt;
mkfifo /tmp/gps&lt;br /&gt;
cat /dev/gnss0 &amp;gt; /tmp/gps&lt;br /&gt;
Then point gpsd to use /tmp/gps&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== USSD ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
22:45 &amp;lt; tmlind&amp;gt; fyi, here&#039;s how to send USSD to query balance for example: printf &amp;quot;AT+CUSD=1,#999#,0\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
22:47 &amp;lt; tmlind&amp;gt; fyi, for parsing incoming USSD, this web interface works if set to utf-8: &lt;br /&gt;
                https://www.mobilefish.com/services/latin_utf_base64_to_hex/latin_utf_base64_to_hex.php#text_hex_output&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Motorola-Droid4-20200125.jpeg&lt;br /&gt;
Droid4-neofetch.JPG&lt;br /&gt;
Droid4_htop.jpg&lt;br /&gt;
Droid4_leste_logo.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Xsetiadi</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=787</id>
		<title>Motorola Droid 4</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=787"/>
		<updated>2020-06-24T16:58:59Z</updated>

		<summary type="html">&lt;p&gt;Xsetiadi: /* Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Device&lt;br /&gt;
|image=[[File:Motorola Droid 4 - Leste pre-alpha.jpg|250px]]&lt;br /&gt;
|manufacturer=Motorola&lt;br /&gt;
|codename=Maserati&lt;br /&gt;
|dimensions=127x67.3x12.7mm&lt;br /&gt;
|release_date=2012-02-10&lt;br /&gt;
|soc=TI OMAP4430&lt;br /&gt;
|dram=1024MB DDR2&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=960x540 4&amp;quot;&lt;br /&gt;
|video=PowerVR SGX540 &lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=16GB flash&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=AK8975 compass, LIS3DH accelerometer, ISL29030 proximity and illuminance, TMP105 temperature sensor&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.7.0 || Mainline + some patches not yet in mainline - see https://github.com/maemo-leste/droid4-linux&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || On MicroUSB port, requires [[#Serial Cable|special cable]]&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Micro USB || Yes || OTG and USB network&lt;br /&gt;
|-&lt;br /&gt;
| 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)&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Yes || PowerVR SGX540 (closed driver) - https://github.com/maemo-leste/pvr-omap4/&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes || Switch around in alsamixer to get the right outputs working (&#039;Speaker Right&#039; set to &#039;HiFi&#039; and &#039;HiFi&#039; set to above 0 gets you output)&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G data || WIP || Works with ofono, no UI yet - see https://github.com/maemo-leste/connui-cellular/&lt;br /&gt;
|-&lt;br /&gt;
| SMS || WIP || Works with ofono. Needs Leste UI&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || WIP || Works with ofono (good call quality, too), needs Leste UI&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || Yes || Needs firmware - install latest firmware-ti-connectivity - See also https://github.com/maemo-leste/bugtracker/issues/290. Currently disabled due to interference with WiFi&lt;br /&gt;
|-&lt;br /&gt;
| FM Transmitter || No || Apparently exists, and will need serdev kernel modules/drivers&lt;br /&gt;
|-&lt;br /&gt;
| FM Receiver || Not yet ||&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || ? || Available in /sys, but not yet as input device, needs kernel and MCE work https://github.com/maemo-leste/bugtracker/issues/294&lt;br /&gt;
|-&lt;br /&gt;
| Compass || ? || Available in /sys (after loading ak8975 module. No applications using it yet&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || WIP || Sensor works, not yet exposed as evdev device&lt;br /&gt;
|-&lt;br /&gt;
| Ambient Light Sensor || Yes || https://github.com/maemo-leste/mce/pull/8&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || Yes || No userspace yet (should be in mce)&lt;br /&gt;
|-&lt;br /&gt;
| HDMI-out || WIP || works&lt;br /&gt;
|-&lt;br /&gt;
| TV-out || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| GPS || ? || Works but is not integrated yet, see [[#GPS|GPS]]&lt;br /&gt;
|-&lt;br /&gt;
| Infrared || N/A || Missing in hardware&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Hardware requirements:&lt;br /&gt;
&lt;br /&gt;
* Droid4 with fully charged battery&lt;br /&gt;
* MicroUSB cable&lt;br /&gt;
* MicroSD card&lt;br /&gt;
&lt;br /&gt;
Software requirements:&lt;br /&gt;
* Host Linux or Windows system&lt;br /&gt;
* Android Tools: fastboot&lt;br /&gt;
* Flashing tools:&lt;br /&gt;
** XZ Utils and coreutils for Linux&lt;br /&gt;
** Etcher[https://github.com/balena-io/etcher] for Windows&lt;br /&gt;
&lt;br /&gt;
Download from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
&lt;br /&gt;
# VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# flash-droid-4-fw.sh&lt;br /&gt;
# Latest maemo-leste-1.0-armhf-droid4-*.img.xz&lt;br /&gt;
&lt;br /&gt;
Download from https://github.com/tmlind/droid4-kexecboot.git&lt;br /&gt;
&lt;br /&gt;
# utags-mmcblk1p13.bin&lt;br /&gt;
# droid4-kexecboot.img&lt;br /&gt;
&lt;br /&gt;
Check what kernel version your Android OS runs.&lt;br /&gt;
For this go to Settings -&amp;gt; About phone. Slide to the bottom, where you can see &amp;quot;Kernel version&amp;quot;.&lt;br /&gt;
If you have at least 3.0.8, you may skip &amp;quot;Updating Android&amp;quot; step below.&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
&lt;br /&gt;
# Create a working directory with above mentioned files in it&lt;br /&gt;
# unzip VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Power off Droid4 and connect it to the host machine with MicroUSB cable&lt;br /&gt;
# Start the device in fastboot mode. For this press power button and bottom volume key simultaneously and release them after a second.&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pushd VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml&lt;br /&gt;
sudo bash ../flash-droid-4-fw.sh&lt;br /&gt;
popd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now, assuming you are in the working directory, install kexecboot:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo fastboot flash mbm VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml/allow-mbmloader-flashing-mbm.bin&lt;br /&gt;
sudo fastboot reboot-bootloader&lt;br /&gt;
sudo fastboot flash bpsw droid4-kexecboot.img&lt;br /&gt;
sudo fastboot flash utags utags-mmcblk1p13.bin&lt;br /&gt;
sudo fastboot reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you did &amp;quot;Updating Android&amp;quot; the device should run the firstboot steps.&lt;br /&gt;
If you didn&#039;t, the device should reboot and show kexecboot menu for a few seconds before it boots to Android.&lt;br /&gt;
&lt;br /&gt;
Now, flash the Maemo Leste image to your sdcard:&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd status=progress bs=1M of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Windows: Use Etcher&lt;br /&gt;
&lt;br /&gt;
Wait for sync to complete and insert MicroSD card into Droid4. Reboot the device and select Maemo Leste from the kexecboot menu.&lt;br /&gt;
&lt;br /&gt;
You should now see Maemo Leste booting up, and it will show you hildon-desktop after a minute.&lt;br /&gt;
&lt;br /&gt;
== Updating ==&lt;br /&gt;
&lt;br /&gt;
* Poweroff device, grab the SD card&lt;br /&gt;
* Backup any important files&lt;br /&gt;
* Grab latest image from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
* Write it as before : xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd status=progress bs=1M of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If Maemo is still running, you can also hold just the power button for ~10 seconds, and the device will run poweroff.&lt;br /&gt;
&lt;br /&gt;
Some users reported that Bluetooth kernel module interfere badly with the WiFi driver on their devices.&lt;br /&gt;
Blacklisting the module may help if you have such problems:&lt;br /&gt;
 echo &amp;quot;blacklist hci_uart&amp;quot; &amp;gt;&amp;gt; /etc/modprobe.d/blacklist.conf&lt;br /&gt;
&lt;br /&gt;
Also see [[Motorola_Droid_4/Modem]] [[Motorola_Droid_4/PowerVR]]&lt;br /&gt;
&lt;br /&gt;
Also see: http://elektranox.org/droid4/ and http://muru.com/linux/d4/&lt;br /&gt;
&lt;br /&gt;
== Serial Cable ==&lt;br /&gt;
&lt;br /&gt;
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/&lt;br /&gt;
&lt;br /&gt;
While using the serial cable, if you lose the connection, the following may help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:43 &amp;lt; tmlind&amp;gt; sicelo: hmm the uart debug cable multiplexing still has issues, if the uart disappears during boot it should come back with &lt;br /&gt;
                the console login propt later&lt;br /&gt;
18:45 &amp;lt; tmlind&amp;gt; try plugging in a pc usb cable then back to uart cable in case that might help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Stuff to try ==&lt;br /&gt;
&lt;br /&gt;
==== Blinkenlights ====&lt;br /&gt;
Adding this in rc.local above the &#039;&#039;exit 0&#039;&#039; gets you some blinkenlights to watschen und relaxen.&lt;br /&gt;
 echo cpu &amp;gt; /sys/class/leds/lm3532::kbd_backlight/trigger # gets you a cpu activity monitor on the keyboard backlight&lt;br /&gt;
 echo mmc0 &amp;gt; /sys/class/leds/shift-key-light/trigger      # gets you a &#039;hdd led&#039; of the SD card on the capslock light&lt;br /&gt;
&lt;br /&gt;
==== Wifi ====&lt;br /&gt;
&lt;br /&gt;
The WL1285C Wifi chip in the droid 4 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.&lt;br /&gt;
&lt;br /&gt;
Install necessary tools: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install ti-utils-wilink6 droid4-wlanconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run calibration:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo maserati-calibrate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Phone Call ====&lt;br /&gt;
&lt;br /&gt;
Make sure there is a SIM in the phone.&lt;br /&gt;
&lt;br /&gt;
Run this over SSH:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Read modem output: &lt;br /&gt;
# cat /dev/motmdm1 &amp;amp;&lt;br /&gt;
&lt;br /&gt;
Online modem:&lt;br /&gt;
# printf &amp;quot;AT+CFUN=1\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Connect to network:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;AT+COPS=1\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Print connected network:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;AT+COPS?\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Not sure, do it anyway:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;AT+SCRN=0\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Dial a number:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;ATD+1234567890\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Hang up:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;ATH\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&lt;br /&gt;
Answer incoming call:&lt;br /&gt;
&lt;br /&gt;
# printf &amp;quot;ATA\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Audio wise, in alsamixer, make sure echo cancellation is turned on. I had to set Call out to &amp;quot;speakerphone&amp;quot; and set the right speaker to &amp;quot;voice&amp;quot; codec, and set volume for both call and voice to something non-zero.&lt;br /&gt;
&lt;br /&gt;
==== 3G Internet ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; qmicli -d /dev/cdc-wdm0 --wds-follow-network --wds-start-network=apn=internet.t-mobile.cz&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; route del default&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; sudo ifconfig wwan0 up&lt;br /&gt;
22:12 &amp;lt; pave1&amp;gt; dhclient wwan0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== GPS ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
modprobe gnss-motmdm and point gpsd to use /dev/gnss0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
22:30 &amp;lt; tmlind&amp;gt; hmm there&#039;s a probably kernel gnss bug for gsp access fyi, you can currently only open one connection before you have to restart gpsd :)&lt;br /&gt;
&lt;br /&gt;
Can try to &amp;lt;pre&amp;gt;&lt;br /&gt;
mkfifo /tmp/gps&lt;br /&gt;
cat /dev/gnss0 &amp;gt; /tmp/gps&lt;br /&gt;
Then point gpsd to use /tmp/gps&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== USSD ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
22:45 &amp;lt; tmlind&amp;gt; fyi, here&#039;s how to send USSD to query balance for example: printf &amp;quot;AT+CUSD=1,#999#,0\r&amp;quot; &amp;gt; /dev/motmdm1&lt;br /&gt;
22:47 &amp;lt; tmlind&amp;gt; fyi, for parsing incoming USSD, this web interface works if set to utf-8: &lt;br /&gt;
                https://www.mobilefish.com/services/latin_utf_base64_to_hex/latin_utf_base64_to_hex.php#text_hex_output&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Motorola-Droid4-20200125.jpeg&lt;br /&gt;
Droid4-neofetch.JPG&lt;br /&gt;
Droid4_htop.jpg&lt;br /&gt;
Droid4_leste_logo.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Xsetiadi</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=592</id>
		<title>Motorola Droid 4</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=592"/>
		<updated>2020-01-28T06:14:38Z</updated>

		<summary type="html">&lt;p&gt;Xsetiadi: /* Gallery */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=[[File:Motorola Droid 4 - Leste pre-alpha.jpg|250px]]&lt;br /&gt;
|manufacturer=Motorola&lt;br /&gt;
|codename=Maserati&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.4 || Mainline + some patches not yet in mainline - see https://github.com/maemo-leste/droid4-linux/tree/maemo-5.4&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || On MicroUSB port, requires [[#Serial Cable|special cable]]&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Micro USB || Yes || OTG&lt;br /&gt;
|-&lt;br /&gt;
| 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)&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Not yet || PowerVR SGX540 (closed driver) - see [[Motorola Droid 4/PowerVR]]&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G data || WIP || Reported to work, no UI yet - see https://github.com/maemo-leste/connui-cellular/&lt;br /&gt;
|-&lt;br /&gt;
| SMS || WIP || Reported to work, no UI yet&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || WIP || Reported to work, no UI yet&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || Yes || Needs firmware - see [[#Bluetooth|below]].  See also https://github.com/maemo-leste/bugtracker/issues/290.&lt;br /&gt;
|-&lt;br /&gt;
| FM Transmitter || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| FM Receiver || Not yet ||&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || ? || Available as input device, needs MCE work&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| HDMI-out || WIP || works, but not with hildon-desktop&lt;br /&gt;
|-&lt;br /&gt;
| TV-out || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
|Compass || No || Mainline supports it, so Leste needs to add config - see https://github.com/maemo-leste/bugtracker/issues/294&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Hardware requirements:&lt;br /&gt;
&lt;br /&gt;
* Droid4 with fully charged battery&lt;br /&gt;
* MicroUSB cable&lt;br /&gt;
* MicroSD card&lt;br /&gt;
&lt;br /&gt;
Software requirements:&lt;br /&gt;
* Host Linux or Windows system&lt;br /&gt;
* Android Tools: fastboot&lt;br /&gt;
* Flashing tools:&lt;br /&gt;
** XZ Utils and coreutils for Linux&lt;br /&gt;
** Etcher[https://github.com/balena-io/etcher] for Windows&lt;br /&gt;
&lt;br /&gt;
Download from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
&lt;br /&gt;
# VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Latest maemo-leste-1.0-armhf-droid4-*.img.xz (NOTE: 20200112 image may have issues with WiFi)&lt;br /&gt;
&lt;br /&gt;
Download from https://github.com/tmlind/droid4-kexecboot.git&lt;br /&gt;
&lt;br /&gt;
# utags-mmcblk1p13.bin&lt;br /&gt;
# droid4-kexecboot.img&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
&lt;br /&gt;
# Create a working directory with above mentioned files in it&lt;br /&gt;
# unzip VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Power off Droid4 and connect it to the host machine with MicroUSB cable&lt;br /&gt;
# Start the device in fastboot mode. For this press power button and bottom volume key simultaneously and release them after a second.&lt;br /&gt;
&lt;br /&gt;
Now go to the working directory and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo fastboot flash mbm VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml/allow-mbmloader-flashing-mbm.bin&lt;br /&gt;
sudo fastboot reboot-bootloader&lt;br /&gt;
sudo fastboot flash bpsw droid4-kexecboot.img&lt;br /&gt;
sudo fastboot flash utags utags-mmcblk1p13.bin&lt;br /&gt;
sudo fastboot reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The device should reboot and show kexecboot menu for a few seconds before it boots to Android.&lt;br /&gt;
&lt;br /&gt;
Now, flash the Maemo Leste image to your sdcard:&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Windows: Use Etcher&lt;br /&gt;
&lt;br /&gt;
Wait for sync to complete and insert MicroSD card into Droid4. Reboot the device and select Maemo Leste from the kexecboot menu.&lt;br /&gt;
&lt;br /&gt;
You should now see Maemo Leste booting up, and it will show you unaccelerated hildon-desktop after a minute.&lt;br /&gt;
&lt;br /&gt;
== Postinstall notes for 20200112 image ==&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
&lt;br /&gt;
Requires wpasupplicant and firmware-ti-connectivity from ascii-backports (needs to get added to sources.list)&lt;br /&gt;
&lt;br /&gt;
 deb http://pkgmaster.devuan.org/merged ascii-backports main contrib non-free&lt;br /&gt;
&lt;br /&gt;
 apt install -t ascii-backports wpasupplicant&lt;br /&gt;
 apt install -t ascii-backports firmware-ti-connectivity&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
Requires https://github.com/TI-ECS/bt-firmware/blob/master/TIInit_10.6.15.bts to go in /lib/firmware/ti-connectivity/&lt;br /&gt;
&lt;br /&gt;
=== Sound ===&lt;br /&gt;
&lt;br /&gt;
This needs to be executed after each boot by hand ; &lt;br /&gt;
&lt;br /&gt;
 modprobe snd-soc-cpcap&lt;br /&gt;
 modprobe snd-soc-motmdm&lt;br /&gt;
 modprobe snd-soc-audio-graph-card&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If Maemo is still running, you can also hold just the power button for ~10 seconds, and the device will run poweroff.&lt;br /&gt;
&lt;br /&gt;
Also see [[Motorola_Droid_4/Modem]] [[Motorola_Droid_4/PowerVR]]&lt;br /&gt;
&lt;br /&gt;
Also see: http://elektranox.org/droid4/ and http://muru.com/linux/d4/&lt;br /&gt;
&lt;br /&gt;
== Serial Cable ==&lt;br /&gt;
&lt;br /&gt;
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/&lt;br /&gt;
&lt;br /&gt;
While using the serial cable, if you lose the connection, the following may help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:43 &amp;lt; tmlind&amp;gt; sicelo: hmm the uart debug cable multiplexing still has issues, if the uart disappears during boot it should come back with &lt;br /&gt;
                the console login propt later&lt;br /&gt;
18:45 &amp;lt; tmlind&amp;gt; try plugging in a pc usb cable then back to uart cable in case that might help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Motorola-Droid4-20200125.jpeg&lt;br /&gt;
Droid4-neofetch.JPG&lt;br /&gt;
Droid4_htop.jpg&lt;br /&gt;
Droid4_leste_logo.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Xsetiadi</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=File:Droid4_leste_logo.jpg&amp;diff=591</id>
		<title>File:Droid4 leste logo.jpg</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=File:Droid4_leste_logo.jpg&amp;diff=591"/>
		<updated>2020-01-28T06:14:17Z</updated>

		<summary type="html">&lt;p&gt;Xsetiadi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Xsetiadi</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=588</id>
		<title>Motorola Droid 4</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=Motorola_Droid_4&amp;diff=588"/>
		<updated>2020-01-27T07:34:25Z</updated>

		<summary type="html">&lt;p&gt;Xsetiadi: /* Gallery */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox Device&lt;br /&gt;
|image=[[File:Motorola Droid 4 - Leste pre-alpha.jpg|250px]]&lt;br /&gt;
|manufacturer=Motorola&lt;br /&gt;
|codename=Maserati&lt;br /&gt;
|dimensions=&lt;br /&gt;
|release_date=&lt;br /&gt;
|soc=&lt;br /&gt;
|dram=&lt;br /&gt;
|power=&lt;br /&gt;
|lcd=&lt;br /&gt;
|video=&lt;br /&gt;
|audio=&lt;br /&gt;
|network=&lt;br /&gt;
|storage=&lt;br /&gt;
|usb=&lt;br /&gt;
|camera=&lt;br /&gt;
|sensors=&lt;br /&gt;
|other=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Leste supported&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Kernel version || 5.4 || Mainline + some patches not yet in mainline - see https://github.com/maemo-leste/droid4-linux/tree/maemo-5.4&lt;br /&gt;
|-&lt;br /&gt;
| Serial || Yes || On MicroUSB port, requires [[#Serial Cable|special cable]]&lt;br /&gt;
|-&lt;br /&gt;
| Charging || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Wireless || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethernet || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Micro USB || Yes || OTG&lt;br /&gt;
|-&lt;br /&gt;
| 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)&lt;br /&gt;
|-&lt;br /&gt;
| Screen || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 3D Acceleration || Not yet || PowerVR SGX540 (closed driver) - see [[Motorola Droid 4/PowerVR]]&lt;br /&gt;
|-&lt;br /&gt;
| Touchscreen || Yes || Capacitive&lt;br /&gt;
|-&lt;br /&gt;
| Audio || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| 2G/3G data || WIP || Reported to work, no UI yet - see https://github.com/maemo-leste/connui-cellular/&lt;br /&gt;
|-&lt;br /&gt;
| SMS || WIP || Reported to work, no UI yet&lt;br /&gt;
|-&lt;br /&gt;
| Phone calls || WIP || Reported to work, no UI yet&lt;br /&gt;
|-&lt;br /&gt;
| Bluetooth || Yes || Needs firmware - see [[#Bluetooth|below]].  See also https://github.com/maemo-leste/bugtracker/issues/290.&lt;br /&gt;
|-&lt;br /&gt;
| FM Transmitter || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| FM Receiver || Not yet ||&lt;br /&gt;
|-&lt;br /&gt;
| Accelerometer || ? || Available as input device, needs MCE work&lt;br /&gt;
|-&lt;br /&gt;
| Proximity sensor || ? || &lt;br /&gt;
|-&lt;br /&gt;
| HDMI-out || WIP || works, but not with hildon-desktop&lt;br /&gt;
|-&lt;br /&gt;
| TV-out || N/A ||&lt;br /&gt;
|-&lt;br /&gt;
| Vibration Motor || Yes ||&lt;br /&gt;
|-&lt;br /&gt;
|Compass || No || Mainline supports it, so Leste needs to add config - see https://github.com/maemo-leste/bugtracker/issues/294&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Hardware requirements:&lt;br /&gt;
&lt;br /&gt;
* Droid4 with fully charged battery&lt;br /&gt;
* MicroUSB cable&lt;br /&gt;
* MicroSD card&lt;br /&gt;
&lt;br /&gt;
Software requirements:&lt;br /&gt;
* Host Linux or Windows system&lt;br /&gt;
* Android Tools: fastboot&lt;br /&gt;
* Flashing tools:&lt;br /&gt;
** XZ Utils and coreutils for Linux&lt;br /&gt;
** Etcher[https://github.com/balena-io/etcher] for Windows&lt;br /&gt;
&lt;br /&gt;
Download from https://maedevu.maemo.org/images/droid4/&lt;br /&gt;
&lt;br /&gt;
# VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Latest maemo-leste-1.0-armhf-droid4-*.img.xz (NOTE: 20200112 image may have issues with WiFi)&lt;br /&gt;
&lt;br /&gt;
Download from https://github.com/tmlind/droid4-kexecboot.git&lt;br /&gt;
&lt;br /&gt;
# utags-mmcblk1p13.bin&lt;br /&gt;
# droid4-kexecboot.img&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
&lt;br /&gt;
# Create a working directory with above mentioned files in it&lt;br /&gt;
# unzip VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml.zip&lt;br /&gt;
# Power off Droid4 and connect it to the host machine with MicroUSB cable&lt;br /&gt;
# Start the device in fastboot mode. For this press power button and bottom volume key simultaneously and release them after a second.&lt;br /&gt;
&lt;br /&gt;
Now go to the working directory and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo fastboot flash mbm VRZ_XT894_9.8.2O-72_VZW-18-8_CFC.xml/allow-mbmloader-flashing-mbm.bin&lt;br /&gt;
sudo fastboot reboot-bootloader&lt;br /&gt;
sudo fastboot flash bpsw droid4-kexecboot.img&lt;br /&gt;
sudo fastboot flash utags utags-mmcblk1p13.bin&lt;br /&gt;
sudo fastboot reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The device should reboot and show kexecboot menu for a few seconds before it boots to Android.&lt;br /&gt;
&lt;br /&gt;
Now, flash the Maemo Leste image to your sdcard:&lt;br /&gt;
&lt;br /&gt;
On Linux:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
xzcat maemo-leste-1.0-armhf-droid4-20190227.img.xz | sudo dd of=/dev/MICROSDCARD-DEVICE&lt;br /&gt;
sync&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On Windows: Use Etcher&lt;br /&gt;
&lt;br /&gt;
Wait for sync to complete and insert MicroSD card into Droid4. Reboot the device and select Maemo Leste from the kexecboot menu.&lt;br /&gt;
&lt;br /&gt;
You should now see Maemo Leste booting up, and it will show you unaccelerated hildon-desktop after a minute.&lt;br /&gt;
&lt;br /&gt;
== Postinstall notes for 20200112 image ==&lt;br /&gt;
&lt;br /&gt;
=== Wifi ===&lt;br /&gt;
&lt;br /&gt;
Requires wpasupplicant and firmware-ti-connectivity from ascii-backports (needs to get added to sources.list)&lt;br /&gt;
&lt;br /&gt;
 deb http://pkgmaster.devuan.org/merged ascii-backports main contrib non-free&lt;br /&gt;
&lt;br /&gt;
 apt install -t ascii-backports wpasupplicant&lt;br /&gt;
 apt install -t ascii-backports firmware-ti-connectivity&lt;br /&gt;
&lt;br /&gt;
=== Bluetooth ===&lt;br /&gt;
&lt;br /&gt;
Requires https://github.com/TI-ECS/bt-firmware/blob/master/TIInit_10.6.15.bts to go in /lib/firmware/ti-connectivity/&lt;br /&gt;
&lt;br /&gt;
=== Sound ===&lt;br /&gt;
&lt;br /&gt;
This needs to be executed after each boot by hand ; &lt;br /&gt;
&lt;br /&gt;
 modprobe snd-soc-cpcap&lt;br /&gt;
 modprobe snd-soc-motmdm&lt;br /&gt;
 modprobe snd-soc-audio-graph-card&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If Maemo is still running, you can also hold just the power button for ~10 seconds, and the device will run poweroff.&lt;br /&gt;
&lt;br /&gt;
Also see [[Motorola_Droid_4/Modem]] [[Motorola_Droid_4/PowerVR]]&lt;br /&gt;
&lt;br /&gt;
Also see: http://elektranox.org/droid4/ and http://muru.com/linux/d4/&lt;br /&gt;
&lt;br /&gt;
== Serial Cable ==&lt;br /&gt;
&lt;br /&gt;
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/&lt;br /&gt;
&lt;br /&gt;
While using the serial cable, if you lose the connection, the following may help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
18:43 &amp;lt; tmlind&amp;gt; sicelo: hmm the uart debug cable multiplexing still has issues, if the uart disappears during boot it should come back with &lt;br /&gt;
                the console login propt later&lt;br /&gt;
18:45 &amp;lt; tmlind&amp;gt; try plugging in a pc usb cable then back to uart cable in case that might help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gallery ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Motorola-Droid4-20200125.jpeg&lt;br /&gt;
Droid4-neofetch.JPG&lt;br /&gt;
Droid4_htop.jpg&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Device]]&lt;/div&gt;</summary>
		<author><name>Xsetiadi</name></author>
	</entry>
	<entry>
		<id>https://leste.maemo.org/index.php?title=File:Droid4_htop.jpg&amp;diff=587</id>
		<title>File:Droid4 htop.jpg</title>
		<link rel="alternate" type="text/html" href="https://leste.maemo.org/index.php?title=File:Droid4_htop.jpg&amp;diff=587"/>
		<updated>2020-01-27T07:34:08Z</updated>

		<summary type="html">&lt;p&gt;Xsetiadi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Xsetiadi</name></author>
	</entry>
</feed>