Bugzilla – Bug 12878
SqueezeCenter to avoid downgrading firmware unless *really* necessary
Last modified: 2014-02-05 06:19:04 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.
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.
*** Bug 16611 has been marked as a duplicate of this bug. ***
*** Bug 17141 has been marked as a duplicate of this bug. ***
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.
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 .
== 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
Let's consider this fixed. I'm running 7.8 and haven't seen any firmware update nag screen in ages.