Table of contents
Negative Response Code
NRC Categories
>>The following table lists the negative response codes defined in ISO14229-1:2013(E) and their usage conditions: the
negative response codes range from 0x00 to 0xFF and are divided into three groups:
- 0x00: Used when the server internally implements the judgment logic of the negative response code, indicating that a positive response is to be given.
- 0x01 – 0x7F: Negative response codes related to diagnostic communication.
- 0x80 – 0xFF: When the server receives a diagnostic service request, it is a negative response code given because some conditions do not meet the requirements. The purpose of giving these negative response codes instead of 0x22 is to provide a more detailed reason why the requested service cannot be performed
NRC Common List
00
POSITIVERESPONSE positive response- positive response
11
SERVICENOTSUPPORTED Service not supported- When the service identifier in the request message sent by the diagnostic instrument is unrecognizable or not supported, the ECU should send this response code
12
SUBFUNCTIONNOTSUPPORTED Subfunction not supported- This response code indicates that the requested action cannot be performed because the ECU does not support the service-specific parameters in the request message. If the diagnostic device has sent a request message, and the request message contains a recognized and supported service identifier, but the sub-function is either not recognized or not supported, then the ECU shall send this response code
13
INCORRECTMESSAGELENGTHORINVALIDFORMAT Incorrect message length or invalid format- This response code indicates that the requested action cannot be executed because the length of the request message received by the ECU does not match the length specified by the specific service or the parameter format does not match the format specified by the specific service
22
CONDITIONSNOTCORRECT condition is incorrect- The response code indicates that the requested action cannot be executed because the status condition of the ECU is not allowed
24
REQUESTSEQUENCEERROR request sequence error- This response code indicates that the requested action cannot be performed because the ECU received an unexpected request message sequence or a message sent by the diagnostic tool.
31
REQUESTOUTOFRANGE request out of range- This response code indicates that the requested action cannot be performed because the ECU has detected that the request message contains a parameter that exceeds the allowed range or does not support or activates access to data identifiers/routine identifiers that are not supported in session mode. It shall (shall) allow the diagnostic instrument to read data, write data or pass the data adjustment function within the ECU to use this response code
33
SECURITYACCESSDENIED Security Access Denied- Used when secure access is required but not passed.
35
INVALIDKEY Invalid key- This response code indicates that the reason why the ECU does not allow security access is that the key sent by the diagnostic tester does not match the key in the ECU memory
36
EXCEEDNUMBEROFATTEMPTS Attempts exceeded- When the number of failed requests for the SecurityAccess service exceeds the maximum number allowed by the server, this code is replied.
37
REQUIREDTIMEDELAYNOTEXPIRED The delay time has not expired- When the server receives a security access (SecurityAccess) service request within the security access delay time, it will reply with this code
70
UPLOADDOWNLOADNOTACCEPTED Upload and download not accepted- Reply to this code when uploading data from the server's storage or downloading data to the server's storage fails due to a failure
71
TRANSFERDATASUSPENDED Transfer data interrupted- When the data transmission operation is interrupted due to a failure, reply this code
72
GENERALPROGRAMMINGFAILURE General programming failure- This response code indicates that an error has been detected by the ECU when erasing or programming a non-erasable memory device
73
WRONGBLOCKSEQUENCECOUNTER Wrong sequence block- In the process of executing the data transfer service (TransferData (0x36) service), when the data block sequence number (BlockSequenceCounter) error is detected, this code will be replied
78
REQUESTCORRECTLYRECEIVED_RESPONSEPENDING correctly received request message - waiting for response- This response code indicates that the message requested by the diagnostic instrument has been correctly received by the ECU and all parameters in the request message are valid, but the action to be performed has not been completed and the ECU is not ready to receive other requests. Once the requested service is completed, the ECU shall (shall) send a positive response message or send a negative response message
7E
SUNFUNCTIONNOTSUPPORTEDINACTIVESESSION The activation session does not support the subservice- This response code indicates that the requested action cannot be executed because the ECU does not support the requested sub-service in the current session mode
7F
DIAGNOSTICSESSIONNOTCORRECT The active session does not support the service- This response code indicates that the requested action cannot be executed because the ECU does not support the requested service in the current session mode.