OnePlus Watch 2 (oneplus-opwwe231)

From postmarketOS Wiki
OnePlus Watch 2
Manufacturer OnePlus
Name Watch 2
Codename oneplus-opwwe231
Released 2024
Type watch
Hardware
Chipset Qualcomm Snapdragon W5 Gen 1 (SW5100)
CPU Quad-core (4x Cortex-A53 1.7 GHz)
GPU Adreno 702 (1000 MHz)
Display 1.43" 466x466 circular AMOLED
Storage 32 GB eMMC
Memory 2 GB LPDDR4 2133 MHz
Architecture aarch64
Software
Original software Wear OS
Original version 4 (Android 13 based)
postmarketOS
Category testing
Pre-built images no
postmarketOS kernel 5.15
This device is marked as not booting.
Status: pmOS port hasn't been attempted yet, bootimg header v4 (GKI 2.0)
This device is based on the Snapdragon W5 Gen 1.
See the SoC page for common tips, guides and troubleshooting steps

Bootloader unlock

To begin using the device you unfortunately need to set it up through the OHealth app on a full fat Android 8+ device over Bluetooth. The charging base and the pogo pins on the watch back side are USB data transfer enabled. For the rest follow https://twitter.com/MishaalRahman/status/1762141667086205000 if you're not familiar with the usual Android process.

How to enter flash mode

This is the biggest mystery with the device so far. Only e.g. adb reboot bootloader + fastboot flash recovery ... reboot recovery works for "safely" testing at least a custom initramfs in header v4 wrapper (with fully stock kernel from boot/vendor_boot). fastboot boot is an unknown command and placing a kernel in recovery.img either in header v4 or combining it all to a header v2 one simply results in the device not booting the flashed image and just booting to fastboot mode immediately every time on subsequent boots until a recovery image with just initramfs is restored.

I'd rather not flash any of the boot related partitions for now (except recovery which also is just reflashed on WearOS boot lol) until I know exactly how the watch will behave in case it enters a bootloop, just stays "booted" without a way for me to interact with it or I otherwise have no way to reboot the watch to bootloader mode manually.

Icon WARNING: I (User:Deathmist) soft-bricked my watch by flashing recovery partition with "broken" contents and now have no known way to access fastboot anymore since adb is unavailable. On boot after 1+ logo the screen blanks and the device stays booted until battery runs out with no activity over USB (holding both side buttons for ~130 seconds reboots but this doesn't really help, maybe something can be done with the 4 pads on the back but I already moved onto the Pixel Watch 2); if only this dumb watch had A/B partitions, or you know didn't have this extremely bad quirk of booting (a broken) recovery continually on every boot until the mode can be reset after a successful boot...

Boot related partitions

All of the following contain a header v4 bootimg.

- 96 MiB boot: has just uncompressed Linux kernel ARM64 boot executable Image, bl may work with compressed (test gzip/lz4) ones too if needed later, stock ~44 MiB

- 8 MiB init_boot: has just gzipped base initramfs.cpio, stock ~1 MiB

- 96 MiB vendor_boot: has the usual modern suspects like vendor initramfs overlay (including device-specific GKI kernel modules), dtb etc, stock ~7 MiB

- 68 MiB recovery: has just gzipped recovery initramfs.cpio, stock ~10 MiB

Community Info

postmarketOS users that own the device

  • Deathmist (Notes: Soft-bricked always booting to broken recovery partition :()


See also