Tesla - add HW3 detection to avoid false detection of FSD14#3369
Tesla - add HW3 detection to avoid false detection of FSD14#3369erikfleischer wants to merge 2 commits intocommaai:masterfrom
Conversation
Car behavior reportReplays driving segments through this PR and compares the behavior to master. Testing 20 segments for: TESLA_MODEL_3, TESLA_MODEL_Y ✅ 0 changed, 20 passed, 0 errors |
| # HW3 cars with FW 2026.8.6+ can trigger a false FSD14 detection. | ||
| HW3_FW = { | ||
| CAR.TESLA_MODEL_3: [ | ||
| b'TeM3_E014p10_0.0.0 (24),E014.20.2', | ||
| ], | ||
| CAR.TESLA_MODEL_Y: [ | ||
| b'TeM3_E014p10_0.0.0 (24),YP002.21.2', | ||
| ] | ||
| } |
There was a problem hiding this comment.
We actively want to remove FW lists, we shouldn't add any more right now. I've started on detecting FSD14/HW4 in the tesla test file, maybe can do that for HW3
Also don't we have to change the DBC definition to properly parse the 3 bit message now?
There was a problem hiding this comment.
Agreed. I do not like these FW lists as well but I am looking for a solution to avoid the described faults with HW3 vehicles.
I will take a look at test_tesla.py. Maybe that leads to better solution.
Regarding the 3rd bit in steering control message: Tesla actually moved the autosteer activation to the the 3rd bit. Thus openpilot actually uses the LKAS intervention bit to activate steering control in HW3 cars with FW 2026.8.6. I am a little torn on this. It is nice as the new behavior allows for some kind of torque blending. I have patched the DBC and the panda safety (https://github.com/erikfleischer/opendbc/tree/hw3_fw_2026_8_6_support) to make openpilot to use the same bit as autosteer. This makes the steering feel much nicer. But that branch breaks openpilot on HW3 with FW 2026.8.3 or older so is a no go for merging right now.
Once the false LKAS settings problems is fixed, I would be happy to take another look at the changed steering control message.
In FW 2026.8.6 Tesla has changed the behavior of stock LKAS. During an intervention AP sends DAS_steeringControlType == 1 which triggers the FSD14 detection heuristic. This causes an invalid LKAS settings fault in Openpilot despite Autosteer being deactivated in the vehicle settings.
Segment which demonstrates the fault in nightly-dev: c0fe59cc1ebbd1b3/000000a0--cdc57134fe/16
Validation