Jump to content

Motorola Moto G4 (motorola-athene)

From postmarketOS Wiki
Revision as of 22:27, 4 May 2022 by S0p0st (talk | contribs) (Hardware details: add cpu tuning subsection, ubench table)
Motorola Moto G4
Moto G4
Moto G4
Manufacturer Motorola
Name Moto G4
Codename motorola-athene
Released 2016
Hardware
Chipset Qualcomm MSM8952 Snapdragon 617
CPU Octa-core 1.5 GHz Cortex-A53
GPU Adreno 405
Display 1080 x 1920
Storage 16/32 GB
Memory 2/3 GB
Architecture aarch64
Software
Original software Android 6.0.1
postmarketOS
Category testing
Pre-built images no
postmarketOS kernel 3.10.108
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


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 comparison, results from test_sensors on obsolete sailfishOS version 3.0.0.8 running kernel 3.10.84:

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:

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

This change does not persist across reboots.

ubench results

Photos

|

See also