As of the release 1.0 build 830:
The player checks for new software randomly every 18-24 hours.
When the player boots, it checks for software almost immediately after boot, then schedules a check for 18-24 hours later.
If the auto check fails to contact the server, it should check again at the next schedule of 18-24 hours.
If a software download fails, it will time out and silently abort. It will try again the next time it contacts the server (and subsequently told to download new software.)
The software update happens silently and automatically in the background. If you press play it will cancel any software update that is going on in the background and re-schedule.
When it does download new software automatically, it waits for the box to be idle for over 30 minutes, then will reboot to the new software.
When you do a manual update, you're prompted to reboot immediately.
Also if you do a manual update and get the "reboot/ok" prompt, you can unplug it instead. It won't hurt it.
You can always check for new software manually by going to to the info screen. It will say "software is up to date" if there is no new software.
Releases should be cumulative and you should not need to download several incremental versions to become up to date. You should be able to go from version 1.0 to version 15.1 in one update without having to go through intermediate versions.
That being said, there always remains the unexpected possibility that we could have to force an intermediate upgrade situation. But that is certainly not the plan and would make the effort to not require it.
At some point in the future the Netflix service might notify you if you're too out of date and to upgrade. This could happen if they make changes to protocols or DRM, for example, that aren't backward compatible.
We will likely post release notes on new software updates. I don't know exactly if, how, or what, but we know people want them so it's likely we will.
Don't expect really frequent updates. It's no small feat to upgrade the entire user base so we make them count. Even just a few bug fixes takes a significant amount of testing not to mention load scheduling the roll out of the updates over a period of time.
Can you brick the box? Short answer is no. For months I have tested pulling the power while upgrading merely to prevent a complete upgrade during testing. This should never brick the box.
There are two software partitions and new software is always installed to the other partition. That way if you download, reboot, and fail to boot, it should reboot back to the previous version.
This could happen if there's some corruption during writing to the NAND flash memory. It does rarely happen from time to time.
If after downloading software the box appears to hang during boot, then after power cycling it does boot up, this is an indication that the new software likely failed to boot and you likely got kicked back to the previous version. Things other than corruption can cause a failed boot to new software like networking failure which we might not handle properly and cause a crash.
Software is signed. If it has been corrupted or tampered with during an update, it will fail to boot and kick you back to the previous version.
After download, before accepting the new software and rebooting, it also does a hash checksum on the binary to make sure it has not been corrupted. If it is, it will ignore the download as if it didn't happen (allow you to try again.)
There is a boot loader that can also be updated. But for this there is no back up, so we never plan to upgrade the boot loader. Even though during thousands of test it never failed. Still it's considered a risky update because there is no fall back.
If you do have your box unplugged for 4-12 months, just manually check for an update so you know you have the current software. Updates shouldn't take more than about 2 minutes.
I see no need to have it connected to a UPS. Even if power failed during an update it shouldn't affect the box.
Last edited by TaylorH
on Mon Jun 02, 2008 9:29 am, edited 5 times in total.
Former Roku employee