Jump to content

Motorola Moto G5 Plus (motorola-potter): Difference between revisions

From postmarketOS Wiki
Uknown (talk | contribs)
Mainlining: update potter's mainline status
Uknown (talk | contribs)
Completely rewrite device status on mainline kernel
Line 71: Line 71:
</source>
</source>


== Mainlining ==
= Device status with the mainline-ish kernel =
 
Mainlining is in the early stages, based on Junak's msm8953 kernel. Source for the kernel is available here:
 
https://github.com/scarface-one/linux-msm8953


{{note|1=Only tested on XT1686, the Indian variant, with <code>board_id = <0x46, 0x83a0></code>. It should work on other devices, but may not.}}
{{note|1=Only tested on XT1686, the Indian variant, with <code>board_id = <0x46, 0x83a0></code>. It should work on other devices, but may not.}}
{{note|1=Some variants have a slightly different USB config, that isn't set up on mainline. Using mainline on those devices is dangerous, please don't use it unless you know what you're doing.}}
{{note|1=Some variants have a slightly different USB config, that isn't set up on mainline. Using mainline on those devices is dangerous, please don't use it unless you know what you're doing.}}
{{note|1=Lk2nd is a hard dependency, without it the mainline kernel will not boot. You can get lk2nd for potter from here: https://github.com/scarface-one/lk2nd . Use branch <code>la.um.6.6.r1-V2</code> .}}
{{note|1=Lk2nd is a hard dependency, without it the mainline kernel will not boot. You can get lk2nd for potter from here: https://github.com/scarface-one/lk2nd Use branch <code>la.um.6.6.r1-V2</code>.}}
 
What works:
 
* Display


:* Only Boe panel is tested
== Display ==


:* Need test device for Tianma panel
There are two panel supliers: Boe and Tianma. The panel will be selected at boot via lk2nd, based on the cmdline from the bootloader.


:* Panel is selected at boot by lk2nd, based on the cmdline from stock bootloader
=== Boe ===


* GPU (DRM and FB)
The Boe panel works as expected, with colours and backlight controls


:* requires proprietary firmware blobs, can be extracted from Android, or can be downloaded from firmware repositories
=== Tianma ===


:* Preemption doesn't work (see msm8953 status)
The Tianma panel is not supported, but adding support is trivial. The primary blocker is a lack of test devices.


* SSH and Telnet via USB
== Storage ==


:* Low power mode on USB doesn't work, but apparently never worked on any kernel ever on msm8953 devices.
=== Internal Storage ===


:* USB used to be slow and ssh/telnet were unresponsive, until lpm was disabled.
Works as expected.


* Touchscreen
=== SD Card ===


:* Synaptics 3203B, works using mainline RMI4 driver
Works, but card detection is broken.


* NFC
== GPU ==


:* Driver probes and binds, but the h/w doesn't seem to respond
Works, but preemption is broken. See msm8953 status.


* LEDs
== Touchscreen ==


:* Front charging LED works (Qualcomm ATC-LED)
Synaptics 3203B. Works as expected.


* Battery (qcom-fg/qpnp-fg)
== USB ==


:* Reports voltage, capacity, temperature, current, battery data and energy
ssh and telnet work, however OTG is currently broken (needs the charger to be enabled). Low power mode does not work (broken on downstream too). Until low power mode was disabled, ssh and telnet were unusable, failing to send data properly.


* Wifi
== Battery ==


:* Only 2.4GHz works, mainline wcnss driver has a bug that prevents 5GHz networks from appearing
Reporting is done via the qcom-fg driver. However the charger has not been ported yet, so charging does not work.


* Bluetooth
== NFC ==


:* Works but needs pulseaudio-bluez, bluez-alsa and bluez-hcd2hci to be installed
NXP PN548. It is very similar to the already mainlined PN544, it just needs 2 extra clocks. However, enabling those clocks causes a hang.


* Storage
== LEDs ==


:* MMC works as expected
the front charging LED works with the atc-led driver (4 states, controlled via brightness: off, blink slow, blink fast, on)


:* SD Card works, but some (minor) issue with cd-gpios needs to be fixed for proper card detection. Otherwise works as expected.
== WiFi ==


* Modem
Only 2.4GHz works, upstream driver issue.


:* Boots
== Bluetooth ==


:* Requires lk2nd to insert MMI_UNIT_INFO stuff into SMD
Works, uses the same WiFi controller. Userspace may need additional tools installed to see the device. Also, the device doesn't power on by default, it must be manually powered on via <code>bluetoothctl</code>


:* Requires patched tqftpserv to properly download binaries
== Modem ==


:* Requires extra binaries from /persist. These binaries are unique to each device, and can not be shared
Modem boots and connects to ofono (using the ofono qrtr fork). Nothing works yet, because it relies on IPA, which has not yet been enabled on mainline.


* Audio
Modem needs special firmware from /persist that is unique to each device, along with a patched tqftpserv that handles options on WRQs.


:* Routed via ADSP, needs firmware blobs
== Audio ==


:* Speaker, earpiece and headphones all work.
Uses ADSP + speaker. Works as expected with ucm from the msm8916 alsa-ucm fork. There is however a mild hiss on headphones when no audio is playing.


:* Hiss/Popping with headphones when no audio is playing


Anything that isn't listed above can be assumed to not work.
Anything that isn't listed above can be assumed to not work.

Revision as of 13:10, 21 November 2020

Motorola Moto G5 Plus
Moto G5 Plus
Moto G5 Plus
Manufacturer Motorola
Name Moto G5 Plus
Codename motorola-potter
Released 2017
Hardware
Chipset Qualcomm MSM8953 Snapdragon 625
CPU Octa-core 2.0 GHz Cortex-A53
GPU Adreno 506
Display 1080 x 1920 IPS LCD
Storage 32/64 GB
Memory 2/4 GB
Architecture aarch64
Software
Original software Android 7.0 Nougat
postmarketOS
Category testing
Pre-built images no
Mainline no
Unixbench Whet/Dhry score 3690.3
Features
Flashing
Partial
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
Broken
Screen
Works
Touchscreen
Broken
Multimedia
3D Acceleration
Broken
Audio
Broken
Camera
No data
Camera Flash
No data
Connectivity
WiFi
Broken
Bluetooth
Broken
GPS
Broken
NFC
No data
Modem
Calls
Broken
SMS
Broken
Mobile data
Broken
Miscellaneous
FDE
Broken
USB OTG
No data
HDMI/DP
No data
Sensors
Accelerometer
Broken
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data


Contributors

  • chin123
  • uknown

Maintainer(s)

  • chin123
  • uknown

How to enter flash mode

  • Power + Volume Down buttons

Installation

$ pmbootstrap flasher flash_rootfs
$ pmbootstrap flasher boot

Photos

Notes

  • The flashlight can be switched on with:
$ echo 1 > /sys/class/leds/led\:switch/brightness

and it can be switched off with:

$ echo 0 > /sys/class/leds/led\:switch/brightness
  • The charging LED can be switched on similarly, simply substitute `led\:switch` with `charging`. The charging LED will only blink as of now.
  • You can change the screen brightness with:
$ echo $brightness > /sys/class/leds/led\:switch/brightness

Device status with the mainline-ish kernel

Note Only tested on XT1686, the Indian variant, with board_id = <0x46, 0x83a0>. It should work on other devices, but may not.
Note Some variants have a slightly different USB config, that isn't set up on mainline. Using mainline on those devices is dangerous, please don't use it unless you know what you're doing.
Note Lk2nd is a hard dependency, without it the mainline kernel will not boot. You can get lk2nd for potter from here: https://github.com/scarface-one/lk2nd Use branch la.um.6.6.r1-V2.

Display

There are two panel supliers: Boe and Tianma. The panel will be selected at boot via lk2nd, based on the cmdline from the bootloader.

Boe

The Boe panel works as expected, with colours and backlight controls

Tianma

The Tianma panel is not supported, but adding support is trivial. The primary blocker is a lack of test devices.

Storage

Internal Storage

Works as expected.

SD Card

Works, but card detection is broken.

GPU

Works, but preemption is broken. See msm8953 status.

Touchscreen

Synaptics 3203B. Works as expected.

USB

ssh and telnet work, however OTG is currently broken (needs the charger to be enabled). Low power mode does not work (broken on downstream too). Until low power mode was disabled, ssh and telnet were unusable, failing to send data properly.

Battery

Reporting is done via the qcom-fg driver. However the charger has not been ported yet, so charging does not work.

NFC

NXP PN548. It is very similar to the already mainlined PN544, it just needs 2 extra clocks. However, enabling those clocks causes a hang.

LEDs

the front charging LED works with the atc-led driver (4 states, controlled via brightness: off, blink slow, blink fast, on)

WiFi

Only 2.4GHz works, upstream driver issue.

Bluetooth

Works, uses the same WiFi controller. Userspace may need additional tools installed to see the device. Also, the device doesn't power on by default, it must be manually powered on via bluetoothctl

Modem

Modem boots and connects to ofono (using the ofono qrtr fork). Nothing works yet, because it relies on IPA, which has not yet been enabled on mainline.

Modem needs special firmware from /persist that is unique to each device, along with a patched tqftpserv that handles options on WRQs.

Audio

Uses ADSP + speaker. Works as expected with ucm from the msm8916 alsa-ucm fork. There is however a mild hiss on headphones when no audio is playing.


Anything that isn't listed above can be assumed to not work.

See also: MSM8953 mainlining status

Links