OnePlus Watch 2 (oneplus-opwwe231)

From postmarketOS Wiki
OnePlus Watch 2
Manufacturer OnePlus
Name Watch 2
Codename oneplus-opwwe231
Released 2024
Category testing
Pre-built images no
Original software Wear OS
Original version 4 (Android 13 based)
postmarketOS kernel 5.15
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
Type watch
This device is marked as not booting.
Status: pmOS port hasn't been attempted yet, bootimg header v4 (GKI 2.0)
Features
USB Networking
Flashing
Touchscreen
Display
WiFi
FDE
Mainline
Battery
3D Acceleration
Audio
Bluetooth
GPS
Internal storage
USB OTG
NFC
Sensors
Accelerometer
Magnetometer
Ambient Light
Barometer
Misc
Memory Card
Haptics
FOSS bootloader
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.

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: Experimenting with custom initramfs until fastboot combo found)


See also