Bug 12793 - Firmware update sometimes fails when connected to Squeezebox Server
: Firmware update sometimes fails when connected to Squeezebox Server
Status: ASSIGNED
Product: MySqueezebox.com
Classification: Unclassified
Component: Misc
: unspecified
: PC Windows XP
: P1 normal (vote)
: Joplin
Assigned To: Andy Grundman
:
Depends on: 10455
Blocks:
  Show dependency treegraph
 
Reported: 2009-07-11 04:35 UTC by Philip Meyer
Modified: 2009-10-06 14:01 UTC (History)
4 users (show)

See Also:
Category: Bug


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philip Meyer 2009-07-11 04:35:03 UTC
I manually navigated to software update to see if there was a new firmware available (auto notification not working).  There was a new firmware revision, so I tried to begin the update.  It instantly failed to download.  I tried a few times; instantly failed each time.

I guessed it was interaction with my local SbS that was faulty in some way.

I stopped my SbS, so it would then directly connect to internet to check for firmware instead of local SbS.  I then touched "Begin update", and it started to download and installed fine.
Comment 1 Blackketter Dean 2009-07-22 10:48:14 UTC
Moving to the product SqueezePlay because this bug appears to apply to any
player based on that application code.  Feel free to move it back if it's
specific to the single original product.
Comment 2 Richard Titmuss 2009-07-30 03:54:22 UTC
QA can you find a reproducible case, with a SP log. Thanks.
Comment 3 James Richardson 2009-08-07 10:28:48 UTC
I have tested with each MP release but have not been able to verify this.

Have been testing for 20 firmware revisions now.

Phil: are you able to reproduce this any more?
Comment 4 Philip Meyer 2009-08-07 11:42:58 UTC
I haven't seen this happen again since I reported the issue.
Comment 5 Philip Meyer 2009-08-11 15:04:05 UTC
I'm afraid I experienced this again tonight.

I was connected to my local SbS.

I navigated to Settings > Advanced > Software Update, and it reported that version 6976 was available, giving me a "Begin Update" option.  When I click that option, it flashes up the "Downloading" screen, then 1/2 second later reports "Update failed", with a "Try again..." option.

I retried several times, but get the same effect.

I stopped my SbS, and reset my player.  When it came back up, there was no SbS to connect to - the Home menu had a reduced set of options.  I tried to click "Settings", but strangeness ensued...!

It flashed up that I had clicked "Favorites", and tried to switch to MySqueezebox.com.  I tried to abort this, but it then ended up on the Software Update screen, saying there was a new update available, giving me an option to install r6981 (a newer version than the one offered earlier via SbS).

This is downloading as I write this.

So, potentially it is a problem if SbS has cached that there's an update available, but when you come to install it, the version it had detected is not available because there's a newer version available?
Comment 6 James Richardson 2009-08-11 15:19:28 UTC
Michael: QA has verified this behavior.  SBS does not check often enough (for beta) when newer firmware / SBS editions are available vs. the cached versions.
Comment 7 Michael Herger 2009-08-11 15:28:06 UTC
James - do you have step-by-step instructions how I can reproduce the issue?
Comment 8 James Richardson 2009-08-11 15:36:39 UTC
Install 7.4
change the .version file to a different version
remove your AP from network
connect a player to your SBS instance
You should get prompted to update firmware, which will fail

I think this is happening, because the .version file is out of sync with the .bin file AND SBS is unable to download newer firmware for some reason... we are blocking the IP or there is network error or the .bin file requested is no longer available...
Comment 9 Michael Herger 2009-08-17 05:01:54 UTC
James - you're obviously breaking the update: you tell SC there was an update which there isn't, even at the time you create that file. But we need to understand how this can happen. 

I still don't understand what's going on: SC is notifying SP about new firmware as soon as it's available. It's not a regular poll, but an event based notification. Therefore what you describe should not happen without user intervention (manipulating .version file, deleting .bin etc.).

Phil - could you please enable debugging for player.firmware to see what you get when this happens the next time?

