Jump to content

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

From postmarketOS Wiki
Uknown (talk | contribs)
Mainlining: update usb and battery status for potter on mainline
Uknown (talk | contribs)
m Mainlining: add info on gpu crashing
Line 94: Line 94:


:* requires proprietary firmware blobs, can be extracted from Android, or can be downloaded from firmware repositories
:* requires proprietary firmware blobs, can be extracted from Android, or can be downloaded from firmware repositories
:* Sometimes crashes on resume after suspend


* SSH and Telnet via USB  
* SSH and Telnet via USB  

Revision as of 15:27, 15 May 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
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

Mainlining

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 Only boots on XT1686, the Indian variant, with board_id = <0x46, 0x83a0>. Porting to other variants of potter should be trivial
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

What works:

  • Display
  • Only Boe panel works
  • Need test device for Tianma panel, along with way to select panel at boot
  • Using labibb regulator driver from mainline patchworks: 1239224
  • Brightness control works, but doesn't use the qcom-wled backlights, needs further investigation
  • GPU (DRM and FB)
  • requires proprietary firmware blobs, can be extracted from Android, or can be downloaded from firmware repositories
  • Sometimes crashes on resume after suspend
  • SSH and Telnet via USB
  • Sometime you might get stuck with no prompt, or a password prompt, or the connection may seem to lag. No fix has been found yet, but a temporary workaround is to run ping 172.16.42.1 in another terminal, while using ssh or telnet.
  • Adding trace_event=dwc3 tp_printk=1 to the kernel boot args seems to completely mitigate the issue
  • Touchscreen
  • Synaptics 3203B, works using mainline RMI4 driver
  • Uses a hack to keep gpio64 on, should be fixed
  • NFC
  • Not tested, but driver loads and binds correctly, so it might work
  • LEDs
  • Front charging LED works (Qualcomm ATC-LED)
  • Battery
  • Reports voltage, capacity, temperature, energy
  • Needs to deliver other data like current and battery details
  • Driver needs testing and cleaning up.
  • 2 different battery suppliers, need a way to probe and select

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

Links