Bugzilla – Bug 12793
Firmware update sometimes fails when connected to Squeezebox Server
Last modified: 2009-10-06 14:01:02 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.
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.
QA can you find a reproducible case, with a SP log. Thanks.
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?
I haven't seen this happen again since I reported the issue.
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?
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.
James - do you have step-by-step instructions how I can reproduce the issue?
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...
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.
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.
Michael: Could bug 13684 be related to this one? Possible cause I mean.
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.
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.
Phil - please update whenever you're able to reproduce this issue. Thanks.
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.
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?
Cache/updates contains: fab4.version fab4_7.4_r5529.bin both dated 28/04/2009
Richard feels the risk reward of fixing this for 7.4 is too high. Moving bug to 7.5