Motorola Moto G5 Plus (motorola-potter)

= Contributors =
* chin123
* uknown
* Kreastr
= Maintainer(s) =
* uknown
= Bootloader Unlocking =
Motorola provides online tool and instructions on how to get bootloader unlock key: https://motorola-global-portal.custhelp.com/app/standalone/bootloader/unlock-your-device-c Make sure you use your real e-mail as you will get your unlock key there.
The tool sometimes fails for unknown reason even when it should provide the key. You can check the list of eligible CIDs and extra information on the process in this forum https://forums.lenovo.com/t5/MOTOROLA-Android-Developer-Community/Bootloader-Unlock-Problems/m-p/3222809?page=1 If you should be eligible but the tool reports otherwise post a message in that thread to get support. Alternatively you can just wait for 12-72 hours and try again. The tool might work at differen moment of time. Also if many people have posted about failure to unlock recently the chances are high that it is the tool's backend.
= How to enter flash mode =
* Power + Volume Down buttons
= Installation =
But first, review mainline notes and warnings below.
# Build and install lk2nd.
# Boot into the lk2nd Fastboot mode.
# Flash the root fs and boot into the kernel:
$ pmbootstrap flasher flash_rootfs
$ pmbootstrap flasher boot
= Photos =
= Device status with the mainline-ish kernel =
variant mainline USB compatibility (INCOMPLETE!)
SKU (XT)	region	safe mainline USB config?	How to verify pre-install?
1684 	EMEA? 	? 	?
1685 	APAC? 	apparently? 	?
1686 	India 	yes 	board_id?
1687 	NA 	? 	?
SKU/region is guessed from fastboot oem hw radio entries (1687) or other information on this page (1686). See also USB below.
How to verify USB config on-device? Fast vs slow charging? Charging current? Charging power? fastboot oem off-mode-charge?
== 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 also works as expected
== 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. 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. There is a WIP charger driver that supports OTG and other basic charging.
== 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 doesn't work, as the temporary driver was dropped. It has 4 states: off, blink slow, blink fast, on. Its a Qualcomm ATC LED, so adding support for it should be easy.
== WiFi ==
Works as expected, can connect to 2.4GHz and 5GHz 802.11n networks.
== 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 ==
The modem needs special firmware from /persist that is unique to each device, along with a patched tqftpserv. Follow the instructions User:TravMurav/Dual-Sim_QMI_draft to get the modem fully "ready". Experimental patches for IPA v2 on mainline exist, using those allows the modem to make/receive calls and send/receive SMS. Without IPA, the modem will crash and complain about missing IPA. Also, neither stock ofono nor ModemManager support QRTR based modems. An MR has been made for ModemManager, for ofono look at the MSM8953 status page on this wiki.
=== Modem boot process ===
The modem needs some data to be written to SMEM, lk2nd currently handles this. Following that, the modem is booted up by the kernel. Then the modem connects via QRTR to rmtfs and tqftpserv. It downloads the modem firmware from rmtfs. It makes TFTP requests for other files, which are handled via tqftpserv. The tqftserv files are where it derives the IMEI and other important data from. Following this, the modem application ID must be set (as it is a dual sim phone). Once that is done, the modem attempts to communicate with the IPA driver via QMI. After communicating with the IPA service, the modem is then "ready". It can be used with ofono or ModemManager.
== 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
== Hardware / sensors detail ==
For reference, sensor information from sensors sandbox (f-droid) on SKU xt1687; note: approximately 20 software-based / derived sensors omitted.
sensor details (sensorssandbox)
name 	vendor 	version	type
3-axis Accelerometer 	Bosch 	1 	1
3-axis Gyroscope 	Bosch 	1 	4
Ambient Light 	TAOS 	1 	5
Proximity 	TAOS 	1 	8
3-axis Magnetic field	Asahi Kasei	1 	2
Orientation 	Asahi Kasei	1 	3
== See also ==
* GSM Arena specifications page
* TWRP Recovery