Asus Zenwatch 2 – AsteroidOS
Mục Lục
Hardware Support
You can report any hardware support issue here. Use the label sparrow/wren
for issues specific to your watch.
The following list shows the state of the features of the sparrow
version of this watch.
good
Display
good
Touch
good
Bluetooth
good
Haptics
good
Tilt-to-Wake
good
Always-on-Display
good
Microphone
good
Speaker
good
USB
good
WLAN
The following list shows the state of the features of the wren
version of this watch.
good
Display
good
Touch
good
Bluetooth
good
Haptics
good
Tilt-to-Wake
good
Always-on-Display
good
Microphone
good
USB
good
WLAN
Model NumberModel NameCodename
WI501QAsus ZenWatch 2, 46mmsparrow
WI502QAsus ZenWatch 2, 41mmwren
Warning!
Make sure you use the correct Asus Zenwatch 2 image.
Sparrow
has a 320×320 1.63-inch screen, 22mm straps, a 380mAh battery and a speaker.Wren
has a 280×280 1.45-inch screen, 18mm straps and a 290mAh battery.
Prepare installation
Prerequisites
Your Watch is running
Wear OS
AsteroidOS
Show instructions for
Linux
Windows
Choose your variant
Download AsteroidOS for sparrow
Store the files in your “Downloads” folder so the later commands work
asteroid-image-sparrow.ext4
zImage-dtb-sparrow.fastboot
Store the files in your “Downloads” folder so the later commands work
Download AsteroidOS for wren
Store the files in your “Downloads” folder so the later commands work
asteroid-image-wren.ext4
zImage-dtb-wren.fastboot
Store the files in your “Downloads” folder so the later commands work
Install ADB & Fastboot
Debian / Ubuntu
sudo apt install android-tools-adb
android-tools-fastboot
Fedora / OpenSUSE / CentOS
sudo dnf install android-tools
Arch and derivatives
sudo pacman -Sy android-tools
Get the Google USB Driver ZIP
Download this zip file containing ADB & Fastboot from Android SDK
adb-1_0_39+fastboot+ext2simg.zip
Extract the content to a folder of your liking.
Navigate to that folder using the Windows commandline (cmd.exe).
Install the Google USB driverDownload this zip file containing ADB & Fastboot from Android SDKExtract the content to a folder of your liking.Navigate to that folder using the Windows commandline (cmd.exe).
Instructions
1. Unlock your bootloader
Note
Unlocking the bootloader may void your warranty.
The unlock process will trigger a factory reset of Wear OS. Backup any data you do not want to loose.
Installing AsteroidOS requires an unlocked bootloader.
Accessing the fastboot bootloader menu on your watch can be achieved either by using ADB in Wear OS or by manually stopping the boot process at the fastboot screen.
If you are familiar with the manual method to access the bootloader menu on your watch, you can
1.1 Enable ADB on your watch
1. Open the settings app
2. Open the System page
3. Open the About page
4. Tap the Build number 7 times to reveal Developer options
5. Open the Settings app again
6. Open the Developer options page
7. Enable ADB debugging
1.2 Reboot to fastboot bootloader mode
Enter the following ADB command in a terminal with your watch connected to USB.
adb reboot bootloader
1.3 Use fastboot to unlock the bootloader
With your watch now in fastboot mode, enter this command in a terminal to start the unlock procedure.
fastboot oem unlock
1.4 Follow the instructions on your watch’s screen
Please note again, this may void your warranty and will wipe your userdata.
Installing AsteroidOS requires an unlocked bootloader.Accessing the fastboot bootloader menu on your watch can be achieved either by using ADB in Wear OS or by manually stopping the boot process at the fastboot screen.If you are familiar with the manual method to access the bootloader menu on your watch, you can skip to step 1.3 . Those methods are explained on the useful commands page . To boot into fastboot menu from ADB within WearOS, follow steps 1.1 to 1.2.Enter the following ADB command in a terminal with your watch connected to USB. With your watch now in fastboot mode, enter this command in a terminal to start the unlock procedure.
1. Reboot into fastboot bootloader menu
If your watch can be booted into AsteroidOS, all of the below described methods work to access the fastboot menu on your watch.
In case AsteroidOS can not be booted successfully, use the manual method.
1.a Manual method
Long press the power button for up to 10 seconds until the watch reboots. Then quickly perform a key combination or sequence right when the watch powers on again, to stop the boot process at the fastboot screen. The specific key combination for your watch is explained on the
1.b Using ADB
Set ADB Mode in the USB page of the AsteroidOS Settings app.
Enter the following ADB command in a terminal with your watch connected to USB.
adb reboot bootloader
1.c Using SSH
Set SSH Mode in the USB page of the AsteroidOS Settings app.
Enter the following SSH command in a terminal with your watch connected to USB.
ssh [email protected] "reboot bootloader"
Setin thepage of the AsteroidOSapp.Enter the following SSH command in a terminal with your watch connected to USB.
If your watch can be booted into AsteroidOS, all of the below described methods work to access the fastboot menu on your watch.In case AsteroidOS can not be booted successfully, use the manual method.Long press the power button for up to 10 seconds until the watch reboots. Then quickly perform a key combination or sequence right when the watch powers on again, to stop the boot process at the fastboot screen. The specific key combination for your watch is explained on the useful commands page Setin thepage of the AsteroidOSapp.Enter the following ADB command in a terminal with your watch connected to USB.
2. Install and boot AsteroidOS
2.1 Choose your installation type
Temporary install
Try AsteroidOS as a dual-boot by sideloading the AsteroidOS system image and boot it only temporarily.
This a good way to try if AsteroidOS meets your requirements. Or in case you don’t plan to use AsteroidOS daily and intend to not permanently replace your previous OS.
The only differences compared to a real installation are very limited disk space and the necessity to manually boot AsteroidOS on every restart.
Real install
Replace WearOS definitively by flashing the system and boot image.
The real installation provides the best experience, but it is advised to make a
We highly recommend to first test if AsteroidOS meets the requirements of your usecase by performing the non invasive temporary installation before permanently replacing your previous OS.
Replace WearOS definitively by flashing the system and boot image.The real installation provides the best experience, but it is advised to make a backup of your previous OS first.We highly recommend to first test if AsteroidOS meets the requirements of your usecase by performing the non invasive temporary installation before permanently replacing your previous OS.
Note that in the instructions below, sparrow
is used as part of several file names. For wren
, simply substitute that name in each file name.
2.2 Real installation using Linux
While your watch is in fastboot bootloader mode, flash the userdata partition:
fastboot flash userdata ~/Downloads/asteroid-image-sparrow.ext4
fastboot flash boot ~/Downloads/zImage-dtb-sparrow.fastboot
fastboot continue
While your watch is in fastboot bootloader mode, flash the userdata partition:And the boot partition:Then continue the boot process:
2.2 Real installation using Windows
While your watch is in fastboot bootloader mode, flash the userdata partition:
fastboot flash userdata %systemdrive%%homepath%\Downloads\asteroid-image-sparrow.ext4
fastboot flash boot %systemdrive%%homepath%\Downloads\zImage-dtb-sparrow.fastboot
fastboot continue
While your watch is in fastboot bootloader mode, flash the userdata partition:And the boot partition:Then continue the boot process:
2.2 Temporary installation using Linux
Reboot to Wear OS, re-enable Developer options and ADB debugging like shown in steps 1.1.1 – 1.1.7.
Note, you can access the Wear OS settings app via long press of the power button already while the initial pairing screen is shown.
Push AsteroidOS to the internal sdcard:
adb push -p ~/Downloads/asteroid-image-sparrow.ext4 /sdcard/asteroidos.ext4
adb reboot bootloader
fastboot boot ~/Downloads/zImage-dtb-sparrow.fastboot
Reboot to Wear OS, re-enable Developer options and ADB debugging like shown in steps 1.1.1 – 1.1.7.Note, you can access the Wear OS settings app via long press of the power button already while the initial pairing screen is shown.Push AsteroidOS to the internal sdcard:Everytime you want to reboot into AsteroidOS from Wear OS, run:Then, while the watch is in fastboot bootloader mode:
2.2 Temporary installation using Windows
Reboot to Wear OS, re-enable Developer options and ADB debugging like shown in steps 1.1.1 – 1.1.7.
Note, you can access the Wear OS settings app via long press of the power button already while the initial pairing screen is shown.
Push AsteroidOS to the internal sdcard:
adb push -p %systemdrive%%homepath%\Downloads\asteroid-image-sparrow.ext4 /sdcard/asteroidos.ext4
adb reboot bootloader
fastboot boot %systemdrive%%homepath%\Downloads\zImage-dtb-sparrow.fastboot
Reboot to Wear OS, re-enable Developer options and ADB debugging like shown in steps 1.1.1 – 1.1.7.Note, you can access the Wear OS settings app via long press of the power button already while the initial pairing screen is shown.Push AsteroidOS to the internal sdcard:Everytime you want to reboot into AsteroidOS from Wear OS, run:Then, while the watch is in fastboot bootloader mode:
3. Enjoy your new OS!
Installation Troubleshooting
Boot problems
Bootloop of any kind or stuck boot process
Don’t panic. None of the commands we advised you to use can damage or brick your watch permanently.
You can always go back to the fastboot bootloader menu, by using the
-
Verify that you used the correct image files
Some devices like the Asus Zenwatch 2, the Fossil Gen4 models and the MTK6580 watches have more than one system image supplied, for different variants with slightly different hardware. Most watches have a graphical fastboot menu that shows the correct codename for the watch. Others need to be identified using the hardware differences noted above in the install section.
-
Clean your watch and charger contacts
Even in case the fastboot flash process succeeds with no errors, it can still silently fail due to connection problems caused by dirty contacts. Clean the pins and pads with isopropyl alcohol. Ideally using that old toothbrush you keep around for electronics cleaning or a microfiber cloth. Carefully sanding the contacts (e.g. with a nailfile) can help in case of obvious corrosion.
-
Ensure a stable USB connection
Put the watch and your computer on the same flat surface. Try to not move the cable connecting your computer and the watch during the whole flashing process. In case of worn or corroded contacts and pogo-pins that lost their springiness, it might be useful to attach the watch to its cradle or charging cable using duct tape or rubber bands.
-
Repeat the flash process
Some users have reported needing up to five flashing attempts for a successful result.
There is a small chance that the image files were corrupted during download. To guard against this, it’s recommended to verify the checksums. Download theSHA512SUMS
file (
sparrow
wren
) and verify the checksums withsha512sum --check SHA512SUMS
. The checksums for both files will be checked.
Boot gets stuck even after repeated reflash
Congratulations, you might have found a new issue for us to solve. While this should not happen with stable builds, the nightlies are advancing quickly, and are not tested on all watches. You are likely using a nightly build, as the installation pages currently link to those. You can try again and
To help us solve the problem, you could try to collect logs. It is possible that the watch does not show a UI but is already accessible using ssh [email protected]
or adb shell
in the state the boot process stops. In case SSH connection works, try the following commands to write logs to local .txt files.
ssh [email protected] "journalctl" > journal-watch.txt
ssh [email protected] "/system/bin/logcat" > logcat-watch.txt
or, if your watch presents an ADB interface, use the following commands:
adb shell journalctl > journal-watch.txt
adb shell "/system/bin/logcat" > logcat-watch.txt
In case no connection is available, it is still interesting to see if the watch leaves any traces in your local dmesg. Try to spot USB related messages in sudo dmesg -w
while the watch is connected and booting. Record the log using the sudo dmesg > dmesg-local.txt
command.
You can share those logs in a new
Watch only boots when powered via USB, but shuts off when booted while worn
This is a clear sign of a worn battery that will soon fail. Maybe you should replace it.
The boot process of AsteroidOS uses all cores of a watch to ensure a fast startup. This leads to power spikes during the boot process, which can completely shut down watches with worn out batteries. It has been observed that WearOS can still boot on watches with worn out batteries, but AsteroidOS cannot, depending on the progress of battery wear. However, AsteroidOS can usually still provide a useful 10-20 hours of uptime when the watch is worn once booted while powered up.
Batteries are relatively easy to replace on watches with screwed down backs. Glued back plates usually require creative solutions involving hair driers.
Watch successfully boots into the AsteroidOS user interface, but immediately reboots
This is a known behavior when the battery charge is very low. The watch usually recovers from this condition by simply boot cycling for some time. All watches also charge in fastboot or recovery mode. Letting the watch dwell on the fastboot or recovery menu screen for some time should fix the problem even faster.
Don’t panic. None of the commands we advised you to use can damage or brick your watch permanently.You can always go back to the fastboot bootloader menu, by using the manual finger combos for your watch Congratulations, you might have found a new issue for us to solve. While this should not happen with stable builds, the nightlies are advancing quickly, and are not tested on all watches. You are likely using a nightly build, as the installation pages currently link to those. You can try again and install a stable build when available To help us solve the problem, you could try to collect logs. It is possible that the watch does not show a UI but is already accessible usingorin the state the boot process stops. In case SSH connection works, try the following commands to write logs to local .txt files.or, if your watch presents an ADB interface, use the following commands:In case no connection is available, it is still interesting to see if the watch leaves any traces in your local dmesg. Try to spot USB related messages inwhile the watch is connected and booting. Record the log using thecommand.You can share those logs in a new Github issue tagged with the watch codename. For support chat, you are invited to join our Matrix channel This is a clear sign of a worn battery that will soon fail. Maybe you should replace it.The boot process of AsteroidOS uses all cores of a watch to ensure a fast startup. This leads to power spikes during the boot process, which can completely shut down watches with worn out batteries. It has been observed that WearOS can still boot on watches with worn out batteries, but AsteroidOS cannot, depending on the progress of battery wear. However, AsteroidOS can usually still provide a useful 10-20 hours of uptime when the watch is worn once booted while powered up.Batteries are relatively easy to replace on watches with screwed down backs. Glued back plates usually require creative solutions involving hair driers.This is a known behavior when the battery charge is very low. The watch usually recovers from this condition by simply boot cycling for some time. All watches also charge in fastboot or recovery mode. Letting the watch dwell on the fastboot or recovery menu screen for some time should fix the problem even faster.
Flashing problems
Watch is not detected and all fastboot commands fail
-
When using Linux,
try prepending
sudo
to the commands to execute them with root privileges. If that works, you are missing UDEV rules for Android devices that would allow your user to execute the commands. Many package managers provide theandroid-udev-rules
, which avoids the need to manually set up these UDEV rules. If the package is not available on your system, you can follow the instructions at the official android-udev-rules repository. -
On Windows systems,
this usually happens due to driver issues. If you have installed an Android USB driver other than the official Google USB driver that we link to in the installation fields above, please remove it. Then reinstall the Google USB driver or update it by installing a possibly newer version.
We find that the Linux fastboot drivers are more reliable. It is very easy to create a bootable live Linux USB stick, for example, following these instructions at askubuntu.com, and then follow the above Linux installation commands after booting the live Linux USB stick. -
USB 3.0 ports
have caused all kinds of random and hard to track problems for many projects using ADB and fastboot. If your ADB and fastboot still can’t connect after following the steps above, it might be worth switching to a USB 2.0 port. If your shiny new computer no longer has such a port, a cheap USB 2.0 HUB may help.
ADB connection works, but fastboot does not?
The fastboot oem unlock
command not working even though the watch could be booted into fastboot mode using adb reboot bootloader
is a known issue on windows systems. It is caused by using a watch manufacturer USB driver with missing fastboot support. Try removing that one and install the
Fastboot command crashes or hangs at “invalid sparse file format at header magi” (explicitly missing the “c” in magic)
This error occurs when using deprecated fastboot and ADB versions on Windows systems. If you already had adb.exe and fastboot.exe installed and skipped downloading our
Thecommand not working even though the watch could be booted into fastboot mode usingis a known issue on windows systems. It is caused by using a watch manufacturer USB driver with missing fastboot support. Try removing that one and install the offical Google USB driver we linked above in the install section.This error occurs when using deprecated fastboot and ADB versions on Windows systems. If you already had adb.exe and fastboot.exe installed and skipped downloading our supplied ZIP file , please install and try those commands instead. Another reliable source for updated windows ADB and fastboot versions is the official Google platform tools ZIP file
Fastboot command stops with error during the ~5 minute flashing process
Smartwatches are prone to lose a proper connection to their cradle over time due to sweat corroding the watch pins.
Clean the pins and pads with isopropyl alcohol and repeat the flashing process.
Try to ensure a stable USB connection by putting the watch and your computer on the same flat surface. Try to not move the cable connecting your computer and the watch during the whole flashing process. In case of worn or corroded contacts and pogo-pins that lost their springiness, it might be useful to attach the watch to its cradle or charging cable using duct tape or rubber bands.
Fastboot command displays “invalid sparse file format at header magic” when starting to flash the device
This is not a fatal error and can safely be ignored. Fastboot expects images to be in sparse format. When a raw image is supplied like in case of most of the AsteroidOS watches, fastboot converts it to sparse and shows above message.
Smartwatches are prone to lose a proper connection to their cradle over time due to sweat corroding the watch pins.Clean the pins and pads with isopropyl alcohol and repeat the flashing process.Try to ensure a stable USB connection by putting the watch and your computer on the same flat surface. Try to not move the cable connecting your computer and the watch during the whole flashing process. In case of worn or corroded contacts and pogo-pins that lost their springiness, it might be useful to attach the watch to its cradle or charging cable using duct tape or rubber bands.This is not a fatal error and can safely be ignored. Fastboot expects images to be in sparse format. When a raw image is supplied like in case of most of the AsteroidOS watches, fastboot converts it to sparse and shows above message.