Jump to content

Asus Zenfone 3 (asus-zenfone3): Difference between revisions

From postmarketOS Wiki
Uefa41 (talk | contribs)
Created page with "{{Infobox device | manufacturer = Asus | name = Asus Zenfone 3 | codename = asus-zenfone3 | image = File:zenfone3.jpg | imagecaption = Asus Zenfone 3 | releaseyear = 2016 | or..."
 
Tjari (talk | contribs)
Touchup
 
(13 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Infobox device
{{Infobox device
| manufacturer = Asus
| manufacturer = Asus
| name = Asus Zenfone 3
| name = Zenfone 3
| codename = asus-zenfone3
| codename = asus-zenfone3
| image = File:zenfone3.jpg
| image = File:zenfone3.jpg
| imagecaption = Asus Zenfone 3
| imagecaption = Asus Zenfone 3
| releaseyear = 2016
| releaseyear = 2016
| originalsoftware = Android 6.0.1
| originalsoftware = Android
| originalversion = 6.0.1
| extendedversion = 8.0.0
| chipset = Qualcomm Snapdragon 625 (MSM8953)
| chipset = Qualcomm Snapdragon 625 (MSM8953)
| cpu = Octa-core 2.0 GHz Cortex-A53
| cpu = Octa-core 2.0 GHz Cortex-A53
Line 14: Line 16:
| memory = 3 GB / 4 GB
| memory = 3 GB / 4 GB
| architecture = aarch64
| architecture = aarch64
| type = handset
<!-- Features -->
<!-- the following status_* questions should be answered with Y for yes, P for partial, N for no, - for N/A or unavailable, or left blank for untested or unknown -->
<!-- the following status_* questions should be answered with Y for yes, P for partial, N for no, - for N/A or unavailable, or left blank for untested or unknown -->
| status_usbnet = Y
| status_usbnet = Y
| status_flashing = Y
| status_flashing = Y <!-- Flashing with "pmbootstrap flasher" works? Put Y here. It works the same for everything coming below. -->
| status_touch = Y
| status_touch = Y
| status_screen = Y
| status_screen = Y
| status_wifi = <!-- Wireless network works? -->
| status_3d = Y
| status_xwayland = <!-- Showing X11 applications in a Wayland compositor (Weston, KWin, ...) works? -->
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? -->
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? -->
| status_mainline = <!-- Instead of a Linux kernel fork, it is possible to run mainline. -->
| status_emmc = Y
| status_battery = <!-- Charging the battery with charging-sdl is possible -->
| status_wifi = Y
| status_3d = <!-- Hardware accelerated 3D graphics (e.g. with freedreno) -->
| status_mainline = Y
| status_audio = <!-- Using the device's speakers/headphone jack works -->
| status_battery = Y
| status_bluetooth = <!-- It's possible to pair and use other devices via the bluetooth protocol -->
| status_audio = Y
| status_camera = <!-- Taking photos and videos works. -->
| status_bluetooth = Y
| status_gps = <!-- The Global Positioning System sensor works.  -->
| status_camera = N
| status_mobiledata = <!-- Connecting to the Internet via cellular network. -->
| status_gps = Y
| status_sms = <!-- Sending and receiving short messages works as intended. -->
| status_mobiledata = Y
| status_calls = <!-- Talking to other people over the cellular network. -->
| status_sms = Y
| status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" -->
| status_calls = P <!-- Talking to other people over the cellular network. -->
| status_otg = <!-- USB-OTG adapters work, e.g. to connect an USB flash drive to the device -->
| status_otg = <!-- USB-OTG adapters work, e.g. to connect an USB flash drive to the device -->
| status_nfc = <!-- Near-Field Communication (NFC) works -->
<!-- Sensors -->
| status_usba = <!-- Full-sized USB-A port works (Usually applicable to SBCs and laptops) -->
| status_accel = Y
| status_hdmidp = <!-- Video and audio output with HDMI or DisplayPort works -->
| status_magnet = Y
| status_keyboard = <!-- Keyboard works (Mark "-" if device doesn't have a keyboard) -->
| status_light = Y
| status_touchpad = <!-- Touchpad works (Usually applicable to laptops) -->
| status_proximity = Y
| status_irtx = <!-- Infrared (IR) port works -->
| status_hall = -
| status_trustzone = <!-- TrustZone works -->
| status_barometer = -
| status_accel = <!-- The sensor that measures proper acceleration works -->
| status_powersensor = -
| status_magnet = <!-- Magnetometer works -->
<!-- Misc -->
| status_light = <!-- Ambient light sensor works -->
| status_dvb = -
| status_proximity = <!-- Proximity sensor works -->
| status_cameraflash = N
| status_hall = <!-- Hall effect sensor works -->
| status_keyboard = -
| status_barometer = <!-- Barometer works -->
| status_touchpad = -
| status_powersensor = <!-- Power sensor works -->
| status_usba = -
| status_fossbootloader = <!-- Device has a free and open source bootloader -->
| status_sdcard = Y
| booting = no <!-- The device is booting at all, can be yes/no *IMPORTANT* -->
| status_hdmidp = -
| status_irtx = -
| status_irrx = -
| status_stylus = -
| status_haptics = N
| status_nfc = -
| status_ethernet = -
| status_fossbootloader = -
| booting = yes
}}


<!-- you can also use these lines if you need to:
There are two variants of the Zenfone 3, the ZE520KL and the ZE552KL, differing only in screen panels, batteries, and possibly some sensors unique to each variant. At the time of writing, only the ZE520KL has been tested, but the ZE552KL should also be able to boot mainline without major issues.
if the device haven't originally ran Android OS, e.g. Nokia N900
| n-android =  ✔
Version of the kernel that pmos is running
| pmoskernel = 3.x.x
see Unixbench page on wiki
| whet_dhry = 0.0
-->
}}


