[Zenfone 2 Laser General] sziraqui:
I have discovered multiple ways of downgrading ZenFone 2 Laser out of which two methods proved out to be easy and reliable. Both methods have been tested and are working.

Method 2 doesn't require root while method 1 needs root access.

Pre-requisite: Stock firmware zip file. You can find download links from index thread for all variants.

WHILE THIS GUIDE HAS VERY LESS CHANCES OF MESSING UP YOUR DEVICE, HUMAN ERROR CAN ANYWAY HARM THE DEVICE. I AM NOT RESPONSIBLE FOR ANYTHING YOU DO TO ANY DEVICE. YOU ARE DOING THIS AT YOUR OWN RISK

METHOD 1: Requires ROOT-

Short instruction:

Some users say you can downgrade by renaming the OTA zip to correspond to a higher version but that will NEVER work because the update script has this line

The recovery reads ro.buid.date.utc value from buid.prop. If the value is less than the value in updater-script (like the value highligted in above quote) any recovery will not flash it, neither stock nor custom. Just increaase the value of ro.build.date.utc (in build.prop) to any value higher than the value in updater-script and then flash the zip via recovery.

Detailed Instructions:

1. Open updater-script from the firmware zip. It will be found in /META-INF/com/google/android inside the .zip

2. look at the first line (!less_than_int(1457089250, getprop("ro.bui....

3. The value 1457089250 is taken as an example, your updater-script may have a different value. Keep a note of this value.

4. Install any root file manager like ES file explorer (if you dont have already)

5. Goto /system (the system folder) using the root file manager. Grant root access if prompted

6. Open buid.prop file as text and look for the line "ro.build.date.utc=1446585430"

1446585430 is taken as example, your phone will have a different value.

7. Now increase this value in build.prop to any number greater than the value you noted from updater-script

for example, if my updater-script has 1457089250 this value and buil.prop has 1446585430 this value, I will simply change the value in build.prop to 1546585430 or 1448585430 or 1457089251. Any number greater than 1457089250 will work in my case.

8. Now reboot to recovery (vol down + power)

9. Select "apply update from external sd card" select your firmware zip file, and then select yes to flash. It will take 5-10 min

10. (optional but recommended) Wipe factory/data . If you don't do this, you will see the annoying "Android is upgrading.." screen which takes around 30-40 mins to reach home screen.

Method 2: Without root, requires computer

Short instructions:

As I mentioned earlier, recovery reads "ro.build.date.utc" But you can bypass this check by erasing system partition.

Just do

fastboot erase system

from fastboot mode and then flash the zip from recovery

Detailed Instructions:

1. Install Asus drivers to your computer. (link in index thread)

2. Download adb_fastboot.zip and extract its contents

3. Reboot your phone to 'bootloader mode'. To do this turn of your phone completely. Hold "volume down Up" button and then press and hold power button. Release power button after Asus logo appears and then release volume down button. Your phone is now in bootloader mode.

4. Connect your phone to pc via a reliable usb cable. Look at your phone screen. It should display "Fastboot mode!"

5. Now go to the folder where you have extracted all the files. Holding down shift key, Right click on any point on white screen. Then click on 'open command window here' from the menu that appears. Command Prompt will open now

6. On command prompt type

fastboot devices

and hit enter

and check if it is detecting your device.

7. Then type

fastboot erase system

(this will erase your current OS, you are warned!)

8. After it is done type

fastboot oem reboot-recovery

to boot into recovery mode

9. Select "apply update from external sd card" select your firmware zip file, and then select yes to flash. It will take 5-10 min

10. (optional but recommended) Wipe factory/data . If you don't do this, you will see the annoying "Android is upgrading.." screen which takes around 30-40 mins to reach home screen.