Jump to content

Motorola Moto G4 (motorola-athene)

From postmarketOS Wiki
Motorola Moto G4
Moto G4
Moto G4
Manufacturer Motorola
Name Moto G4
Codename motorola-athene
Released 2016
Type handset
Hardware
Chipset Qualcomm Snapdragon 617 (MSM8952)
CPU 4x 1.6 GHz + 4x 1.2 GHz Cortex-A53
GPU Adreno 405
Display 1080 x 1920
Storage 16/32 GB
Memory 2/3 GB
Architecture aarch64
Software
Original software Android
Original version 6.0.1
postmarketOS
Category testing
Pre-built images no
postmarketOS kernel 3.10.108
Unixbench Whet/Dhry score 2621.7
Features
Flashing
Partial
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
Works
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
No data
Audio
Broken
Camera
No data
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
No data
GPS
No data
NFC
No data
Modem
Calls
No data
SMS
No data
Mobile data
No data
Miscellaneous
FDE
No data
USB OTG
No data
HDMI/DP
No data
Sensors
Accelerometer
No data
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data


Contributors

  • fengjiongmax
  • thejsa

Users owning this device


Models/Variants

According to Wikipedia, the G4 (SKU xt162x) and G4 Plus (xt164x) differ only trivially (memory, storage or peripherals/sensors [camera resolution, fingerprint reader]).

How to enter flash mode

  • Power + Volume Down buttons

Installation

$ pmbootstrap flasher flash_rootfs
$ pmbootstrap flasher boot

Problems

  • Firmware issues
  • kernel partition can't be flashed because the boot partition is not big enough
  • Loading the adsp subsystem works momentarily before crashing the device
  • Loading the modem subsystem works momentaily before crashing the device

Firmware issues

Log from dmesg:

[   68.992082] subsys-pil-tz 1de0000.qcom,venus: venus: Failed to locate venus.mdt
[   68.992096] msm_vidc:  err: Failed to download firmware
[   68.992976] msm_vidc:  err: Failed to load video firmware
[   68.993000] msm_vidc:  err: msm_comm_init_core - firmware loading failed
[   68.993007] msm_vidc:  err: Failed to move from state: 1 to 2
[   68.993012] msm_vidc:  err: Failed to move video instance to init state
[   68.993080] msm_vidc:  err: Failed to create video instance, core: 0, type = 0

Hardware details

hwtest output for SKU xt1625

For comparison, results from test_sensors for SKU xt1625 on obsolete sailfishOS version 3.0.0.8 running kernel 3.10.84:

test_sensors output for SKU xt1625

CPU tuning

For unknown reasons, the default configuration boots only 5 cpus, boot_cpus=0,4,5,6,7. This boots only one of the 1.65 GHz cores, and the four 1.21 GHz cores. This can be shown via cpufreq-info (package cpufrequtils), or htop. The default governor is battery-draining "performance".

To utilize all cores, extract and edit (or update) bootimg.cfg from boot.img to use boot_cpus=0-7. Boot the new image via fastboot boot boot.img. Alternatively, edit deviceinfo and repeat pmbootstrap install. This configuration will boot the 4x 1.65 GHz cores as cpus 0-3 and the 4x 1.21 GHz cores as cpus 4-7.

The governor for each quad is assigned separately:

# cpufreq-set -c 0 -r -g ondemand
# cpufreq-set -c 4 -r -g ondemand

This change does not persist across reboots.

ubench results

Photos

|

See also