Resetting priority as this is nothing we're able to reproduce, nor is it a very common issue.
Comment 10 Ben Klaas 2009-08-26 07:50:16 UTC
this is an administrative shuffle on priority fields to help make better judgment on the top end of the priority list. P4->P5, P3->P4, and P2->P3.
Comment 11 James Richardson 2009-08-26 10:54:00 UTC
Michael: Could bug 13684 be related to this one?  Possible cause I mean.
Comment 12 Michael Herger 2009-08-26 13:09:17 UTC
James - I have no idea what's going on. As long as nobody can give me a reproducible case (which doesn't involve manually deleting stuff which obviously must break things) there's nothing to fix here.
Comment 13 Philip Meyer 2009-08-26 16:18:40 UTC
I have never tinkered with firmware files.  The problem, as reported in my original post happened exactly as reported.  I have seen it happen at least twice.

i.e. player connected to local SbS.  Local SbS configured to not check for software updates, and not automatically download updates.  As this seems to also prevent firmware update notifications on the player, I periodically manually check if there are firmware updates on the player.

Occasionally, it says there is an update available (i.e. local SbS has detected a newer version is available, but hasn't given me an auto update notification).  If I then press Begin Update, it doesn't install.

Maybe SbS has noticed that there is a new firmware available, and is in the process of downloading, but it can't be installed if the download isn't complete?

It's not something I can actively recreate (doesn't always fail).  If I notice it happen again, I can try enabling extra logging levels as suggested.
Comment 14 Michael Herger 2009-09-23 03:21:05 UTC
Phil - please update whenever you're able to reproduce this issue. Thanks.
Comment 15 Philip Meyer 2009-09-24 16:11:29 UTC
This happened again tonight, so I enabled player.firmware=debug.

In settings, I have:
Software Updates = "Don't check for software updates"
Automatic download = "Do not automatically download updates"

Reminder: this is because it appears that these settings apply to both Squeezebox Server AND player firmware (i.e. there is NO indication that this applies to firmware updates on the Software Updates settings page).  As I do not need/want it check for server software updates, I have disabled, which means I have to always manually look for firmware updates.

I manually checked if there was a firmware update for Touch.  It reported that 7.4.0 r7713 was available, so I pressed Begin Update, and it immediately said there was a problem installing the update.

Not much in the log:

[00:04:07.8721] Slim::Utils::Misc::msg (1160) Warning: [00:04:07.8713] Use of uninitialized value in anonymous hash ({}) at P:/Music/SlimServer/trunk/server/Slim/Utils/Strings.pm line 410.
[00:04:07.9929] Slim::Utils::Misc::msg (1160) Warning: [00:04:08.9924] Use of uninitialized value in string eq at P:/Music/SlimServer/trunk/server/Slim/Networking/SqueezeNetwork/Players.pm line 163.
[00:04:08.1774] Slim::Utils::Firmware::need_upgrade (310) no firmware for fab4 - can't upgrade
[00:04:08.3213] Slim::Utils::Misc::msg (1160) Warning: [00:04:08.3209] Use of uninitialized value $alarmNext in addition (+) at P:/Music/SlimServer/trunk/server/Slim/Control/Queries.pm line 3641.
Comment 16 Michael Herger 2009-09-24 21:55:02 UTC
Ben - I think this is a SP issue: the firmwareupgrade query might return an url even if there's no updated firmware available. In this case the firmwareUpgrade value in the response would be false. But imho the SP side isn't checking for firmwareUpgrade, but only for the url when manually checking for updates.

This might happen if update checking was enabled at some point (thus a file on the disk), but now disabled.

Phil - what do you have in Cache/updates folder?
Comment 17 Philip Meyer 2009-09-24 23:39:14 UTC
Cache/updates contains:
fab4.version
fab4_7.4_r5529.bin

both dated 28/04/2009
Comment 18 James Richardson 2009-09-25 09:23:45 UTC
Richard feels the risk reward of fixing this for 7.4 is too high.  Moving bug to 7.5