== Contributors ==
== Contributors ==
* [[User:Smankusors]]
* Uefa41
* Uefa41


Line 72: Line 77:


== How to enter flash mode ==
== How to enter flash mode ==
* '''Stock Fastboot:''' Press and hold {{button|Volume Up}} + {{button|Power}} together while device is turned off.
* '''lk2nd Fastboot:''' Turn on the device. When it vibrates, press and hold {{button|Volume Down}}.


== Installation ==
== Installation ==
<!-- add more sections below as necessary, e.g. WiFi, photos, ... -->
=== Unlock bootloader ===
Since Asus has shut down its unlock service, there’s no official way to unlock the Zenfone 3. However, an unofficial method exists:
# Flash factory RAW
# Execute <code>fastboot oem unlock</code>
# Execute <code>fastboot reboot bootloader</code>
# Flash Oreo RAW to restore Android
 
=== lk2nd Installation ===
Please make sure you have the <code>boot.img</code> from your current Android ROM, so that you can boot back into Android.
 
(A TWRP backup image might not work, since it would be too large to fit into the boot partition. Please use the original image instead of backup)
 
# Download lk2nd-msm8953.img from https://github.com/msm8916-mainline/lk2nd/releases
# Put the device to fastboot mode
# <code>fastboot flash boot lk2nd-msm8953.img</code>
# Done!
 
To boot Android back,
 
# Wait until lk2nd screen appears
# <code>fastboot flash boot boot.img</code>
# <code>fastboot reboot</code>
 
Now Android should boot like normal.
 
For more information about lk2nd, you can read [[lk2nd/lk1st]].
 
=== postmarketOS Installation ===
Make sure you flashed the lk2nd first!
 
This guide explains how to install postmarketOS on an SD card. I recommend using Linux for this, although Termux on another rooted phone might also work.
# [https://wiki.postmarketos.org/wiki/Pmbootstrap#Installation Install pmbootstrap]
# <code>pmbootstrap init</code>
# Follow the instructions, make sure you choose Vendor = Asus, and Device codename = zenfone3
# <code>pmbootstrap install --sdcard=[your sdcard location]</code>
# Insert the sdcard to the phone, reboot, and you should now boot into postmarketOS now.
 
For more information about pmbootstrap, you can read [[pmbootstrap]]
 
