Difference between revisions of "Motorola Moto G4 Play (motorola-harpia)"

From postmarketOS
Jump to: navigation, search
(Firmware {Wifi/Modem} (TODO: package it))
(Voice call audio works now)
 
(29 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[Category:Not booting]]
 
 
{{Infobox device
 
{{Infobox device
 
| manufacturer = Motorola
 
| manufacturer = Motorola
| name = Moto G4 Play
+
| name = Moto G4 Play
| codename = harpia
+
| codename = motorola-harpia
 
| image = File:Motorola_Moto_G4_Play.png
 
| image = File:Motorola_Moto_G4_Play.png
 
| imagecaption = Moto G4 Play running Weston
 
| imagecaption = Moto G4 Play running Weston
Line 9: Line 8:
 
| originalsoftware = Android 6.0.1
 
| originalsoftware = Android 6.0.1
 
| chipset = Qualcomm MSM8916 Snapdragon 410
 
| chipset = Qualcomm MSM8916 Snapdragon 410
| cpu = Quad-core 1.21GHz Cortex A53
+
| cpu = Quad-core 1.21 GHz Cortex-A53
 
| gpu = Adreno 306
 
| gpu = Adreno 306
 
| storage = 8GB or 16GB
 
| storage = 8GB or 16GB
 
| display = HD (720x1280)
 
| display = HD (720x1280)
 
| memory = 1GB or 2GB
 
| memory = 1GB or 2GB
 +
| architecture = aarch64
 +
| status_usbnet = Y
 +
| status_flashing = Y
 +
| status_touch = Y
 +
| status_screen = Y
 +
| status_wifi = Y
 +
| status_xwayland = Y
 +
| status_fde =
 +
| status_mainline = Y
 +
| status_battery =
 +
| status_3d = Y
 +
| status_accel = Y
 +
| status_audio = Y
 +
| status_bluetooth = Y
 +
| status_camera = N
 +
| status_gps = N
 +
| status_mobiledata = N
 +
| status_sms = Y
 +
| status_calls = Y
 +
| booting = yes
 
}}
 
}}
 +
 +
== Users owning this device ==
 +
{{Device owners}}
  
 
== Contributors ==
 
== Contributors ==
* the-returning-void
+
* Sorixelle
 
 
== Maintainer(s) ==
 
 
 
== What works ==
 
* USB Networking
 
* Graphical display
 
* Xorg
 
* Modem (partially?)
 
* SMS
 
 
 
== What does not work ==
 
* Wifi (wlan0 device comes up with firmware and custom kernel)
 
 
 
  
 
== How to enter flash mode ==
 
== How to enter flash mode ==
Hold down POWER + Vol Down while booting to enter Flash Mode.
+
Hold down {{Button|Power}} + {{Button|Volume Down}} while booting to enter Flash Mode.
  
 
== Installation ==
 
