Resetting the Driver Assistance System ECUs on a Tesla Model 3
Background
I like to run a bunch of things to integrate with my Tesla Model 3, in order to capture trip data and other statistics. Unfortunately this has the downside of occasionally causing the vehicle to not sleep while idle, which can cause problems for some of the software components which would appear to be suffering from memory leaks. Tesla has thus far seemed unperturbed with these, instead opting to blame the use of 3rd party applications that hit the API for causing the problems, rather than dealing with the issues in their software which result in the actual need for the vehicle to sleep and effectively periodically reboot.
As a result, for the last few firmware updates up to (current as of time of writing this article) 2023.44.30.5.1, I have noticed a few fairly consistent issues.
-
One or both DAS ECUs will crash, causing autopilot and TACC to be unavailable. In addition…
- FSD Beta Visualisation does not show certain features while operating (eg. Missing speed signs, road lines, traffic lights although vehicles still mostly display)
- FSD Beta Visualisation occasionally is completely inoperative, with no detected road features or vehicles, no speed sign detection, no emergency braking, automatic high beam dipping or automatic windscreen wipers
- Shortly after shifting out of park, the DAS controlled camera system will fault, stop and reboot (takes about a minute). Evidence of this can be seen prior to failure particularly at night as the displayed video will be unusually low contrast or dark before the picture goes black. After between 30-60 seconds the video stream will restart and return to function.
-
Infotainment system will become laggy and unresponsive
- Audio system will skip or stutter, typically shortly after shifting into reverse or drive. Audio may become distorted for an extended period of time in some cases.
- Some audio channels might not play, leading to only partial audio output (eg. Missing rear speaker output or centre front)
- Main screen will become semi-unresponsive to input, and unable to start applications such as Netflix or YouTube.
- Sentry mode and dash camera system may temporarily stop recording
Issues with the infotainment system can usually be rectified by pressing both scroll wheels on the steering wheel and the brake pedal at the same time until it reboots. You can technically do this at any time, even while in transit! However it is best to pull over and park safely before performing an infotainment system reboot as it will cause a temporary loss of all speed indicators and other safety features for at least a minute or more.
The Driver Assistance System will not be rebooted by performing an infotainment system reboot, as it operates in a different and isolated environment to the entertainment and display features. One way this can be rebooted is to park the vehicle, disable Sentry Mode and third party API access, then exit and lock the vehicle for about an hour. This will typically cause the vehicle to “sleep”, which will power down and reboot many of the underlying subsystems such as the DAS. That said, this isn’t always the most convenient, particularly if the DAS has decided to fail while in transit on a long road trip, where you may have many hours of driving ahead of you without the use of cruise control or autopilot. Fortunately there is a way to force the system to reboot, which will usually restore DAS operation to normal.
Disclaimer
It should be noted that performing a forced reset of the DAS is done entirely at the operator’s own risk. No responsibility will be taken if you should cause problems or harm that may or may not be covered under warranty, void your warranty or cause unexpected behaviour. It is entirely possible to do things using the processes described below that may cause temporary or permanent damage to your vehicle if you are not careful or if you fiddle around without an understanding of what you are doing.
Resetting the DAS manually
Resetting the DAS manually requires the use of Service Mode, a special hidden menu in the infotainment system which can be accessed to perform various diagnostic procedures and access additional information that is typically not exposed to the end-user of the vehicle. As mentioned in the disclaimer section above, it is entirely possible to cause serious damage or unintended behaviour if you play around with the options in Service Mode and don’t know what you are doing. Consult the Service documentation (if you have access to it) if you intend to do anything in these menus.
Accessing the Service Mode menus
This is fairly well documented out on the internet, along with multiple guide videos on YouTube, however for anyone new to things the process is described below:
- While the vehicle is parked and powered on, access the Controls menu, then go to the Software submenu (near the bottom)
- Below the picture of the vehicle should be some text, such as “Model 3”. This might vary depending on the variant of vehicle you have, in my case as I have a Standard Range Plus (Standard Plus). Tap and hold this text until a ripple pops out from where you are touching. This usually takes three to five seconds, then release.
- A new dialog box will be displayed asking you to enter an access code. In this case, the access code is “service”. Once entered, tap “OK”.
- If done properly the vehicle should now enter Service Mode, as indicated by a red border around the screen, along with the loading of the Service Mode menu.
Performing the reset
- From the Service Mode menu, tap “Driver Assist”. This should present two options: “Cameras” and “Sensors”.
- First, select “Sensors”, then inspect the section labelled “ECU”. If everything is working correctly, the status of the Primary (A) and Secondary (B) ECUs should be powered on and “Nominal”. This should also be depicted on the sensor diagram with both units to the right of “VC Right” shown as green. If there is any issue with either, the status will not be “Nominal” and the affected unit will typically be red instead of green.
- Tap the steering wheel icon to access the “Driver Assist” menu again, then select “Cameras”. This will display similar information for the ECUs, as well as providing a number of tests that can be performed and the ability to access the Camera Preview function as well.
- Tap “Reset DAS”. Unless you have performed the step earlier, you will now be prompted to unlock the gateway. This can be performed by following the prompts displayed on screen, which is to hold the right turn signal and press down on the brake pedal for eight seconds. A counter will be displayed as the gateway unlocks, after which the gateway will remain unlocked for 90 minutes. Once the gateway has been unlocked, tap “Reset DAS”.
- A new dialog box will be displayed, stating that the following test will reset the Driver Assistance (DAS) ECU via the Controller Area Network (CAN) bus. Tap the blue “Run” button.
- If an error is displayed, wait a few seconds and tap “Rerun”, otherwise if the test has run successfully you can tap “Close”. Note that the ECU status will have changed to orange or red, and will indicate both the Primary (A) and Secondary (B) ECUs are in a status of “Shutting Down” with a power state of “AP Booting”. This will move through a number of states, such as “Init” and “AP In Coreboot” and similar, until it eventually settles back to a power state of “On” and Status of “Nominal”. This should take about 30-60 seconds typically.
- Wait until all states return to green, then tap and hold the red “Exit” icon at the bottom of the “Service Menu” screen. This will exit service mode. Once out of service mode, it may be helpful to restart the infotainment unit as well, as previously described. The DAS should now function normally, with FSD Beta visualisations, TACC and autopilot.
Other useful bits in the Service Mode
It can also be worth reviewing the information on the first screen presented when entering service mode. In particular, it can be worth perusing the “Service Alerts” menu to verify error codes and look up timeframes from when issues may have occurred. Remember, be very careful while in service mode as it is possible to disrupt or affect normal vehicle functionality. Do not attempt to drive the vehicle while in service mode, as safety features may be disabled and speed limits may be imposed depending on the active settings at the time.
Conclusion
This can be a useful way to try and get your vehicle operating properly should the DAS fail while you are in transit, however it is no substitute for lodging a service request, particularly if you have had other similar issues in the past. Tesla technicians will likely be able to do deeper diagnosis on issues as they occur, and will be able to take corrective actions including replacing failed hardware should they have uncorrectable issues. That said, the service menu can be very useful to identify when problems occurred and what exactly went wrong, which may assist in diagnosing and correcting them down the track.
Hopefully Tesla will continue to improve their software, in particular improving its resilience and ability to self-correct, rather than relying on glorified rebooting to work around memory leaks which cause software and systems to crash. At minimum, it would be useful to be able to configure and schedule a specific time to perform a full system reboot while the vehicle is parked, should the issues caused by lack of the vehicle sleeping be too difficult to correct.