The following article guides you through different kind of use cases with SOME/IP.
For example:
If you receive a ~NotPresent~ it may be due to there are no values in the receive buffer1. Please take a look at the flow chart: ![]() If your symptom is not listed please take a look at #support. |
For example:
If you receive the following error
please check, that the port must not be SERVICEACCESS - SERVICE-PCAP-PASSIVE. If you receive ~NotPresent 'the service is not ready'~ or the following error
it means, that ecu.test does not yet know which endpoint offers the service (SOME/IP-SD Offer not received). Please take a look at the flow chart: ![]() If your symptom is not listed please take a look at #support. |
For example:
If you receive one of the following errors
please check, that the used port has to be SERVICEACCESS - SERVICE-PCAP-PASSIVE. If you receive a ~NotPresent~, please take a look at the flow chart: ![]() If your symptom is not listed please take a look at #support. |
For example:
If you receive no samples, please take a look at the flow chart: ![]() If your symptom is not listed please take a look at #support. |
Please take a look at [Request] The perfect support request as well. Necessary data would be in this case:
|
1 No values in the receive buffer For test steps such as read event, ecu.test only looks in the receive buffer and does not wait for new values. The values must therefore already be there, otherwise the result is ~NotPresent~ or an old value. Receipt and deserialization must have taken place by the time the values are in the receive buffer. Deserialization takes a while for very extensive signal structures. Receipt requires that SOME/IP-SD communication has been successfully carried out (active) or read (passive), i.e. SOME/IP-SD Find and Offer must have taken place for the relevant service and SOME/IP-SD Subscribe and SubscribeAck for the relevant event group. The event is usually sent cyclically by the DUT, so the cycle time should also be waited for. |
2 Wait until true with a sufficiently large timeout The size of the timeout depends mainly on the factors described in 1 and can be chosen very generously for the first attempts (10 seconds or even longer). A polling cycle of e.g. 100ms is also recommended in order to reduce access to the receive buffer and the associated round trips (especially when using the Tool-Server). |
3 .pcap/.pcapng The recording of ethernet communication as a |
4 Must be ensured Because ecu.test cannot actively communicate via a passive port (e.g. no SOME/IP-SD Subscribe, no SOME/IP method call, etc.), the DUT must be stimulated by another participant. If this is not available, the relevant communication cannot usually be monitored and evaluated with ecu.test. Please also ask yourself: is a passive port the right choice for the use case to be mapped or should it have been an active port instead? |
5 GetActiveServices job This job can be used at the start of a test case, for example, to wait until ecu.test knows the offering endpoints for the services required in the test case or signal acquisition. Specifically, a tuple (ServiceId, InstanceId) appears in the job results list as soon as ecu.test has received and processed the corresponding SOME/IP-SD offer packet. |
6 Is an event sent? / Is there a method call? To be able to check this in Wireshark (e.g. after directly recording or loading a |
7 Correct network adapter/connection selected? Are the network and controller correct? The aim here is to check whether the correct "physical layer" has been selected. If the DUT is connected to a completely different port, it is not possible to communicate with it. This mainly concerns the PCAP ports of the TraceTronic: Ethernet tool, but also Ethernet ports for Vector: XL-API and Vector: SIL-Kit. A simple test is to create a RECORDING-PCAP port in the TBC and enter the same network adapter/connection/network+controller, path/filename for PCAP/PCAPNG file e.g. |
8 Special tests for Vector: SIL-Kit Is the |
9 VLAN settings suitable for the network If the TBC option allows the "auto" setting, the VLAN ID from the |
10 ping, telnet, ssh Depending on which interfaces the DUT offers - e.g. whether it responds to ICMP echo requests (a.k.a. ping) at all, etc. If the DUT can be reached in this way, the SERVICEACCESS - SERVICE port (without PCAP) can be used, otherwise a SERVICEACCESS - SERVICE-PCAP port should be used. If no firewall rules prevent the ping/telnet/ssh attempts, it is normally quite easy to predict from the IP addresses of the DUT and test bench computer and the subnet mask used whether the DUT can be reached by operating system means or not. |
11 IP address must not correspond to one that... already belongs to another participant, e.g. another ECU in the test bench setup. |
12 Same subnet Assuming the DUT has the IP address 192.168.123.42 and the subnet mask is 255.255.255.128, all IP addresses from 192.168.123.1 to 192.168.123.127 would be eligible for ecu.test - with the exception of 42, as this is already used by the DUT. A last byte >= 128 or other values in the first 3 bytes are excluded by the subnet mask. |
13 Please note when using PCAP-based ports Please use npcap (https://npcap.com/windows-10.html) and completely remove any existing WinPCAP installation. WinPCAP is hopelessly outdated. A parallel installation leads to unexpected behavior. |