Quote Originally Posted by vscvsc View Post
Thus I'm concerned what Garmin is shipping now still permits flashing over the Fenix code.
AFAIK those watches are cross-flashable regardless of their firmware version. There are downgrade firmwares to downgrade to an older version from which you can cross-flash a Fenix Plus to a D2 Delta.

Quote Originally Posted by vscvsc View Post
But now that I'm looking at the MEGA files you created modified firmware for the Fenix 5 plus, not the 5X plus.
All Fenix 5 Plus variants and - as you already found out - all D2 Delta variants have the same firmware. The Fenix 5 Plus firmware runs under hw_id 0x0b54 (fenix 5S Plus) and the D2 Delta range has hw_id 0x0c7c (D2 Delta S). So the files in the MEGA folder work for all variants.


Quote Originally Posted by vscvsc View Post
I found your Python code. I believe I'm using it correctly and I'm able to change the HW_ID for the current D2 delta firmware to the Fenix (e.g. 3111 or 0xc27). That said what flags need to be changed? Also is the first second the boot loader, where you are using the Fenix boot loader with the "payload" from the D2, when building the flashable D2 file?
In case of the watches, there are the fields 1014 and 1015. Those have to match for the watch to accept the firmware file. First binary in the GCD file is the bootloader, the second one the actual firmware. You must always flash both (which means modifying the flags twice in the .rcp file) when cross-grading as a firmware upgrade has 2 stages:

1. The main OS verifies whether the firmware file matches the current running one (hw_id, 1014, 1015, newer version) and if it does, copies the GCD to some staging area.
2. The watch reboots and the bootloader now does the same verification again. If it doesn't match, the update is discarded.

Now imagine what happens if the main OS is a D2 Delta but the bootloader is from the Fenix. Any update or cross-grade would never be installed as either the system wouldn't copy the firmware to the staging area (Fenix firmware rejected by D2 OS) or the bootloader wouldn't accept the file (D2 firmware rejected by Fenix bootloader). There's one user from early on who has a watch in this state and we never managed to fix it. Also Preboot mode doesn't work for him for some reason.

n.b.: Beta firmwares usually only have the main OS inside. So don't try to create a cross-grade version from those.