Error codes
Error codes
This documnent describes error codes and how to resolve them.
E001: name is required
When instantiating a topology you need to specify a name. You have two options:
- add
--name <name>
to your command line - add a name attribute in the instance.yaml, eg:
schema: remotive-topology-instance:0.4
name: <name>
E002: schema is required
Each instance.yaml must have the schema name and version, eg
schema: remotive-topology-instance:0.4
E003: major version mismatch
The schema major version is not supported by the RemotiveTopology CLI you are using. You need to use an older or newer version of the CLI. Notice that all included instance.yaml files must use the same major version.
E004: minor version mismatch
The schema minor version is not supported by the RemotiveTopology CLI you are using. Upgrade RemotiveTopology CLI.
E005: Invalid schema
Schema version must be specified using remotive-topology-instance:<major>.<minor>
format.
E006: settings.remotivebroker.version is required
To instantiate the topology a specific version of RemotiveBroker is needed. To get consistent behavior we recommend setting a fixed version.
E010: Undefined ECU
The ECU is missing from the platform. This can be because a platform file is missing or because of a spelling error. Ensure that you have added the proper signal databases or ECU extracts. For example use remotive-topology show topology ecu-extract.arxml
to verify that the ECU has the name you are expecting.
E011: Undefined channel
The channel is missing from the platform. Ensure that the spelling is correct. Sometimes channels are not defined in ARXML and must be added manually, for example by adding a DBC file:
schema: remotive-topology-platform:0.4
channels:
DriverCan0:
type: can
database: ../databases/driver_can.dbc
can_physical_channel_name: DriverCan0
E012: Undefined ECU channel
The ECU is not connected to the channel. Ensure the spelling is correct. To manually add an ECU channel you can add the following:
schema: remotive-topology-platform:0.4
ecus:
BCM:
channels:
DriverCan0:
This adds the DriverCan0 to the BCM.
E013: Invalid EthernetChannel
An EthernetChannel must include subnet.
schema: remotive-topology-platform:0.4
channels:
ETH:
type: ethernet
subnet: 10.1.1.0/24
E014: CAN udp driver must be empty or contain subnet, target_host, and port
When using udp emulation for CAN you can optionally specify details about the UDP broadcast. If you specify subnet, target_host or port you must specify all three.
Option 1: Use defaults (automatically assigns free subnet and port)
schema: remotive-topology-instance:0.4
channels:
DriverCan0:
type: can
driver:
type: upd
Option 2: Explicit configuration
schema: remotive-topology-instance:0.4
channels:
DriverCan0:
type: can
driver:
type: upd
port: 14000
subnet: 10.19.1.0/24
target_host: 230.0.0.1
The explicit configuration might be useful when adding other tools such as wireshark.
E015: Failed to map ecu to channel
RemotiveTopology could not determine how the ECU is connected to the channel. This can happen because there is missing information in the platform, for example for ethernet channels the platform must specify the host ip of the ECU:
ecus:
MyECU:
channels:
Eth:
config:
type: ethernet
host: 10.1.4.50
E016: Invalid device_name for device_name
This error occurs when using the dockercan
driver, but the device_name
does not follow the required rules. The device_name
must be 1–14 characters long and consist only of lowercase alphanumeric characters and dashes (a-z
, 0-9
, and -
).
To resolve this issue, specify a valid device_name
in your instance configuration:
schema: remotive-topology-instance:0.4
channels:
DriverCan0:
type: can
driver:
type: dockercan
device_name: host-can
E017: Invalid device name for peer
This error occurs when using the dockercan
driver, but the peer
name does not follow the required rules. The peer
name must be 1–13 characters long and consist only of lowercase alphanumeric characters and dashes (a-z
, 0-9
, and -
).
Note that the default peer name is derived from the channel name. For channels with names longer than 13 characters, you must explicitly specify the peer name.
To resolve this issue, specify a valid peer
name in your instance configuration:
schema: remotive-topology-instance:0.4
channels:
DriverCan0:
type: can
driver:
type: dockercan
device_name: host-can
peer: drivercan
E018: device_name is required for driver
Channel instance driver (eg macvlan, ipvlan) requires a device_name
which is used to connect to a physical device.
E019: Failed to instantiate channel
RemotiveTopology could not determine how to instantiate the channel. Try adding an instance channel.
E020: Failed to load
This typically happens because the file is correctly formatted or corrupt.
E021: Failed to copy database
Signal databases must be copied to be part of the generated output. This error happens when a signal database could not be copied. Make sure:
- the path to the signal database is correct
- the file system permissions on the signal database is correct
- the file system permissions on output folder is correct
When running remotive-topology
using docker, make sure that all files exist in a subfolder of your current working directory.
E030: SOME/IP service instance not found
This happens when provided_service_instances
or consumed_service_instances
is referring to an instance that is not defined. Make sure the service is defined in the same channel as it is being used.
E031: SOME/IP service provider endpoint not found
This happens when trying to consume a service instance that has no provided_service_instances
defined.
E032: SOME/IP endpoint type mismatch
This happens when trying to consume a SOME/IP service with the incorrect protocol. For example if the service instance is provided over TCP it must be consumed over TCP or vice versa for UDP.
E033: SOME/IP service instance service_id missing
This typically happens when manually configuring a SOME/IP service instance and you forget to set the service_id.
E034: SOME/IP service instance instance_id missing
This typically happens when manually configuring a SOME/IP service instance and you forget to set the instance_id.
E035: SOME/IP service instance version_major missing
This typically happens when manually configuring a SOME/IP service instance and you forget to set the version_major. This can also happen when ARXML is missing version_major which probably means that it is not intended to be instantiated.
E040: Static socket connection not found
This happens when trying to instantiate an ethernet channel with static socket connections and the channel instance is referring to a connection that does not exist in the platform.
E050: model name must be lowercase
Behavioral models must use lowercase. This is because of a limitation in Docker.
E051: No container specified for model
Behavioral models must have a container.
ecus:
BCM:
models:
bcm:
type: container
container:
dockerfile: ../special-python-runner.dockerfile
It is quite common to have the same dependencies for all python models and in this case you can specify a default dockerfile:
settings:
docker:
python:
dockerfile: ../python-runner.dockerfile
E052: No container specified for mocks
Currently mocks must have a container configuration:
settings:
docker:
mock:
dockerfile: ../mock.dockerfile
E053: Either dockerfile or image must be specified
When defining a container you can either use an existing image or use a dockerfile to build your custom container. In your dockerfile you can specify which base image you want to use.
Notice that this applies to all container configurations, ie both for mocks, models, ecus and generic containers.
E054: Container build args can only be used with dockerfile
The container property args
represents the build arguments which are available when building from a dockerfile. Do not specify args
when only using image
. Instead use environment
if you want to specify environment variables that are available to the container.
E060: Multiple lin auto_config_boot_server servers configured
When connecting RemotiveLabs LIN hardware, all LIN channels for a single ECU (RemotiveBroker) must use the same port number configured for auto_config_boot_server. To fix this issue check what other LIN channels are configured for the ECU and make sure they all use the same auto_config_boot_server port number. Remember that each ECU needs to use its own, unique port. Try running:
remotive-topology show topology your-instance-file.instance.yaml --resolve
E061: Lin channel has no master ECU configured
Verify that the LDF file includes a master ECU.
Unexpected errors
For the following errors or other unexpected problems you can contact support@remotivelabs.com for help.
E900: Error when building broker config
This is an unexpected error that happened when generating configuration for RemotiveBroker. Verify the platform and instance configuration for the affected ECU.
E901: Failed to generate ecu
This is an unexpected error that happened when generating docker compose configuration for a particular ECU. Verify the platform and instance configuration for the affected ECU.
E902: Failed to generate channel
This is an unexpected error that happened when generating docker compose configuration for a particular channel. Verify the platform and instance configuration for the affected channel.