Bugzilla – Bug 11873
Don't require internet connection to upgrade firmware during setup
Last modified: 2009-10-05 14:30:32 UTC
This bug came out of the discussion surrounding https://bugs-archive.lyrion.org/show_bug.cgi?id=11783. The problem as reported is the need for a user without a working internet connection to be able to get past "connecting to mysqueezebox.com" and instead use some other mechanism to upgrade firmware, including SD card, SC connectivity, etc. Speaking with Dean. Mickey and Richard this morning, the following was proposed (quoted from Mickey's notes): [beginning from screen 10 in the setup flow http://embargo.wiki.slimdevices.com/index.php/New_Setup_Wizard] - Firmware displays "connecting to mysqueezebox.com" for 10 seconds - During these 10 seconds, Fab4 is - Trying to connect to SN - Looking for local SqueezeCenters on your network - If SN is found and no SCs, use firmware from SN automatically - If no SN is found and 1 SC, use firmware from SC automatically - If SN and 1 SC is found, then pick the highest revision from the same branch (i.e., 7.4) automatically - If SD card (or USB storage) is found with firmware, regardless of whether SN or SC is found, prompt for SD card update only - If SN and multiple SC found, prompt user to choose firmware ---------------------- There is no "new screen" here really; the copy we already use during setup for the case where the user chooses between SD firmware version(s) and SN firmware can still be used.
Let's confirm the text for this screen. What are the various versions and supporting text?
Screen copy: - If SN is found and no SCs, use firmware from SN automatically [no screen needed] ----- - If no SN is found and 1 SC, use firmware from SC automatically [no screen needed] ----- - If SN and 1 SC is found, then pick the highest revision from the same branch (i.e., 7.4) automatically [no screen needed] ----- - If SD card (or USB storage) is found with firmware, regardless of whether SN or SC is found, prompt for SD card update only Screen: Title: Software Update Copy: A new software update is available. Options: Update to [version number] Update to [version number] ----- - If SN and multiple SC found, prompt user to choose firmware Title: Software Update Copy: A new software update is available. It may take a few minutes to download and install this update. Options: Update to [version number] Update to [version number]
Actual fixes being done, based on various conversations: 1) Firmware displays "connecting to mysqueezebox.com" for a minimum 10 seconds (but up to 30 seconds if nothing found) 2) During 10 seconds, SC discovery is running, and SN is being connected 3) After 10 seconds, if either 1) SN is connected, or 2) any compatible SC is found, the move on to FW stage (shown below). 4) If neither is found wait another 10 seconds (back to step 3) 5) If still none are found after 30 seconds (3 10 second tries) then bring up the Can't connect page. FW stage: - If SN is connected, regardless of how many (or zero) SCs found, add only it and any SD/USB FWs to the list of candidate updates in the FW upgrade menu - If SN not connected, and one or more compatible SCs are found, add those SCs and any SD/USB FWs to the list of candidate updates in the FW upgrade menu. (Next is same as prior to this fix) - If the above gathering results in only one update, present a FW update menu with that choice with some instructional text - If the above gathering results in more than one update, present a FW update menu with those choices without the instructional text.
I think that the most common case is that SN works and the user should just be presented with what we have now: "Begin Update" and move on. In the case that SN isn't available and the user is updating from a single detected SC, the user should choose, with something like: "Begin update from SERVERNAME1" If there's more than one: "Begin update from SERVERNAME1 (7.4.0 r1234)" "Begin update from SERVERNAME2 (7.4.1 r6789)" Likewise add when appropriate, "Begin update from USB (7.4.2 r3457)" or "Begin update from SD (7.5.8 r99899)"
*** Bug 11865 has been marked as a duplicate of this bug. ***
Fixed (other than text which is still being finalized) in r5455. Fix Behavior: 1) Firmware displays "connecting to mysqueezebox.com" for up to 30 seconds if nothing found 2) During 10 seconds, SC discovery is running, and SN is being connected 3) If either 1) SN is connected at any point, or 2) after 10 seconds any compatible SC with firmware is found, the move on to FW stage (shown below). 4) If nothing is found after 30 seconds then bring up the Can't connect page. FW stage: - If SN is connected, regardless of how many (or zero) SCs found, add only it and any SD/USB FWs to the list of candidate updates in the FW upgrade menu - If SN not connected, and one or more compatible SCs are found, add those SCs and any SD/USB FWs to the list of candidate updates in the FW upgrade menu. (Next is same as prior to this fix) - If the above gathering results in only one update, present a FW update menu with that choice with some instructional text - If the above gathering results in more than one update, present a FW update menu with those choices without the instructional text. Also fixed with this: The Diagnostics page flavor of FW upgrade entry now shows the SC discovery version with a back button but with SS disabled.
Assigned to Matt to get/confirm the menu item text.
Need to keep the strings short so they don't get cut off (at least not the version #). For SN option (when presented with other options): "Begin Update - mysqueezebox.com" For SC option(s) "Begin Update (7.4 r5454) - [SERVERNAME]" For USB options(s) "Begin Update (7.4 r5454) - USB" For SD option(s) "Begin Update (7.4 r5454) - SD"
fixed in r5469 (work mostly done in r5455)
Notes: See comment #6 for most of the details - To test the SN version checking, you will need to restart the fab4 after network setup is complete, but before FW update is complete. Otherwise an inSetup flag will be sent to SN and the version checking is ignored. Restarting will bring the fab4 back to the FW upgrade page, where a real version check will happen on SN, and you should be presented with an update to r5477 or higher.
Based on comment #6 this appears broken on all SP devices. Step 3 will generate a Network Error dialog, instead of finding a running 7.4 SBS on the same network that does NOT have internet access. Firmware is located in /update/cache
Andy G. all that happened was that SN was offline Tom: Today Andy brought down test.SN...which caused this code to fail like bug 13256 (which may now be a dupe of this sumptom) is there anything in the code you did to handle the fact the SN may not be recablle that would cuase the firmware to get into an upgrade loop? To reproduce: Have 1 or more SBS's on a local network that does have access to sn, but SN is not serving firmware or can't download firmware (see log) factory reset a SP device after upgrading to the same firmware that is currently on SBS (7261) Walk through the setup Notice that after connecting to AP & connecting to MySB.com, you get forced to upgrade to the current firmware 7261. even if you just upgrade/reboot to that version you get forced to it again.
Created attachment 5704 [details] Error Log when SN is up, but not serving firmware
Some of the work todo: Upgrade loop needs to be fixed. Notes from campfire: function step8(self, squeezenetwork) log:info("step8") if not squeezenetwork:isConnected() then log:info("get SC from one of discovered SCs") appletManager:callService("firmwareUpgrade", nil) return end local url, force = squeezenetwork:getUpgradeUrl() local pin = squeezenetwork:getPin() log:info("squeezenetwork pin=", pin, " url=", url) if force then log:info("firmware upgrade from SN") ... 1:10 PM Tom W. SN not found case - Works great for MP, but then when you upgrade via SC, it still falls into "get SC from one of discovered SCs" which is wrong text, should be "get upgrade from...."
== Auto-comment from SVN commit #7415 to the jive repo by tom == == https://svn.slimdevices.com/jive?view=revision&revision=7415 == Fixed Bug:12063 Fixed Bug:11873 Fixed Bug:11783 Description: - not mp so no need to force fw upgrade during setup - During setup, offer Music Source choices if SN not available for registration. - Complete setup when SC is selected.
This bug has been marked as fixed in the 7.4.0 release version of SqueezeBox Server! * SqueezeCenter: 28672 * Squeezebox 2 and 3: 130 * Transporter: 80 * Receiver: 65 * Boom: 50 * Controller: 7790 * Radio: 7790 Please see the Release Notes for all the details: http://wiki.slimdevices.com/index.php/Release_Notes If you haven't already, please download and install the new version from http://www.logitechsqueezebox.com/support/download-squeezebox-server.html If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.