Tesla Model 3: car cancels cruise to UNAVAILABLE during highway curve
- Dominant language
- Python
- Stars
- 63.7k
- Forks
- 11.4k
- Avg merge
- 17h 53m
- Merged PRs (30d)
- 171
Description
## Description
On Tesla Model 3, the car's drive inverter (DI) unexpectedly set `DI_cruiseState` to `UNAVAILABLE` while taking a highway curve at ~100 km/h, causing openpilot to disengage. No driver input, no openpilot fault, no panda blocked messages.
## Route
https://connect.comma.ai/dffcf1de8723a20f/000000b5--9de0ab8677/777/803
## Log analysis
**Timeline:**
```
-5.0s angle=0.8° v=122.7 km/h — straight road, engaged
-1.5s angle=-3.5° v=108.6 km/h — entering turn, decelerating
-0.8s angle=-7.6° v=103.9 km/h — deepest part of curve (~7.6° steering)
0.00s DISENGAGE — cruiseState.available=False, accFaulted=False
+0.18s steerTempUnavailable (EPAS went EAC_INHIBITED after cruise dropped)
```
**What was NOT the cause:**
- `steeringDisengage=False` — no hands-on-level override, no high angle rate safety fault
- `steerFaultTemporary=False`, `steerFaultPermanent=False`
- `brakePressed=False`, `gasPressed=False`, `steeringPressed=False`
- `stockAeb=False`, `stockLkas=False`, `invalidLkasSetting=False`
- `accFaulted=False` — not a cruise FAULT, DI went straight to UNAVAILABLE
- Panda did not block any messages
**Events at disengage:**
```
+0.00s wrongCarMode [noEntry]
+0.00s pcmDisable []
+0.18s steerTempUnavailable [noEntry, softDisable]
```
The root cause is the car's drive inverter setting cruise to UNAVAILABLE (not FAULT, not STANDBY). The EPAS going to EAC_INHIBITED 0.18s later was a consequence, not the cause.
## Hypothesis
Possible ESC/traction control intervention during the curve at highway speed caused the DI to cancel cruise. Would need to check raw CAN on `ESP_status` (0x145) and `ESP_B` (0x155) for stability/traction control activation flags around the disengage moment — rlogs are not uploaded for this route.
Contributor guide
Assessment
This issue has not been assessed yet.