Motorola Moto G 2014 (motorola-titan)

== Contributors ==
* PabloCastellano
== Users owning this device ==
== Installation ==
Flashing kernel will fail
* flash_kernel: boot image is too big
If you prefer installation from recovery zip, it will fail for the same reason:
+ dd 'if=/mnt/pmOS/boot/boot.img' 'of=/dev/block/mmcblk0p31'
dd: error writing '/dev/block/mmcblk0p31': No space left on device
Fortunately, this occurs after rootfs has been written, so it is still possible to boot:
$ fastboot boot boot.img
== Aditional info ==
* Screen is black on Wayland after the password is entered. Workaround:
sh /etc/postmarketos-mkinitfs/hooks/00-device-motorola-titan.sh
Note: this is obsolete, possibly replaced by:
/etc/postmarketos-mkinitfs/hooks/00-msm-fb-refresher.sh
* Cannot boot if kernel is XZ-compressed (it boots if you build it using Android's build system)
* wifi: requires wcnss-service (see issue #373 and the wiki page Qualcomm MSM Interface) (this is installed by default if you choose to install nonfree firmware).
# From initramfs
/tmp # show_splash splash1.ppm.gz 
fbsplash: short read
This is written to dmesg everytime you type the previous command:
[ 74.192213,0] mdss_fb_alloc_fb_ion_memory: alloc 0x398000B vaddr = e9b99000 (0x00200000 iova) for fb0
[ 74.192374,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.192685,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.192846,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.193004,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.193106,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.193263,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.193366,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.193522,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.193624,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.193780,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.193882,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.194037,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.194138,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.194292,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.194446,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.194547,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.194702,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.194804,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.194960,0] vm_start=b6ad2000 vm_end=b6e6a000 vm_page_prot=1799
[ 74.196516,0] lm3630a_bl 0-0038: wake up and re-init chip
* White LED:
Note: the id e1d8be00 will probably differ.
echo 255 > /sys/devices/leds-qpnp-rgb-e1d8be00/leds/white/brightness
RGB LED documentation
* Backlight brightness:
echo 255 > /sys/class/leds/lcd-backlight/brightness
Values are between 0 and 255.
== Hardware Status (hwtest on xt1064) == 
Category 	Model 	Path 	Status 	Value
framebuffer	mdssfb_80000 	/sys/class/graphics/fb0	Working	U:720x1280p-51
input 	fbkeyboard 	/dev/input/event9 	Working	
input 	gpio-keys 	/dev/input/event8 	Working	
input 	qpnp_pon 	/dev/input/event7 	Working	
input 	proximity 	/dev/input/event6 	Working	
input 	lightsensor-level	/dev/input/event5 	Working	
input 	synaptics_dsx_i2c	/dev/input/event4 	Working	
input 	bmm050 	/dev/input/event3 	Working	
input 	bmg160 	/dev/input/event2 	Working	
input 	bma_interrupt 	/dev/input/event1 	Working	
input 	bma2x2 	/dev/input/event0 	Working	
=== Battery ===
Charging works during usb networking. Battery/charging properties are exposed at /sys/class/power_supply/battery/.
=== USB-OTG ===
Based on dmesg content (only), usb-otg connect/disconnect and the usb device is recognized.
== Links ==
* android_kernel_motorola_msm8226
* titan.yml
* defconfig
* proprietary-files.txt
* CVE security status
* dmesg.txt
* 
* 
* recent fully-featured SailfishOS (hybris)
== Drivers table ==
Component 	Brand 	Module	Works?
Accelerometer 	Bosch Sensortec MEMS accelerometer sensor driver	bma2x2	
Framebuffer 	 	mdss 	Yes
WiFi 	 	wcnss 	
Storage 	 	 	
USB networking