Common Questions¶
1. What is the difference between UDS and OBD-II? UDS is a full diagnostic protocol with many services; OBD-II is a subset focused on emissions.
2. Why does my request return NRC 0x7F?
0x7F is a negative response. Check the NRC byte for the specific reason.
3. What is TesterPresent and do I need it? TesterPresent keeps sessions alive. Use it for long operations or extended sessions.
4. How do I know which session a service requires?
Consult the service table or switch to extended/programming if you receive 0x7E/0x7F.
5. What is a seed and a key in SecurityAccess? The ECU sends a seed, your tool computes a key using an OEM algorithm.
6. What does RCRRP (0x78) mean and what should I do? It means the ECU accepted the request but needs more time. Wait and retry or listen for the final response.
7. How do I read multiple DIDs in one request?
Use uds.read_dids([0xF190, 0xF186]).
8. Can pyudskit connect to a real car? Yes, when paired with a transport (CAN or DoIP). pyudskit focuses on encoding/decoding and workflows.
9. What is the difference between pending and confirmed DTC? Pending is detected once; confirmed is verified across cycles.
10. What are the P2 and P2* timers?
P2 is normal response time; P2* is extended time after 0x78.
11. Why do I get conditionsNotCorrect?
The ECU state is wrong (session, ignition, vehicle speed, etc.).
12. What is a DID? A Data Identifier used to read or write ECU data.
13. How do I clear DTCs?
Use uds.clear_dtcs() which sends 14 FF FF FF.
14. Do I need security access to read data? Not always. Some DIDs require extended session or security access.
15. What is a routine?
A predefined ECU function executed via RoutineControl (0x31).
16. What does serviceNotSupportedInActiveSession mean?
You are in the wrong session. Switch sessions and retry.