Skip to content

Tesla - add HW3 detection to avoid false detection of FSD14#3369

Draft
erikfleischer wants to merge 2 commits intocommaai:masterfrom
erikfleischer:tesla_detect_hw3
Draft

Tesla - add HW3 detection to avoid false detection of FSD14#3369
erikfleischer wants to merge 2 commits intocommaai:masterfrom
erikfleischer:tesla_detect_hw3

Conversation

@erikfleischer
Copy link
Copy Markdown

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

  • Dongle ID: c0fe59cc1ebbd1b3
  • Route: c0fe59cc1ebbd1b3/000000a4--7aa1bd45e0
  • Stock LKAS intervention no longer triggers an openpilot fault: 08:23 into the route
  • Vehicle follows openpilot steering commands: 3:45 into the route.

@erikfleischer erikfleischer marked this pull request as draft May 1, 2026 19:00
@github-actions github-actions Bot added car related to opendbc/car/ tesla labels May 1, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

Car behavior report

Replays driving segments through this PR and compares the behavior to master.
Please review any changes carefully to ensure they are expected.

Testing 20 segments for: TESLA_MODEL_3, TESLA_MODEL_Y

✅ 0 changed, 20 passed, 0 errors

Comment on lines +93 to +101
# 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',
]
}
Copy link
Copy Markdown
Contributor

@sshane sshane May 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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?

Copy link
Copy Markdown
Author

@erikfleischer erikfleischer May 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

car related to opendbc/car/ tesla

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants