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

From postmarketOS
Jump to navigation Jump to search
 
(29 intermediate revisions by 8 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
 
| releaseyear = 2016
 
| releaseyear = 2016
 +
| category = community
 
| 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 = armhf
+
| architecture = aarch64
 
| status_usbnet = Y
 
| status_usbnet = Y
 
| status_flashing = Y
 
| status_flashing = Y
 
| status_touch = Y
 
| status_touch = Y
 
| status_screen = Y
 
| status_screen = Y
| status_wifi =  
+
| status_wifi = Y
| status_xwayland =  
+
| status_xwayland = Y
 
| status_fde =  
 
| status_fde =  
| status_mainline =  
+
| status_mainline = Y
| status_battery =
+
| status_battery = Y
| status_3d =  
+
| status_3d = Y
| status_accel =  
+
| status_accel = Y
| status_audio =  
+
| status_audio = Y
| status_bluetooth =
+
| status_bluetooth = Y
| status_camera =
+
| status_camera = N
| status_gps =  
+
| status_gps = N
| status_mobiledata =  
+
| status_mobiledata = N
| status_sms = P
+
| status_sms = Y
| status_calls =  
+
| status_calls = Y
 
| booting = yes
 
| booting = yes
 
}}
 
}}
 +
 +
== Users owning this device ==
 +
{{Device owners}}
  
 
== Contributors ==
 
== Contributors ==
* the-returning-void
+
* Sorixelle
  
 
== 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.
 
 
== Wifi ==
 
Configure your kernel and enable the prima wifi staging driver
 
 
 
<source>
 
pmbootstrap menuconfig linux-motorola-harpia
 
pmbootstrap build linux-motorola-harpia
 
</source>
 
 
 
On the device
 
 
 
<source>
 
apk add wcnss-wlan
 
/etc/init.d/wcnss-wlan start
 
</source>
 
 
 
== Firmware {Wifi/Modem} (TODO: package it) ==
 
On the device extract firmware
 
<source>
 
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
 
</source>
 
 
 
Make a link in case the firmware path doesn't include /lib/firmware/postmarketos
 
 
 
<source>
 
cd /lib/firmware
 
ln -s /lib/firmware/postmarketos/* /lib/firmware/
 
</source>
 
 
 
 
 
== Modem ==
 
Make the necesary links for qcom_rmtfs
 
 
 
<source>
 
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
 
</source>
 
 
 
Install necessary software
 
<source>apk add modem-qcom-msm-downstream-common qcom_rmtfs libsmdpkt_wrapper libqipcrtr4msmipc ofono</source>
 
 
 
Start the wcnss-wlan service to initialize the wifi card (helps the modem?)
 
<source>/etc/init.d/wcnss-wlan start</source>
 
 
 
Start a tmux for multiple windows
 
<code>tmux</code>
 
 
 
Start qcom_rmtfs on a terminal
 
  
<source>
+
== Installation ==
export LD_PRELOAD=/usr/lib/preload/libqipcrtr4msmipc.so
+
Install the [https://github.com/msm8916-mainline/lk2nd/releases/latest lk2nd bootloader], as it is required to handle some quirks
qcom_rmtfs -v
+
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
</source>
+
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:
  
Start ofonod on another terminal
+
[[File:Motorola-harpia_lk2nd_example.jpeg|x500px]]
  
<source>
+
After that, proceed with [[Installation_guide#Installation_and_flashing|installation]] as usual, using lk2nd's fastboot interface to flash the kernel and rootfs.
export LD_PRELOAD=/usr/lib/preload/libsmdpkt_wrapper.so
 
ofonod -d -n
 
</source>
 
  
Send an SMS!
+
== Usage ==
 +
=== Audio ===
 +
See [[Qualcomm_Snapdragon_410_(MSM8916)#Audio]].
  
<source>
+
=== Modem ===
export PHONE_NUMBER="<number to send sms to ex: 1234567890>"</code>
+
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
sudo dbus-send --print-reply --system --dest=org.ofono /gobi_0 org.ofono.Modem.SetProperty string:"Powered" variant:boolean:"true"
+
with the results of modem functionality testing.
sudo dbus-send --print-reply --system --dest=org.ofono /gobi_0 org.ofono.Modem.GetProperties
 
sudo dbus-send --print-reply --system --dest=org.ofono /gobi_0 org.ofono.Modem.SetProperty string:"Online" variant:boolean:"true"
 
sudo dbus-send --system --print-reply --dest=org.ofono /gobi_0 org.ofono.MessageManager.SendMessage string:"$PHONE_NUMBER" string:"Hello world! -postmarketOS"
 
</source>
 
  
Receive SMS like this (might be spammy if you have other DBus apps):
+
* '''XT1602:''' Modem working, can send and receive text messages. Can initiate and answer phone calls. Mobile data does not work.
<code>sudo dbus-monitor</code>
+
* '''XT1607:''' Modem working, can send text messages. Earpiece and Mic1 work with phone calls. Had to manually load RETUS_6.0.1 NON-HLOS firmware, will document and maybe package alternate firmware.
  
 
== 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
+
* {{Device package|motorola-harpia|community}}
* 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 11:58, 19 June 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 community
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
Works
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

  • ChexM1xstar (Notes: XT1601)
  • Sorixelle
  • Thejsa (Notes: 16GB/1GB XT1604; loaned to family)
  • Unrznbl (Notes: XT1607, fixed lk2nd with (this PR)[1], working on shelli-ui for gesture, power, sms/voice)


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.
  • XT1607: Modem working, can send text messages. Earpiece and Mic1 work with phone calls. Had to manually load RETUS_6.0.1 NON-HLOS firmware, will document and maybe package alternate firmware.

See also