Motorola Moto G 2014 (motorola-titan)
|
Moto G 2014 running Weston | |
| Manufacturer | Motorola |
|---|---|
| Name | Moto G (2nd gen) |
| Codename | motorola-titan |
| Released | 2014 |
| Type | handset |
| Hardware | |
| Chipset | Qualcomm Snapdragon 400 (MSM8226) |
| CPU | Quad-core 1.2 GHz Cortex-A7 |
| GPU | Adreno 305 |
| Display | 720x1280 IPS LCD |
| Storage | 8/16 GB |
| Memory | 1 GB |
| Architecture | armv7 |
| Software | |
Original software The software and version the device was shipped with. |
Android 4.4.4 (Linux 3.4) |
Extended version The most recent supported version from the manufacturer. |
Android |
| postmarketOS | |
| Category | testing |
Mainline Instead of a Linux kernel fork, it is possible to run (Close to) Mainline. |
yes |
pmOS kernel The kernel version that runs on the device's port. |
3.4.113 |
Unixbench score Unixbench Whetstone/Dhrystone score. See Unixbench. |
879.7 |
| Device package |
|
| Kernel package |
|
Flashing Whether it is possible to flash the device with pmbootstrap flasher. |
Partial
|
|---|---|
USB Networking After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system). |
Works
|
Battery Whether charging and battery level reporting work. |
Partial
|
Screen Whether the display works; ideally with sleep mode and brightness control. |
Partial
|
Touchscreen |
Works
|
| Multimedia | |
3D Acceleration |
Broken
|
Audio Audio playback, microphone, headset and buttons. |
Untested
|
Camera |
Untested
|
| Connectivity | |
WiFi |
Partial
|
Bluetooth |
Untested
|
GPS |
Untested
|
| Modem | |
Calls |
Untested
|
SMS |
Untested
|
Mobile data |
Untested
|
| Miscellaneous | |
FDE Full disk encryption and unlocking with unl0kr. |
Untested
|
| Sensors | |
Accelerometer Handles automatic screen rotation in many interfaces. |
Broken
|
Contributors
Users owning this device
- AAT596 (Notes: Defective battery, it shuts down at 40%)
- Cark
- Daviewales (Notes: current mainlining target)
- Icenowy (Notes: SIM slot 1 broken)
- Konradybcio (Notes: Screen's a tiny bit broken)
- Nobodywasishere
Generic MSM8226 Port (Mainline)
Initial mainline support is available with the Generic MSM8226 (qcom-msm8226) device port. For now, you will need to add the kernel cmdline pd_ignore_unused, to prevent a blue screen on boot.
lk2nd (Mainline)
You will need a version of lk2nd with at least this commit. It should be included in lk2nd 23.0 onwards. If you are reading this before lk2nd 23.0 is released, you will need to compile lk2nd from source.
| The remainder of this page relates to the downstream port. |
Installation (Downstream)
| No backend is available for user interface weston - it will boot to black/blank screen, see Weston troubleshooting. |
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
- 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
- initial support in msm8226-mainline repository
- 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 |