Before you start:
- Read the guide carefully.
- Follow step by step top to bottom.
- This guide understands user has previous knowledge and may only provide necessary steps.
- This guide is based on windows, but general flashing instructions are same.
- Remember flashing carries risk and this guide or maker won't be liable for damage or mishap happened.
It is simply put a mechanism to prevent flashing old firmware.
Respective to G54:
-
Pre-ARB: Before May A14 update → can downgrade only till A13
- Do NOT relock bootloader on A13
- It is not recommended to lock, but can be used while unlocked
-
ARB: Post A14 May update:
- Supports A14 May → A15+
- Do NOT flash below allowed ARB level or device will hardbrick
Respective to G64:
-
Pre-ARB: Before May A14 update
- Do NOT attempt to flash A13, as it didn't ship with fw below A14 like G54
- Anything below A14 may will work if pre-arb
-
ARB: Post A14 May update:
- Supports A14 May → A15+
- Do NOT flash below allowed ARB level or device will hardbrick
-
Check ARB for Cancunf devices
-
Run:
fastboot getvar version-bootloader -
Output as example:
- version-bootloader[0]: MBM-3.1-cancunf_g_vext-ab328de212-24 - version-bootloader[1]: 1234-U1TDS34.94-12-7-2-a1234b -
If number between
U1TDS34.94-12-7->U1TDS34.94-12-7-2:- Pre-ARB
-
If
U1TDS34.94-12-7-5,V1TD35H.83_20_5or above it:- ARB
- Platform tools must be extracted inside ROM folder or set in environment PATH
- Downloaded ROM to be flashed should be 1–2 OTA builds behind the target version you want to be on in stock, since the final upgrade to that version will be done via OTA rather than direct flashing.
- Example: Target to be on stock:
U1TDS34.94-12-9-10-2last ARB update for A14. So, useU1TDS34.94-12-9-10orU1TDS34.94-12-7-7to flash - It is recommended, But fine if you can't find 1-2 OTA older builds. Just ensure you meet this slot requirment before lock.
- If the requirement is not met and the active slot is B, re-flash the same build and follow the steps below once more to ensure the device boots from slot A.
- Remember it has to be always under ARB rules
- Example: Target to be on stock:
- Downloaded ROM to be flashed should be 1–2 OTA builds behind the target version you want to be on in stock, since the final upgrade to that version will be done via OTA rather than direct flashing.
- Use appropriate flash file for flashing from release: Link
- Install drivers if needed: Motorola Official Drivers
- Stock ROM downloaded on PC
- Flash files added inside Extracted ROM folder
- Ensure Usb Debugging enabled in devloper option
- Motorola Official drivers installed
- Platform tools extracted in ROM folder or set in system PATH
- Ensure Device is detected in bootloader mode
-
Extract stock ROM on PC and place flash file inside it
-
Ensure device is connected and detected in bootloader
- If not detected, install motorola drivers and restart pc
-
Flash using correct
flash_file.bat:- A13 → use A13 flash_file-A13
- A14 → use A14 flash_file-A14
- A15 → use A15 flash_file-A15
-
Match ROM version with correct ARB level
-
Be inside ROM folder and check device connected
-
Double click on
flash_file.batto start flashing- You can mannualy flash files with fastboot too
-
After flashing done
- Navigate in bootloder
- select Reboot to Recovery
- Click Power Button to confirm
-
Booted into stock recovery
-
If dead Android screen appears:
- Hold Power + tap Volume Up once
- It will boot you to true recovery
-
In true recovery:
- Navigate with volume keys
- Select Wipe/Format Data → Yes
-
Reboot to system
-
Should be now succesfully booted
- Complete setup with minimal internet
- Turn off Smart Updates in toggle during setup
- Disconnect internet after setup
- Turn on devloper option
- Enable USB Debugging
- Ensure OEM Unlocking should be ON and greyed out
-
Boot to bootloader on stock
-
Check current slot, Run:
fastboot getvar current-slot -
Output if:
current-slot: b- Power on device and do OTA to make current-slot: a
- Then after proceed to locking
-
Output if:
current-slot: a- Proceed to lock
-
To lock, Run:
fastboot oem lock -
In Phone Screen select lock/yes
-
After lock done, From bootloder boot into recovery
-
Wipe data again
-
Reboot to system
- Press Power button from that screen to Power Off
- Boot to bootloader
- Re-flash same stock ROM using flash_file
- If you get pre-flash validation failed, reboot to bootloader again and try again
- If still same, flash a newer build than current rom
- Ensure correct ARB rules
- Reboot to system (skip wipe this time)
- Skip setup as much as possible
- Go back to bootloader → recovery → wipe data
- Reboot normally
- Complete setup
- Go to Developer Options
- OEM Unlocking can now be disabled
- Disable oem unlocking and reboot
- Enjoy Device is now locked
- To fill both slots do OTA once
- If you did before for locking bootloder, Then skip
SPDX-License-Identifier: MIT
MIT License
Copyright (c) 2026 Noname Blank <nonameblank007@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
Read Full LIcense: Link
- Thanks Arpit Jaiswal for helping with flash instructions and providing flash files
