

AWS IoT FleetWise will no longer be open to new customers as of April 30, 2026. Existing AWS IoT FleetWise customers can continue using the service. The [Guidance for Connected Mobility on AWS](https://aws.amazon.com/solutions/guidance/connected-mobility-on-aws/) provides guidance on how to develop and deploy modular services for connected mobility solutions that can be used to achieve equivalent capabilities as AWS IoT FleetWise.

# Troubleshooting AWS IoT FleetWise
<a name="troubleshooting"></a>

Use the troubleshooting information and solutions in this section to help resolve issues with AWS IoT FleetWise.

The following information might help you troubleshoot common issues with AWS IoT FleetWise.

**Topics**
+ [

# AWS IoT FleetWise decoder manifest issues
](troubleshoot-decoder-manifest.md)
+ [

# Edge Agent for AWS IoT FleetWise software issues
](trouebleshoot-edge-agent.md)
+ [

# Store and forward issues
](troubleshooting-campaign.md)

# AWS IoT FleetWise decoder manifest issues
<a name="troubleshoot-decoder-manifest"></a>

Troubleshoot decoder manifest issues.


**Diagnosing decoder manifest API calls**  

| Error | Troubleshooting guidelines | 
| --- | --- | 
| UpdateOperationFailure.ConflictingDecoderUpdate | The same decoder manifest has multiple update requests. Wait and try again. | 
| UpdateOperationFailure.InternalFailure | InternalFailure is launched as an encapsulated exception. The problem itself depends on the exception encapsulated. | 
| UpdateOperationFailure.ActiveDecoderUpdate | The decoder manifest is in an Active state and can't be updated. Change the decoder manifest state to DRAFT, and then try again. | 
| UpdateOperationFailure.ConflictingModelUpdate | AWS IoT FleetWise is trying to validate against a vehicle model (model manifest) that's being modified by someone else. Wait and try again. | 
| UpdateOperationFailure.ModelManifestValidationResponse : FailureReason.MODEL\$1DATA\$1ENTRIES\$1NOT\$1FOUND | The vehicle model doesn't have any signals associated with it. Add signals to the vehicle model and verify that the signals can be found in the associated signal catalog. | 
| UpdateOperationFailure.ModelManifestValidationResponse : FailureReason.MODEL\$1NOT\$1ACTIVE | Update the vehicle model so that it's in ACTIVE state, and then try again. | 
| UpdateOperationFailure.ModelManifestValidationResponse : FailureReason.MODEL\$1NOT\$1FOUND | AWS IoT FleetWise can't find the vehicle model associated with the decoder manifest. Verify the Amazon Resource Name (ARN) of the vehicle model and try again. | 
| UpdateOperationFailure.ModelManifestValidationResponse(FailureReason.MODEL\$1DATA\$1ENTRIES\$1READ\$1FAILURE | The validation of the vehicle model failed because signal names from the vehicle model weren't found in the signal catalog. Verify that the signals in the vehicle model are all included in the associated signal catalog. | 
| UpdateOperationFailure.ValidationFailure | Signals or network interfaces that aren't valid were found in the request to update the decoder manifest. Verify that all signals and network interfaces returned by the exception exist, that all signals used are associated with an available interface, and that you won't remove an interface that has signals associated with it. | 
| UpdateOperationFailure.KmsKeyAccessDenied | There's a permission issue on the AWS Key Management Service (AWS KMS) key used for the operation. Verify that you're using a role that has access to the key and try again. | 
|  UpdateOperationFailure.DecoderDoesNotExist | The decoder manifest doesn't exist. Verify the decoder manifest name and try again.  | 

Vision system data error messages with the `SIGNAL_DECODER_INCOMPATIBLE_WITH_SIGNAL_CATALOG` reason will include a hint in the response that provides information about why the request failed. You can use the hint to determine which troubleshooting guidelines to follow. 

**Note**  
Vision system data is in preview release and is subject to change.


**Diagnosing decoder manifest vision system data validation**  

| Error | Troubleshooting guidelines | 
| --- | --- | 
| InvalidSignalDecoder.withReason(SignalDecoderFailureReason.NO\$1SIGNAL\$1IN\$1CATALOG\$1FOR\$1DECODER\$1SIGNAL) | AWS IoT FleetWise didn't find the root signal structure used in the signal decoder using the signal catalog. Verify that the root signal of the structure is properly defined in the signal catalog. | 
| InvalidSignalDecoder.withReason(SignalDecoderFailureReason.SIGNAL\$1DECODER\$1TYPE\$1INCOMPATIBLE\$1WITH\$1MESSAGE\$1SIGNAL\$1TYPE) | A primitive message in the signal catalog wasn't defined with the same data type in the decoder manifest update request. Verify that the primitive messages defined in the request match their corresponding signal catalog definition. | 
| InvalidSignalDecoder.withReason(SignalDecoderFailureReason.STRUCT\$1SIZE\$1MISMATCH) | The number of properties defined in a struct in the signal catalog don't match the number of properties you're trying to decode in the decoder manifest. Verify that you have the correct number of signals to decode by comparing it with the signals defined in the signal catalog. | 
| InvalidSignalDecoder.withReason(SignalDecoderFailureReason.SIGNAL\$1DECODER\$1INCOMPATIBLE\$1WITH\$1SIGNAL\$1CATALOG) | AWS IoT FleetWise found a signal defined as a STRUCT in the signal catalog without a structuredMessageDefinition defined in the decoder manifest request. Make sure that each struct is defined as a structuredMessageDefinition in the decoder manifest update request. | 
| InvalidSignalDecoder.withReason(SignalDecoderFailureReason.SIGNAL\$1DECODER\$1INCOMPATIBLE\$1WITH\$1SIGNAL\$1CATALOG) | The root signal of the structure used in the decoder manifest is not properly defined as a structure in the signal catalog. The root signal structure used in the decoder manifest must have its field structFullyQualifiedName defined. It also needs a STRUCT node with that fullyQualifiedName. | 
| InvalidSignalDecoder.withReason(SignalDecoderFailureReason.SIGNAL\$1DECODER\$1INCOMPATIBLE\$1WITH\$1SIGNAL\$1CATALOG) | One of the leaf messages used in the decoder manifest request is not defined as a primitive message. Verify that all leaf objects in the request are defined as primitive messages.  | 
| InvalidSignalDecoder.withReason(SignalDecoderFailureReason.SIGNAL\$1DECODER\$1INCOMPATIBLE\$1WITH\$1SIGNAL\$1CATALOG) | An array object in the signal catalog wasn't defined as a structuredMessageListDefinition in the decoder manifest update request. Verify that all array properties are defined as structuredMessageListDefinition in the decoder manifest update request. | 

# Edge Agent for AWS IoT FleetWise software issues
<a name="trouebleshoot-edge-agent"></a>

Troubleshoot Edge Agent software issues.

**Topics**
+ [

## Issue: The Edge Agent software doesn't start.
](#troubleshooting-issue1)
+ [

## Issue: [ERROR] [IoTFleetWiseEngine::connect]: [Failed to init persistency library]
](#troubleshooting-issue2)
+ [

## Issue: The Edge Agent software doesn't collect on-board diagnostics (OBD) II PIDs and diagnostic trouble codes (DTCs).
](#troubleshooting-issue3)
+ [

## Issue: The Edge Agent for AWS IoT FleetWise software doesn't collect data from the network or isn't able to apply data inspection rules.
](#troubleshooting-issue5)
+ [

## Issue: [ERROR] [AwsIotConnectivityModule::connect]: [Connection failed with error] or [WARN] [AwsIotChannel::send]: [No alive MQTT Connection.]
](#troubleshooting-issue4)

## Issue: The Edge Agent software doesn't start.
<a name="troubleshooting-issue1"></a>

You might see the following errors when the Edge Agent software doesn't start.
+ 

  ```
  Error from reader: * Line 1, Column 1
  Syntax error: value, object or array expected.
  ```

  **Solution: ** Make sure the Edge Agent for AWS IoT FleetWise software configuration file is using valid JSON format. For example, make sure that commas are used correctly. For more information about the configuration file, do the following to download the *Edge Agent for AWS IoT FleetWise software Developer Guide*.

  1. <a name="fleetwise-open-console"></a>Open the [AWS IoT FleetWise console](https://console.aws.amazon.com/iotfleetwise).

  1. <a name="open-edge-resources"></a>On the service home page, in the **Get started with AWS IoT FleetWise** section, choose **Explore Edge Agent**.
+ 

  ```
  [ERROR] [SocketCANBusChannel::connect]: [ SocketCan with name xxx is not accessible]
  [ERROR] [IoTFleetWiseEngine::connect]: [ Failed to Bind Consumers to Producers ]
  ```

  **Solution: ** You might see this error when the Edge Agent software fails to establish socket communication with the network interfaces defined in the configuration file.

  To check that every network interface defined in the configuration is available, run the following command.

  ```
  ip link show
  ```

  To bring a network interface online, run the following command. Replace *network-interface-id* with the ID of the network interface.

  ```
  sudo ip link set network-interface-id up
  ```
+ 

  ```
  [ERROR] [AwsIotConnectivityModule::connect]: [Connection failed with error]
  [WARN] [AwsIotChannel::send]: [No alive MQTT Connection.]
  # or 
  [WARN] [AwsIotChannel::send]: [aws-c-common: AWS_ERROR_FILE_INVALID_PATH]
  ```

  **Solution: ** You might see this error when the Edge Agent software fails to establish an MQTT connection to AWS IoT Core. Check that the following are configured correctly and restart the Edge Agent software.
  + `mqttConnection::endpointUrl` – AWS account's IoT device endpoint.
  + `mqttConnection::clientID` – The ID of the vehicle in which the Edge Agent software is running.
  + `mqttConnection::certificateFilename` – The path to the vehicle certificate file.
  + `mqttConnection::privateKeyFilename` – The path to the vehicle private key file.
  + You have used AWS IoT Core to provision the vehicle. For more information, see [Provision AWS IoT FleetWise vehicles](provision-vehicles.md).

  For more troubleshooting information, see [AWS IoT Device SDK for C\$1\$1 Frequently Asked Questions](https://github.com/aws/aws-iot-device-sdk-cpp-v2/blob/main/documents/FAQ.md#frequently-asked-questions).

## Issue: [ERROR] [IoTFleetWiseEngine::connect]: [Failed to init persistency library]
<a name="troubleshooting-issue2"></a>

**Solution: ** You might see this error when the Edge Agent software fails to locate the persistence storage. Check that the following is configured correctly and restart the Edge Agent software.

`persistency:persistencyPath` – A local path used to persist collection schemes, decoder manifests, and data snapshots.

## Issue: The Edge Agent software doesn't collect on-board diagnostics (OBD) II PIDs and diagnostic trouble codes (DTCs).
<a name="troubleshooting-issue3"></a>

**Solution: ** You might see this error if `obdInterface:pidRequestIntervalSeconds` or `obdInterface:dtcRequestIntervalSeconds` is configured to 0.

If the Edge Agent software is running in an automatic transmission vehicle, make sure `obdInterface:hasTransmissionEcu` is configured to `true`.

If your vehicle supports extended Controller Area Network (CAN bus) arbitration IDs, make sure `obdInterface:useExtendedIds` is configured to `true`.

## Issue: The Edge Agent for AWS IoT FleetWise software doesn't collect data from the network or isn't able to apply data inspection rules.
<a name="troubleshooting-issue5"></a>

**Solution: **You might see this error when the default quotas are breached.


| Resource | Quota | Adjustable | Note | 
| --- | --- | --- | --- | 
| Value of the signal ID | The signal ID must be less than or equal to 50,000 | Yes | The Edge Agent software won't collect data from signals that have an ID greater than 50,000. We recommend that you check how many signals the signal catalog contains before you change this quota. | 
| Number of active data collection schemes per vehicle | 256 | Yes | We recommend that you check how many campaigns that you've created in the cloud and how many schemes each campaign contains before you change this quota. | 
| Size of the signal history buffer | 20 MB | Yes | If the quota is breached, the Edge Agent software stops collecting new data. | 

## Issue: [ERROR] [AwsIotConnectivityModule::connect]: [Connection failed with error] or [WARN] [AwsIotChannel::send]: [No alive MQTT Connection.]
<a name="troubleshooting-issue4"></a>

**Solution: **You might see this error when the Edge Agent software isn't connected to the cloud. By default, the Edge Agent software sends a ping request to AWS IoT Core every minute and waits for three minutes. If there's no response, the Edge Agent software automatically reestablishes the connection to the cloud.

# Store and forward issues
<a name="troubleshooting-campaign"></a>

**Important**  
Access to certain AWS IoT FleetWise features is currently gated. For more information, see [AWS Region and feature availability in AWS IoT FleetWise](fleetwise-regions.md).

## Issue: Receiving an `AccessDeniedException` with all required IAM permissions
<a name="troubleshooting-campaign-issue1"></a>

**Solution: ** The store and forward feature for data partitioning in campaigns requires gated access through allow listing. Contact the service team to ensure that your resources have adequate permissions through allow listing.

## Issue: The data uploaded to AWS IoT Jobs ignores the `endTime`
<a name="troubleshooting-campaign-issue2"></a>

**Solution: **You have specified an invalid `endtime` in the job document. For example, the `endtime` doesn't following ISO 8601 UTC format). On AWS IoT FleetWise Agent logs, there could be a warning-level statement that says, `Malformed IoT Job endTime: customer configured endTime. Not setting endTime`.

## Issue: The data upload to AWS IoT Jobs has a `REJECTED` execution status.
<a name="troubleshooting-campaign-issue3"></a>

**Solution: **You have specified an invalid `campaignArn` in the job document. For example, if you specify an ARN for a campaign that is not running on a vehicle, there could be a error-level statement that says, `CampaignArn value in the received job document does not match the ARN of a Store and Forward campaign` in the AWS IoT FleetWise Agent logs.