I was using a non-Lego "Foxcm Technic Power Functions Set" battery pack to power my SBrick.
Every time I tried to update the SBrick's firmware, I got an error.
This was because the battery pack was powering down before the firmware update had completed its download.
To solve this, I plugged in a motor to socket A on the battery pack, and plugged the SBrick into Socket D. Then I used the remote control that came with the battery pack to power the motor connected to Socket A every so often.
Hope this helps anybody else with the same issue.