# Ability to Restore/Retry a Failed Firmware Update



## JasonF (Oct 26, 2018)

[Mod note: post copied from another thread]

Tesla really should really add something to the app, or the online account, where it would detect a failure in your car software and allow you to initiate a restore. It can't really cause harm, if your software has already been hosed, and will save service some time.

The only suggestion I have while waiting for Tesla is check the 12 volt battery voltage (it's possible the battery ran down and turned off during an update), and put the car on wifi if you can. It might pick up the update and offer it to you again, which could solve the problem nicely. Most likely if it ends up in repair, Tesla will probably replace the MCU so they can send yours back to find out why the update failed.


----------



## garsh (Apr 4, 2016)

JasonF said:


> It can't really cause harm...


----------



## JasonF (Oct 26, 2018)

Obviously I meant if the car already can't be charged, and isn't driveable, pushing yourself the software again can't really do worse. You'll still need service if it doesn't work.


----------



## garsh (Apr 4, 2016)

JasonF said:


> Obviously I meant if the car already can't be charged, and isn't driveable, pushing yourself the software again can't really do worse. You'll still need service if it doesn't work.


True. But if you give people an "initiate restore" button, they will press it whether their car is driveable or not. And that could make things worse.


----------



## JasonF (Oct 26, 2018)

garsh said:


> True. But if you give people an "initiate restore" button, they will press it whether their car is driveable or not. And that could make things worse.


That's why above I specifically said "where it would detect a failure in your car software and allow you to initiate a restore". 

I would like an emergency feature where you connect to your car with the app (if it still works) and the app says "It looks like your last software update failed", with a Restore button next to it. Pressing that would put the MCU in a sort of recovery mode, where all it will do is download the latest software and install it, skipping all user interaction.

A comparison would be the Windows 10 screen that shows up when you reboot from a failed update, asking you if you would like to roll back to before the update and try again (except that I don't believe Tesla's software has a rollback).


----------



## garsh (Apr 4, 2016)

JasonF said:


> That's why above I specifically said "where it would detect a failure in your car software and allow you to initiate a restore".


Adding features adds complexity. Adding complexity adds bugs. Adding such a feature *will* make things worse.

Tesla's time would be better spent on keeping such issues from happening in the first place than adding a feature to more conveniently handle it.


----------



## JasonF (Oct 26, 2018)

garsh said:


> Tesla's time would be better spent on keeping such issues from happening in the first place than adding a feature to more conveniently handle it.


That would be nice, but this is software we're talking about. 

Fair disclaimer, I tend to install software updates very late at night on a weekend (because I know I won't be driving it at the time, AND I know I'll be awake when it completes). If I ever do have a firmware update go wrong, I would hate the feeling of having to sit on it until Monday and do nothing. I'd rather feel like I'm at least _trying_ to fix it myself first. I'm also more brave with high-tech stuff than most people are.

I do understand that a) if a Restore/Reinstall button was _always_ there, people would use it to try and get software updates early, or if the music doesn't turn down fast enough, or if they think something is wrong but isn't, and either overload the Tesla servers or break something; and b) Tesla doesn't want people even attempting to repair their car themselves (which is fair enough - most companies don't these days); and most important of all, c) Tesla doesn't want people even attempting to repair their car themselves.

But, if Tesla has access to the same errors you see on your screen, and the mobile rangers can push software to your car, it stands to reason that they could work out a specific range of circumstances where the car could tell you - via the app - that it's relatively safe to try and reinstall again. That's more specifically what I'm asking for - if Tesla could do something like that and save the mobile rangers having to show up and push a single button.


----------



## garsh (Apr 4, 2016)

JasonF said:


> But, if Tesla has access to the same errors you see on your screen, and the mobile rangers can push software to your car, it stands to reason that they could work out a specific range of circumstances where the car could tell you - via the app - that it's relatively safe to try and reinstall again.


Let me get this straight.

You trust Tesla's software engineers to be able to programmatically detect the various ways a software update can fail, and only the ways it can fail that result in the car being undriveable, and only when the software has determined that both of these conditions are safely satisfied to then allow anybody to initiate a reinstall process that could result in making the car undriveable.

And you trust them to do this correctly when they can't simply make sure the upgrade process doesn't fail in the first place?


----------



## JasonF (Oct 26, 2018)

garsh said:


> You trust Tesla's software engineers to be able to programmatically detect the various ways a software update can fail, and only the ways it can fail that result in the car being undriveable, and only when the software has determined that both of these conditions are safely satisfied to then allow anybody to initiate a reinstall process that could result in making the car undriveable.
> 
> And you trust them to do this correctly when they can't simply make sure the upgrade process doesn't fail in the first place?


What I'm getting at is the "Reinstall" button would be a last resort. If the car is already undriveable and is in a state where it's going to have to be towed to the service center, then maybe it's worthwhile to try and force a software reinstall to see if it works. If it fails, you still have to be towed. The only "smart" part of it has to be how the app determines if you're eligible for a last-resort option. It can even err on the side of extreme caution, since service is still an option. It's just nice to also have the possibility of being able to say "whew, dodged a bullet, I don't have to be towed".

There is, admittedly, a price to that. Even if Tesla does get that pull-out-of-the-fire option working correctly, it could...work perfectly. Except it could also cover up some underlying issue that's going to keep biting you every time you update until it finally causes a different failure. Because regular service intervals are so far apart, it could be months or years before Tesla finds the source.


----------