== Current issues ==
* Camera doesn't work yet
* Haptics/vibration doesn't work yet (missing driver support, probably will be supported from 6.12)
* No laser distance sensor yet
* No front LED control yet
* No fingerprint
* Buttons on headphone jack mapped incorrectly (need confirmation)
* Calls have a sound problem somehow, haven't dig deeper on this yet
* We have Venus video decode support on mainline kernel, but somehow there's a bottleneck somewhere on the players
* Battery will not charge to 100%
* Touchkeys is not working yet, it's missing support on <code>edt-ft5x06</code> driver
* Several sensors are not enabled yet (smankusors: I'm currently checking on this)
 
== Serial UART ==
To obtain bootloader logs on the ZE520KL variant, follow the test points shown in the image below. Note that the UART operates at 1.8V. For kernel version 3.18 (downstream Android kernel), set the console to <code>ttyHSL0</code>. For kernel version 4.9 and later, including mainline kernels, set the console to <code>ttyMSM0</code>.
 
[[File:Asus-zenfone3-serial.jpg|480px]]
 
For more information about serial debugging, please read [[Serial debugging]].


== See also ==
== See also ==
<!--
* {{MR|3731|pmaports}} Initial merge request (abandoned by Uefa41?)
Link to related GitLab issues or merge requests like the following (replace CHANGEME with the ID, e.g. 1234):
* {{MR|5711|pmaports}} Second merge request
* {{MR|CHANGEME|pmaports}} Initial merge request
* [https://github.com/msm8953-mainline/linux Kernel source]  
* {{issue|CHANGEME|pmaports}} Some related issue
* {{Device package|asus-zenfone3|testing}}
You can also add normal web links:
* {{Firmware package|asus-zenfone3|testing}}
* [https://redmine.replicant.us/projects/replicant/wiki/GalaxyS2I9100 Replicant wiki page]
* [https://wiki.lineageos.org/devices/zenfone3/ LineageOS wiki]
-->
<!--
If you manage to get your device packages merged, uncomment links below and change DEVICE_CODENAME with the actual one.
* {{Device package|DEVICE_CODENAME}}
* {{Kernel package|DEVICE_CODENAME}}
-->

Latest revision as of 08:13, 7 February 2025

Asus Zenfone 3
Asus Zenfone 3
Asus Zenfone 3
Manufacturer Asus
Name Zenfone 3
Codename asus-zenfone3
Released 2016
Type handset
Hardware
Chipset Qualcomm Snapdragon 625 (MSM8953)
CPU Octa-core 2.0 GHz Cortex-A53
GPU Adreno 506
Display 1080x1920 IPS LCD
Storage 32 GB / 64 GB
Memory 3 GB / 4 GB
Architecture aarch64
Software
Original software Android
Original version 6.0.1
Extended version 8.0.0
postmarketOS
Category testing
Pre-built images no
Mainline yes
Features
Flashing
Works
USB Networking
Works
Internal storage
Works
SD card
Works
Battery
Works
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Works
Camera
Broken
Camera Flash
Broken
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Works
Modem
Calls
Partial
SMS
Works
Mobile data
Works
Miscellaneous
FDE
No data
USB OTG
No data
Sensors
Accelerometer
Works
Magnetometer
Works
Ambient Light
Works
Proximity
Works
Haptics
Broken


There are two variants of the Zenfone 3, the ZE520KL and the ZE552KL, differing only in screen panels, batteries, and possibly some sensors unique to each variant. At the time of writing, only the ZE520KL has been tested, but the ZE552KL should also be able to boot mainline without major issues.

Contributors

Users owning this device

  • Smankusors (Notes: The ZE520KL variant)
  • Tjari (Notes: ZE520KL variant, has ghost touch issue)


How to enter flash mode

  • Stock Fastboot: Press and hold Volume Up + Power together while device is turned off.
  • lk2nd Fastboot: Turn on the device. When it vibrates, press and hold Volume Down.

Installation

Unlock bootloader

Since Asus has shut down its unlock service, there’s no official way to unlock the Zenfone 3. However, an unofficial method exists:

  1. Flash factory RAW
  2. Execute fastboot oem unlock
  3. Execute fastboot reboot bootloader
  4. Flash Oreo RAW to restore Android

lk2nd Installation

Please make sure you have the boot.img from your current Android ROM, so that you can boot back into Android.

(A TWRP backup image might not work, since it would be too large to fit into the boot partition. Please use the original image instead of backup)

  1. Download lk2nd-msm8953.img from https://github.com/msm8916-mainline/lk2nd/releases
  2. Put the device to fastboot mode
  3. fastboot flash boot lk2nd-msm8953.img
  4. Done!

To boot Android back,

  1. Wait until lk2nd screen appears
  2. fastboot flash boot boot.img
  3. fastboot reboot

Now Android should boot like normal.

For more information about lk2nd, you can read lk2nd/lk1st.

postmarketOS Installation

Make sure you flashed the lk2nd first!

This guide explains how to install postmarketOS on an SD card. I recommend using Linux for this, although Termux on another rooted phone might also work.

  1. Install pmbootstrap
  2. pmbootstrap init
  3. Follow the instructions, make sure you choose Vendor = Asus, and Device codename = zenfone3
  4. pmbootstrap install --sdcard=[your sdcard location]
  5. Insert the sdcard to the phone, reboot, and you should now boot into postmarketOS now.

For more information about pmbootstrap, you can read pmbootstrap

Current issues

  • Camera doesn't work yet
  • Haptics/vibration doesn't work yet (missing driver support, probably will be supported from 6.12)
  • No laser distance sensor yet
  • No front LED control yet
  • No fingerprint
  • Buttons on headphone jack mapped incorrectly (need confirmation)
  • Calls have a sound problem somehow, haven't dig deeper on this yet
  • We have Venus video decode support on mainline kernel, but somehow there's a bottleneck somewhere on the players
  • Battery will not charge to 100%
  • Touchkeys is not working yet, it's missing support on edt-ft5x06 driver
  • Several sensors are not enabled yet (smankusors: I'm currently checking on this)

Serial UART

To obtain bootloader logs on the ZE520KL variant, follow the test points shown in the image below. Note that the UART operates at 1.8V. For kernel version 3.18 (downstream Android kernel), set the console to ttyHSL0. For kernel version 4.9 and later, including mainline kernels, set the console to ttyMSM0.

For more information about serial debugging, please read Serial debugging.

See also