Jump to content

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

From postmarketOS Wiki
m update current issues
Tjari (talk | contribs)
Touchup
 
(One intermediate revision by one other user not shown)
Line 8: Line 8:
| originalsoftware = Android
| originalsoftware = Android
| originalversion = 6.0.1
| 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 19: Line 20:
<!-- 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 = <!-- Flashing with "pmbootstrap flasher" works? Put Y here. It works the same for everything coming below. -->
| 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
Line 34: Line 35:
| status_mobiledata = Y
| status_mobiledata = Y
| status_sms = Y
| status_sms = Y
| status_calls = <!-- Talking to other people over the cellular network. -->
| 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 -->
<!-- Sensors -->
<!-- Sensors -->
Line 56: Line 57:
| status_stylus = -
| status_stylus = -
| status_haptics = N
| status_haptics = N
| status_nfc = -
| status_ethernet = -
| status_ethernet = -
| status_fossbootloader = -
| status_fossbootloader = -
| booting = yes <!-- The device is booting at all, can be yes/no *IMPORTANT* -->
| booting = yes
| status = <!-- Text displayed in the "not booting" table on the Devices page , e.g "kernel compiles, doesn't boot" -->
}}
}}


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 the mainline without major issues.
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 ==
== Contributors ==
Line 75: Line 76:
<!-- you can use {{My devices}} on your profile page to show table with all your devices -->
<!-- you can use {{My devices}} on your profile page to show table with all your devices -->


== How to enter stock fastboot ==
== How to enter flash mode ==
Press and hold power button and volume up together
* '''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}}.


== Unlock bootloader ==
== Installation ==
Since Asus has shut down its unlock server, there’s no official way to unlock the Zenfone 3. However, an unofficial method exists:
=== 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
# Flash factory RAW
# Execute <code>fastboot oem unlock</code>
# Execute <code>fastboot oem unlock</code>
# Execute <code>fastboot rebot bootloader</code>
# Execute <code>fastboot reboot bootloader</code>
# Flash Oreo RAW to restore Android
# Flash Oreo RAW to restore Android


(smankusors: I haven’t tried this method yet since I used the official way when it was still available.)
=== 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.


== lk2nd Installation ==
(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)
Please make sure you have the boot.img from your current Android ROM, so that you can boot back into Android.
 
(I don't think the backup image will 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
# Download lk2nd-msm8953.img from https://github.com/msm8916-mainline/lk2nd/releases
Line 103: Line 104:
# <code>fastboot reboot</code>
# <code>fastboot reboot</code>


Now the Android should boot like normal.
Now Android should boot like normal.


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


== PostmarketOS Installation ==
=== postmarketOS Installation ===
Make sure you flashed the lk2nd first!
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.
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]
# [https://wiki.postmarketos.org/wiki/Pmbootstrap#Installation Install pmbootstrap]
# <code>pmbootstrap init</code>
# <code>pmbootstrap init</code>
# Follow the instructions, make sure you choose Vendor = Asus, and Device codename = zenfone3
# Follow the instructions, make sure you choose Vendor = Asus, and Device codename = zenfone3
# <code>pmbootstrap install --sdcard=[your sdcard location]</code>
# <code>pmbootstrap install --sdcard=[your sdcard location]</code>
# Insert the sdcard to the phone, reboot, and you should now boot into PostmarketOS now.
# Insert the sdcard to the phone, reboot, and you should now boot into postmarketOS now.


For more information about pmbootstrap, you can read [[pmbootstrap]]
For more information about pmbootstrap, you can read [[pmbootstrap]]
Line 123: Line 124:
* Haptics/vibration doesn't work yet (missing driver support, probably will be supported from 6.12)
* Haptics/vibration doesn't work yet (missing driver support, probably will be supported from 6.12)
* No laser distance sensor yet
* No laser distance sensor yet
* No front led control yet
* No front LED control yet
* No fingerprint
* No fingerprint
* Buttons on headphone jack mapped incorrectly (need confirmation)
* Buttons on headphone jack mapped incorrectly (need confirmation)
Line 130: Line 131:
* Battery will not charge to 100%
* Battery will not charge to 100%
* Touchkeys is not working yet, it's missing support on <code>edt-ft5x06</code> driver
* Touchkeys is not working yet, it's missing support on <code>edt-ft5x06</code> driver
* Several sensors is not enabled yet (smankusors: I'm currently checking on this)
* Several sensors are not enabled yet (smankusors: I'm currently checking on this)


== Serial UART ==
== 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, set the console to <code>ttyHSL0</code>. For kernel version 4.9 and later, including mainline kernels, set the console to <code>ttyMSM0</code>.
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]]
[[File:Asus-zenfone3-serial.jpg|480px]]

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