watchOS Update – Fix Watch Refusing to Update Minor watchOS Version

software-updatewatchos

Having updated an iPhone from iOS 14.3 to iOS 14.8, the paired Apple Watch should be able to update from watchOS 7.3.3 to a newer version of watchOS 7.

According to https://www.theiphonewiki.com/wiki/Firmware/Apple_Watch/7.x#Watch5.2C2, iOS 14.8 should be able to support watchOS 7.6.1 which only requires iOS 14.7.1. This makes sense given the dates that the updates were released.

However, opening Software Update on the Watch app shows the following:

To update the software on your Apple Watch, you first need to update the software on your iPhone.

Opening Software Update on Apple Watch shows the following:

Unable to Check for Update
An error occurred while checking for software update.
[Cancel] [Try Again]

How can I update watchOS to a newer compatible version without updating iOS?

This has been possible many times previously: the Watch app would advertise the most recent possible version of watchOS able to be installed on the current version of iOS.

Best Answer

This question got roomba'd after a year but the problem came up again with watchOS 8 so I thought it was worth more investigation.

tl;dr Apple now stops signing old watchOS versions like old iOS versions.


It used to be that any version of watchOS could be installed on an Apple Watch given the device is connected over USB to a Mac and an IPSW file of the watchOS version.

As a normal Apple customer, this is impossible since neither the connector nor the IPSW files are provided by Apple. I therefore speculate that Apple didn't worry about stopping signing old versions of watchOS.

However, with

  • more easily available (sketchy) devices for connecting Apple Watch to Mac

    (image source: https://www.soydemac.com/en/ibus-is-the-unofficial-tool-to-restore-apple-watch-video/)

  • IPSW files available, either

    • in exchange double-digits of dollars on scammy-looking yet vouched on Reddit websites that sometimes requires "custom drivers"?!

      and saying they don't provide firmware, while also providing firmware

      (not providing a source for this!)

    • or more recently sometimes directly off Apple's CDN, with some links being provided on The iPhone Wiki as linked to in the question,

    • or wherever software like this gets its restore images from

      iBUSTOOLS

      (image source: https://facebook.com/iBUSTOOLS)

Apple needed to stop people downgrading watchOS for the same reasons as iOS (whether one agrees with this behaviour or not, that's outside scope). For more information on why older versions of iOS cannot be installed, see

Various websites keep track of the signing status of iOS versions, but I couldn't find a site for watchOS, presumably because this has only recently been an issue and also there's no demand for it!

tihmstar's tsschecker helps check the signing status by making the right request to Apple's API. It's really useful for iOS and I utilised it for watchOS in this case.

Downloading the IPSW for watchOS 7.5 on Watch5,2 (from Apple's servers!) and extracting the BuildManifest.plist to give tsschecker lets the software craft the right request and check the response:

$ tsschecker -d Watch5,2 \
  --build-manifest ~/Downloads/Watch5\,2_7.5_18T567_Restore/BuildManifest.plist \
  --buildid 18T567 \
  --boardconfig N144bAP

Version: b9d193aa6e6d24421094873c830692d02d8b32f5 - 304
libfragmentzip version: 0.59-542a470d7be248681dba71d0f04e7dc8c2718b73
[TSSC] opening /Users/user/Downloads/Watch5,2_7.5_18T567_Restore/BuildManifest.plist
[TSSR] LOG: device Watch5,2 doesn't need a baseband ticket, continuing without requesting a Baseband ticket
[TSSR] Request URL set to https://gs.apple.com/TSS/controller?action=2
[TSSR] Sending TSS request attempt 1... failure
[Error] ERROR: TSS request failed (status=94, message=This device isn't eligible for the requested build.)

Build 18T567 for device Watch5,2 IS NOT being signed!

Apple's API said

This device isn't eligible for the requested build.

so that version of watchOS can no longer be installed on that Apple Watch.

Since Apple was not signing any version of watchOS 7, I needed to install watchOS 8 on my Apple Watch. Since watchOS 8 requires iOS 15, Watch.app was correct in saying I needed to update my iPhone, and Apple Watch would be unable to complete the update itself as it would no longer be able to communicate with my iOS 14 iPhone.

Therefore I was simply too late to update from one watchOS 7.x to another 7.x and I needed to go to watchOS 8, which required iOS 15. Had I done the update to iOS 14.8 earlier, I would have been able to do the watchOS update from 7.x to another 7.x.