Bug 12878 - SqueezeCenter to avoid downgrading firmware unless *really* necessary
: SqueezeCenter to avoid downgrading firmware unless *really* necessary
Status: RESOLVED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Misc
: 7.3.3
: PC Windows XP
: P2 enhancement with 1 vote (vote)
: 7.8.0
Assigned To: Michael Herger
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-07-15 14:20 UTC by Charles Razzell
Modified: 2014-02-05 06:19 UTC (History)
5 users (show)

See Also:
Category: ---


Attachments
be smart about downgrades and skip compatible builds (2.37 KB, patch)
2012-03-06 07:33 UTC, Michael Herger
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Charles Razzell 2009-07-15 14:20:08 UTC
Users who use SN and SC can find that SN is ahead of the currently released SC by a firmware version or two. In most cases the newer firmware can support both server versions just fine, but the user will find that reconnecting to SC causes an unnecessary down-grade.  This can cause an annoying firmware up/down grade loop, which is frustrating to end-users, and gives a bad impression of the whole SN/SC ecosystem.

My theory is that the down-grade part is very rarely necessary.

My proposed solution is to have SC perform a check with a network-hosted set of .version files before doing a down-grade. A set of golden .version files would have to be maintained by Logitech staff for each released version of SC, but would only be accessed at the point when someone is in danger of doing an unnecessary firmware down-grade, thus keeping network traffic to a minimum. 

If desired, the network-hosted set of .version files could be replicated down to the user's firmware directory at the same time as the proposed "down-grade sanity check" ensuring the query would only occur once per user per released firmware version.  This would require the local .version files to have write permissions for the UID used for the SC process (but since the .bin files must be writeable as well, I don't see this as a new problem).

In case the networked set of .version files could not be reached the current behavior (i.e., downgrade) would be the fallback after a suitable network-access timeout has expired.

In case new firmware is introduced that does not support previous SC versions, the relevant network-hosted .version files would be kept frozen, causing the necessary firmware down-grades to occur as needed.
Comment 1 Chris Owens 2009-08-03 09:48:34 UTC
Unfortunately this cannot be fixed in such a way that wouldn't cause more problems than it solves.  Or at least it would require a lot more QA effort than we can currently provide to qualify all the firmware versions against current and old SC versions.

On a case-by-case basis, for ip3k players, you can of course edit the C:\Program Files\SqueezeCenter\server\Firmware\playertype.version file.
Comment 2 Michael Herger 2012-03-06 02:19:08 UTC
*** Bug 16611 has been marked as a duplicate of this bug. ***
Comment 3 Michael Herger 2012-03-06 02:22:07 UTC
*** Bug 17141 has been marked as a duplicate of this bug. ***
Comment 4 Michael Herger 2012-03-06 07:33:36 UTC
Created attachment 7644 [details]
be smart about downgrades and skip compatible builds

This patch would 

- ignore firmwares of identical version and revision
- update to more recent version or revision
- downgrade only if "new" firmware is older than oldest, knowingly compatible version/release

Exact oldest compatible build is yet to be defined.
Comment 5 Jim McAtee 2012-03-06 09:41:29 UTC
It's interesting that all of a sudden this became a priority after almost 3 years.

Will there be a way to force the older firmware to be loaded? For testing purposes it would be unwise to make it very difficult. I would suggest by using the mechanism described in bug 17526 .
Comment 6 SVN Bot 2012-03-12 10:30:41 UTC
 == Auto-comment from SVN commit #9645 to the jive repo by mherger ==
 == http://svn.slimdevices.com/jive?view=revision&revision=9645 ==

Bug: 12878
Description: don't downgrade firmware within a range of known compatible versions
Comment 7 Michael Herger 2014-02-05 06:19:04 UTC
Let's consider this fixed. I'm running 7.8 and haven't seen any firmware update nag screen in ages.