| Enumerator | Beschreibung |
|---|
| kGeneralReject | = 0x10 0x10, This NRC indicates that the requested action has been rejected by the server. The generalReject response code shall only be implemented in the server if none of the negative response codes defined in this document meet the needs of the implementation. At no means shall this NRC be a general replacement for the response codes defined in this document. |
| kServiceNotSupported | = 0x11 0x11, This NRC indicates that the requested action will not be taken because the server does not support the requested service. The server shall send this NRC in case the client has sent a request message with a service identifier which is unknown, not supported by the server, or is specified as a response service identifier. Therefore this negative response code is not shown in the list of negative response codes to be supported for a diagnostic service, because this negative response code is not applicable for supported services. |
| kSubFunctionNotSupported | = 0x12 0x12, This NRC indicates that the requested action will not be taken because the server does not support the service specific parameters of the request message. The server shall send this NRC in case the client has sent a request message with a known and supported service identifier but with "SubFunction" which is either unknown or not supported. |
| kIncorrectMessageLengthOrInvalidFormat | = 0x13 0x13, This NRC indicates that the requested action will not be taken because the length of the received request message does not match the prescribed length for the specified service or the format of the parameters do not match the prescribed format for the specified service. |
| kResponseTooLong | = 0x14 0x14, This NRC shall be reported by the server if the response to be generated exceeds the maximum number of bytes available by the underlying network layer. This could occur if the response message exceeds the maximum size allowed by the underlying transport protocol or if the response message exceeds the server buffer size allocated for that purpose. EXAMPLE This problem may occur when several DIDs at a time are requested and the combination of all DIDs in the response exceeds the limit of the underlying transport protocol. |
| kBusyRepeatRequest | = 0x21 0x21, This NRC indicates that the server is temporarily too busy to perform the requested operation. In this circumstance the client shall perform repetition of the "identical request message" or "another request message". The repetition of the request shall be delayed by a time specified in the respective implementation documents. EXAMPLE In a multi-client environment the diagnostic request of one client might be blocked temporarily by an NRC 0x21 while a different client finishes a diagnostic task. If the server is able to perform the diagnostic task but needs additional time to finish the task and prepare the response, the NRC 7816 shall be used instead of NRC 0x21. This NRC is in general supported by each diagnostic service, as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services. |
| kConditionsNotCorrect | = 0x22 0x22, This NRC indicates that the requested action will not be taken because the server prerequisite conditions are not met. |
| kRequestSequenceError | = 0x24 0x24, This NRC indicates that the requested action will not be taken because the server expects a different sequence of request messages or message as sent by the client. This may occur when sequence sensitive requests are issued in the wrong order. EXAMPLE A successful SecurityAccess service specifies a sequence of requestSeed and sendKey as SubFuction in the request messages. If the sequence is sent different by the client, the server sends a negative response message with the negative response code 0x24 requestSequenceError. |
| kNoResponseFromSubnetComponent | = 0x25 0x25, This NRC indicates that the server has received the request but the requested action could not be performed by the server as a subnet component which is necessary to supply the requested information did not respond within the specified time. The noResponseFromSubnetComponent negative response shall be implemented by gateways in electronic systems which contain electronic subnet components and which do not directly respond to the client’s request. The gateway may receive the request for the subnet component and then request the necessary information from the subnet component. If the subnet component fails to respond, the server shall use this negative response to inform the client about the failure of the subnet component. This NRC is in general supported by each diagnostic service, as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services. |
| kFailurePreventsExecutionOfRequestedAction | = 0x26 0x26, This NRC indicates that the requested action will not be taken because a failure condition, identified by a DTC (with at least one DTC status bit for TestFailed, Pending, Confirmed or TestFailed SinceLastClear set to 1), has occurred and that this failure condition prevents the server from performing the requested action. This NRC can, for example, direct the technician to read DTCs in order to identify and fix the problem. Diagnostic services used to access DTCs shall not implement this NRC, because an external test tool may check for the above NRC and automatically request DTCs whenever the above NRC has been received. This NRC is in general supported by each diagnostic service (except the services mentioned above), as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services. |
| kRequestOutOfRange | = 0x31 0x31, This NRC indicates that the requested action will not be taken because the server has detected that the request message contains a parameter which attempts to substitute a value beyond its range of authority (e.g. attempting to substitute a data byte of 111 when the data is only defined to 100), or which attempts to access a dataIdentifier/routineIdentifer that is not supported or not supported in active session. This NRC shall be implemented for all services, which allow the client to read data, write data or adjust functions by data in the server. |
| kSecurityAccessDenied | = 0x33 0x33, This NRC indicates that the requested action will not be taken because the server’s security strategy has not been satisfied by the client. The server shall send this NRC if one of the following cases occur: — the test conditions of the server are not met, — the required message sequence, e.g. DiagnosticSessionControl, securityAccess is not met, — the client has sent a request message which requires an unlocked server. Beside the mandatory use of this negative response code as specified in the applicable services within this document, this negative response code can also be used for any case where security is required and is not yet granted to perform the required service. |
| kAuthenticationRequired | = 0x34 0x34, This NRC indicates that the requested service will not be taken because the client has insufficient rights based on its Authentication state. This NRC is in general supported by each diagnostic service, therefore it is not listed in the list of applicable response codes of the diagnostic services. |
| kInvalidKey | = 0x35 0x35, This NRC indicates that the server has not given security access because the key sent by the client did not match with the key in the server’s memory. This counts as an attempt to gain security. The server shall remain in the locked state and increment its internal securityAccessFailed counter as described in 10.4. (ISO 14229-1) |
| kExceedNumberOfAttempts | = 0x36 0x36, This NRC indicates that the requested action will not be taken because the client has unsuccessfully attempted to gain security access more times than the server’s security strategy will allow. |
| kRequiredTimeDelayNotExpired | = 0x37 0x37, This NRC indicates that the requested action will not be taken because the client’s latest attempt to gain security access was initiated before the server’s required timeout period had elapsed. |
| kSecureDataTransmissionRequired | = 0x38 0x38, This NRC indicates that the requested service will not be taken because the requested action is required to be sent using a secured communication channel (i.e. A_MType is equal to secure {remote} diagnostics). This NRC is in general supported by each diagnostic service, therefore it is not listed in the list of applicable response codes of the diagnostic services. |
| kSecureDataTransmissionNotAllowed | = 0x39 0x39, This NRC indicates that this message was received using the SecuredDataTransmission (0x84) service. However, the requested action is not allowed to be sent using the SecuredData Transmission (0x84) service. |
| kSecureDataVerificationFailed | = 0x3A 0x3A, This NRC indicates that the message failed in the security sub-layer. For example, invalid Apar - Administrative parameter or "Signature/ Encryption Calculation" parameter, verification error of anti-replay counter or Signature/MAC, decryption or encryption error. |
| kCertificateVerificationFailedInvalidTimePeriod | = 0x50 0x50, Date and time of the server does not match the validity period of the Certificate. |
| kCertificateVerificationFailedInvalidSignature | = 0x51 0x51, Signature of the Certificate could not be verified. |
| kCertificateVerificationFailedInvalidChainOfTrust | = 0x52 0x52, Certificate could not be verified against stored information about the issuing authority. |
| kCertificateVerificationFailedInvalidType | = 0x53 0x53, Certificate does not match the current requested use case. |
| kCertificateVerificationFailedInvalidFormat | = 0x54 0x54, Certificate could not be evaluated because the format requirement has not been met. |
| kCertificateVerificationFailedInvalidContent | = 0x55 0x55, Certificate could not be verified because the content does not match. |
| kCertificateVerificationFailedInvalidScope | = 0x56 0x56, The scope of the Certificate does not match the contents of the server. |
| kCertificateVerificationFailedInvalidCertificateRevoked | = 0x57 0x57, Certificate received from client is invalid, because the server has revoked access for some reason. |
| kOwnershipVerificationFailed | = 0x58 0x58, Delivered Ownership does not match the provided challenge or could not verified with the own private key. |
| kChallengeCalculationFailed | = 0x59 0x59, The challenge could not be calculated on the server side. |
| kSettingAccessRightsFailed | = 0x5A 0x5A, The server could not set the access rights. |
| kSessionKeyCreationDerivationFailed | = 0x5B 0x5B, The server could not create or derive a session key. |
| kConfigurationDataUsageFailed | = 0x5C 0x5C, The server could not work with the provided configuration data. |
| kDeAuthenticationFailed | = 0x5D 0x5D, DeAuthentication was not successful, server could still be unprotected. |
| kUploadDownloadNotAccepted | = 0x70 0x70, This NRC indicates that an attempt to upload/download to a server’s memory cannot be accomplished due to some fault conditions. |
| kTransferDataSuspended | = 0x71 0x71, This NRC indicates that a data transfer operation was halted due to some fault. The active transferData sequence shall be aborted. |
| kGeneralProgrammingFailure | = 0x72 0x72, This NRC indicates that the server detected an error when erasing or programming a memory location in the permanent memory device (e.g. Flash Memory). |
| kWrongBlockSequenceCounter | = 0x73 0x73, This NRC indicates that the server detected an error in the sequence of blockSequenceCounter values. Note that the repetition of a TransferData request message with a blockSequenceCounter equal to the one included in the previous TransferData request message shall be accepted by the server. |
| kRequestCorrectlyReceivedResponsePending | = 0x78 0x78, This NRC indicates that the request message was received correctly, and that all parameters in the request message were valid (these checks can be delayed until after sending this NRC if executing the boot software), but the action to be performed is not yet completed and the server is not yet ready to receive another request. As soon as the requested service has been completed, the server shall send a positive response message or negative response message with a response code different from this. The negative response message with this NRC may be repeated by the server until the requested service is completed and the final response message is sent. This NRC might impact the application layer timing parameter values. The detailed specification shall be included in the data link specific implementation document. This NRC shall only be used in a negative response message if the server will not be able to receive further request messages from the client while completing the requested diagnostic service. When this NRC is used, the server shall always send a final response (positive or negative) independent of the suppressPosRspMsg IndicationBit value or the suppress requirement for responses with NRCs SNS, SFNS, SNSIAS, SFNSIAS and ROOR on functionally addressed requests. A typical example where this NRC may be used is when the client has sent a request message, which includes data to be programmed or erased in flash memory of the server. If the programming/erasing routine (usually executed out of RAM) is not able to support serial communication while writing to the flash memory the server shall send a negative response message with this response code.This NRC is in general supported by each diagnostic service, as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services. |
| kSubFunctionNotSupportedInActiveSession | = 0x7E 0x7E, This NRC indicates that the requested action will not be taken because the server does not support the requested Sub Function in the session currently active. This NRC shall only be used when the requested SubFunction is known to be supported in another session, otherwise response code SFNS (SubFunctionNotSupported) shall be used (e.g. servers executing the boot software generally do not know which Sub Functions are supported in the application (and vice versa) and therefore may need to respond with NRC 0x12 instead). This NRC shall be supported by each diagnostic service with a Sub Function parameter, if not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services. |
| kServiceNotSupportedInActiveSession | = 0x7F 0x7F, This NRC indicates that the requested action will not be taken because the server does not support the requested service in the session currently active. This NRC shall only be used when the requested service is known to be supported in another session, otherwise response code SNS (serviceNotSupported) shall be used (e.g. servers executing the boot software generally do not know which services are supported in the application (and vice versa) and therefore may need to respond with NRC 0x11 instead). This NRC is in general supported by each diagnostic service, as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services. |
| kRpmTooHigh | = 0x81 0x81, This NRC indicates that the requested action will not be taken because the server prerequisite condition for RPM is not met (current RPM is above a programmed maximum threshold). |
| kRpmTooLow | = 0x82 0x82, This NRC indicates that the requested action will not be taken because the server prerequisite condition for RPM is not met (current RPM is below a programmed minimum threshold). |
| kEngineIsRunning | = 0x83 0x83, This NRC is required for those actuator tests which cannot be actuated while the Engine is running. This is different from RPM too high negative response, and shall be allowed. |
| kEngineIsNotRunning | = 0x84 0x84, This NRC is required for those actuator tests which cannot be actuated unless the Engine is running. This is different from RPM too low negative response, and shall be allowed. |
| kEngineRunTimeTooLow | = 0x85 0x85, This NRC indicates that a requested action will not be taken because the server prerequisite condition for engine run time is not met (current engine run time is below a programmed limit). |
| kTemperatureTooHigh | = 0x86 0x86, This NRC indicates that the requested action will not be taken because the server prerequisite condition for temperature is not met (current temperature is above a preprogrammed maximum threshold). |
| kTemperatureTooLow | = 0x87 0x87, This NRC indicates that the requested action will not be taken because the server prerequisite condition for temperature is not met (current temperature is below a preprogrammed minimum threshold). |
| kVehicleSpeedTooHigh | = 0x88 0x88, This NRC indicates that the requested action will not be taken because the server prerequisite condition for vehicle speed is not met (current vehicle speed is above a preprogrammed maximum threshold). |
| kVehicleSpeedTooLow | = 0x89 0x89, This NRC indicates that the requested action will not be taken because the server prerequisite condition for vehicle speed is not met (current vehicle speed is below a preprogrammed minimum threshold). |
| kThrottlePedalTooHigh | = 0x8A 0x8A, This NRC indicates that the requested action will not be taken because the server prerequisite condition for throttle/pedal position is not met (current TP/APP is above a preprogrammed maximum threshold). |
| kThrottlePedalTooLow | = 0x8B 0x8B, This NRC indicates that the requested action will not be taken because the server prerequisite condition for throttle/pedal position is not met (current TP/APP is below a preprogrammed minimum threshold). |
| kTransmissionRangeNotInNeutral | = 0x8C 0x8C, This NRC indicates that the requested action will not be taken because the server prerequisite condition for being in neutral is not met (current transmission range is not in neutral). |
| kTransmissionRangeNotInGear | = 0x8D 0x8D, This NRC indicates that the requested action will not be taken because the server prerequisite condition for being in gear is not met (current transmission range is not in gear). |
| kBrakeSwitchNotClosed | = 0x8F 0x8F, This NRC indicates that for safety reasons, this is required for certain tests before it begins, and shall be maintained for the entire duration of the test. |
| kShifterLeverNotInPark | = 0x90 0x90, This NRC indicates that for safety reasons, this is required for certain tests before it begins, and shall be maintained for the entire duration of the test. |
| kTorqueConverterClutchLocked | = 0x91 0x91, This NRC indicates that the requested action will not be taken because the server prerequisite condition for torque converter clutch is not met (current TCC status above a preprogrammed limit or locked). |
| kVoltageTooHigh | = 0x92 0x92, This NRC indicates that the requested action will not be taken because the server prerequisite condition for voltage at the primary pin of the server (ECU) is not met (current voltage is above a preprogrammed maximum threshold). |
| kVoltageTooLow | = 0x93 0x93, This NRC indicates that the requested action will not be taken because the server prerequisite condition for voltage at the primary pin of the server (ECU) is not met (current voltage is below a preprogrammed maximum threshold). |
| kResourceTemporarilyNotAvailable | = 0x94 0x94, This NRC indicates that the server has received the request but the requested action could not be performed by the server because an application which is necessary to supply the requested information is temporality not available. This NRC is in general supported by each diagnostic service, as not otherwise stated in the data link specific implementation document, therefore it is not listed in the list of applicable response codes of the diagnostic services. |
| kNoProcessingNoResponse | = 0xFF Deviating from ISO - no further service processing and no response (silently ignore request message). |
| kISO_RESERVED_NRC | = 0x01 Placeholder as starting number for valid NRCs. |
gemini-3.8-flash-low· 2026-10-13 · Duits origineel