== Installation ==
<!-- add more sections below as necessary, e.g. Wifi, photos, ... -->
+
Install the [https://github.com/msm8916-mainline/lk2nd/releases/latest lk2nd bootloader], as it is required to handle some quirks
 
+
with msm8916 devices on mainline kernels. Flash the <code>lk2nd.img</code> image to the boot partition with <code>fastboot flash boot /path/to/lk2nd.img</code>. lk2nd
== Wifi ==
+
also provides a fastboot interface that allows for flashing kernels without overwriting lk2nd itself. To enter it, power on the device, then hold down Vol Down as soon
Configure your kernel and enable the prima wifi staging driver
+
as you see the boot splash. You should be presented with a menu that looks like the following:
 
 
<code> pmbootstrap menuconfig linux-motorola-harpia </code>
 
<code>pmbootstrap build linux-motorola-harpia </code>
 
 
 
On the device
 
 
 
<code> apk add wcnss-wlan</code>
 
 
 
<code>/etc/init.d/wcnss-wlan start</code>
 
 
 
== Firmware {Wifi/Modem} (TODO: package it) ==
 
On the device extract firmware
 
<code>
 
cd /lib/firmware
 
mkdir postmarketos
 
cd postmarketos
 
 
 
mount /dev/disk/by-partlabel/system /mnt
 
cp -ap /mnt/etc/firmware/* /lib/firmware/postmarketos
 
umount /mnt
 
mount /dev/disk/by-partlabel/fsg /mnt
 
cp -ap /mnt/* /lib/firmware/postmarketos
 
umount /mnt
 
mount /dev/disk/by-partlabel/modem /mnt
 
cp -ap /mnt/image/* /lib/firmware/postmarketos
 
umount /mnt
 
mount /dev/disk/by-partlabel/persist /mnt
 
mkdir -p wlan/prima
 
cp -ap /mnt/WCNSS_wlan_dictionary.dat wlan/prima/
 
umount /mnt
 
 
 
#make a link in case the firmware path doesn't include /lib/firmware/postmarketos
 
cd /lib/firmware
 
ln -s /lib/firmware/postmarketos/* /lib/firmware/
 
</code>
 
 
 
== Modem ==
 
Make the necesary links for qcom_rmtfs
 
<code>
 
cd /boot
 
ln -s /dev/disk/by-partlabel/modemst1 modem_fs1
 
ln -s /dev/disk/by-partlabel/modemst2 modem_fs2
 
ln -s /dev/disk/by-partlabel/fsg modem_fsg
 
</code>
 
 
 
Install necessary software
 
 
 
<code>
 
apk add modem-qcom-msm-downstream-common qcom_rmtfs libsmdpkt_wrapper libqipcrtr4msmipc
 
</code>
 
 
 
Start the wcnss-wlan service to initialize the wifi card (helps the modem?)
 
<code>/etc/init.d/wcnss-wlan start</code>
 
 
 
Start a tmux for multiple windows
 
<code>tmux</code>
 
 
 
Start qcom_rmtfs on a terminal
 
 
 
<code>
 
export LD_PRELOAD=/usr/lib/preload/libqipcrtr4msmipc.so
 
qcom_rmtfs -v
 
</code>
 
 
 
Start ofonod on another terminal
 
 
 
<code>
 
export LD_PRELOAD=/usr/lib/preload/libsmdpkt_wrapper.so
 
ofonod -d -n
 
</code>
 
  
Send an SMS!
+
[[File:Motorola-harpia_lk2nd_example.jpeg|x500px]]
  
<code>
+
After that, proceed with [[Installation_guide#Installation_and_flashing|installation]] as usual, using lk2nd's fastboot interface to flash the kernel and rootfs.
export PHONE_NUMBER="<number to send sms to ex: 1234567890>"
 
  
sudo dbus-send --print-reply --system --dest=org.ofono /gobi_0 org.ofono.Modem.SetProperty string:"Powered" variant:boolean:"true"
+
== Usage ==
sudo dbus-send --print-reply --system --dest=org.ofono /gobi_0 org.ofono.Modem.GetProperties
+
=== Audio ===
sudo dbus-send --print-reply --system --dest=org.ofono /gobi_0 org.ofono.Modem.SetProperty string:"Online" variant:boolean:"true"
+
See [[Qualcomm_Snapdragon_410_(MSM8916)#Audio]].
sudo dbus-send --system --print-reply --dest=org.ofono /gobi_0 org.ofono.MessageManager.SendMessage string:"$PHONE_NUMBER" string:"Hello world! -postmarketOS"
 
  
# receive SMS like this (might be spammy if you have other DBus apps):
+
=== Modem ===
sudo dbus-monitor
+
Follow the directions on [[Qualcomm_Snapdragon_410_(MSM8916)#Modem|this wiki page]] to use the modem. If you have a device model other than what is listed here, please edit the list below
</code>
+
with the results of modem functionality testing.
  
 +
* '''XT1602:''' Modem working, can send and receive text messages. Can initiate and answer phone calls. Mobile data does not work.
  
 
== See also ==
 
== See also ==
* Device requires msm-refresher to get a display past the boot splash, even though <code>cat /sys/class/graphics/fb0/modes > /sys/class/graphics/fb0/mode</code> doesn't fix the display
+
* [https://gitlab.com/postmarketOS/pmaports/tree/master/device/testing/device-motorola-harpia Device package]
* Steps outlined for [[Troubleshooting:display#Screen_is_blank_outside_of_Weston|Screen is blank outside of Weston]] is still required to get a display after the boot splash
+
* [https://github.com/msm8916-mainline/linux Development kernel tree]
* Xorg starts with a blank display, to make the screen show ssh into the device and run <code>sudo osk-sdl -t</code> to fix display
 

Latest revision as of 12:43, 14 May 2020

Motorola Moto G4 Play
Moto G4 Play running Weston
Moto G4 Play running Weston
Manufacturer Motorola
Name Moto G4 Play
Codename motorola-harpia
Released 2016
Category testing
Original software Android 6.0.1
Hardware
Chipset Qualcomm MSM8916 Snapdragon 410
CPU Quad-core 1.21 GHz Cortex-A53
GPU Adreno 306
Display HD (720x1280)
Storage 8GB or 16GB
Memory 1GB or 2GB
Architecture aarch64
Features
USB Networking
Works
Flashing
Works
Touchscreen
Works
Display
Works
WiFi
Works
Xwayland
Works
FDE
Mainline
Works
Battery
3D Acceleration
Works
Accelerometer
Works
Audio
Works
Bluetooth
Works
Camera
Broken
GPS
Broken
Mobile data
Broken
SMS
Works
Calls
Works
USB OTG



Users owning this device


Contributors

  • Sorixelle

How to enter flash mode

Hold down Power + Volume Down while booting to enter Flash Mode.

Installation

Install the lk2nd bootloader, as it is required to handle some quirks with msm8916 devices on mainline kernels. Flash the lk2nd.img image to the boot partition with fastboot flash boot /path/to/lk2nd.img. lk2nd also provides a fastboot interface that allows for flashing kernels without overwriting lk2nd itself. To enter it, power on the device, then hold down Vol Down as soon as you see the boot splash. You should be presented with a menu that looks like the following:

Motorola-harpia lk2nd example.jpeg

After that, proceed with installation as usual, using lk2nd's fastboot interface to flash the kernel and rootfs.

Usage

Audio

See Qualcomm_Snapdragon_410_(MSM8916)#Audio.

Modem

Follow the directions on this wiki page to use the modem. If you have a device model other than what is listed here, please edit the list below with the results of modem functionality testing.

  • XT1602: Modem working, can send and receive text messages. Can initiate and answer phone calls. Mobile data does not work.

See also