QoS Object Class failed to pass in ODVA certification test

120 views
Skip to first unread message

Luciana Magno de Almeida

unread,
Jun 6, 2024, 1:54:03 PM6/6/24
to EIP Stack Group OpENer users
Can someone help me with this issue?

I did not change my generic-networkhandler file when reset device is received and still we did not pass the ODVA certification test of Reset type 0 command.

This is the result, they did a manual testing but I'm not sure what could cause this. Did anyone encounter this issue also and could point me in the correct directing?

318633 Write back original values to NV attributes.
318634  Sending
318635   Encapsulation Header 70 00 1F 00 01 00 00 00 00 00 00 00 05 49 02 00 00 00 00 00 00 00 00 00
318636   Command Specific Data 00 00 00 00 00 00 02 00 A1 00 04 00 1B 00 B5 62 B1 00 0B 00 35 37
318637   CIP Data  10 03 20 48 24 01 30 04 37
318638  Received
318639   Encapsulation Header 70 00 1A 00 01 00 00 00 00 00 00 00 05 49 02 00 00 00 00 00 00 00 00 00
318640   Command Specific Data 00 00 00 00 00 00 02 00 A1 00 04 00 00 00 00 00 B1 00 06 00 35 37
318641   CIP Data  90 00 00 00
318642  Sending
318643   Encapsulation Header 70 00 1F 00 01 00 00 00 00 00 00 00 06 49 02 00 00 00 00 00 00 00 00 00
318644   Command Specific Data 00 00 00 00 00 00 02 00 A1 00 04 00 1B 00 B5 62 B1 00 0B 00 36 37
318645   CIP Data  10 03 20 48 24 01 30 05 2F
318646  Received
318647   Encapsulation Header 70 00 1A 00 01 00 00 00 00 00 00 00 06 49 02 00 00 00 00 00 00 00 00 00
318648   Command Specific Data 00 00 00 00 00 00 02 00 A1 00 04 00 00 00 00 00 B1 00 06 00 36 37
318649   CIP Data  90 00 00 00
318650  Sending
318651   Encapsulation Header 70 00 1F 00 01 00 00 00 00 00 00 00 07 49 02 00 00 00 00 00 00 00 00 00
318652   Command Specific Data 00 00 00 00 00 00 02 00 A1 00 04 00 1B 00 B5 62 B1 00 0B 00 37 37
318653   CIP Data  10 03 20 48 24 01 30 06 2B
318654  Received
318655   Encapsulation Header 70 00 1A 00 01 00 00 00 00 00 00 00 07 49 02 00 00 00 00 00 00 00 00 00
318656   Command Specific Data 00 00 00 00 00 00 02 00 A1 00 04 00 00 00 00 00 B1 00 06 00 37 37
318657   CIP Data  90 00 00 00
318658  Sending
318659   Encapsulation Header 70 00 1F 00 01 00 00 00 00 00 00 00 08 49 02 00 00 00 00 00 00 00 00 00
318660   Command Specific Data 00 00 00 00 00 00 02 00 A1 00 04 00 1B 00 B5 62 B1 00 0B 00 38 37
318661   CIP Data  10 03 20 48 24 01 30 07 1F
318662  Received
318663   Encapsulation Header 70 00 1A 00 01 00 00 00 00 00 00 00 08 49 02 00 00 00 00 00 00 00 00 00
318664   Command Specific Data 00 00 00 00 00 00 02 00 A1 00 04 00 00 00 00 00 B1 00 06 00 38 37
318665   CIP Data  90 00 00 00
318666  Sending
318667   Encapsulation Header 70 00 1F 00 01 00 00 00 00 00 00 00 09 49 02 00 00 00 00 00 00 00 00 00
318668   Command Specific Data 00 00 00 00 00 00 02 00 A1 00 04 00 1B 00 B5 62 B1 00 0B 00 39 37
318669   CIP Data  10 03 20 48 24 01 30 08 1B
318670  Received
318671   Encapsulation Header 70 00 1A 00 01 00 00 00 00 00 00 00 09 49 02 00 00 00 00 00 00 00 00 00
318672   Command Specific Data 00 00 00 00 00 00 02 00 A1 00 04 00 00 00 00 00 B1 00 06 00 39 37
318673   CIP Data  90 00 00 00
318674  Sending
318675   Encapsulation Header 70 00 1E 00 01 00 00 00 00 00 00 00 0A 49 02 00 00 00 00 00 00 00 00 00
318676   Command Specific Data 00 00 00 00 00 00 02 00 A1 00 04 00 1B 00 B5 62 B1 00 0A 00 3A 37
318677   CIP Data  0E 03 20 01 24 01 30 01
318678  Received
318679   Encapsulation Header 70 00 1C 00 01 00 00 00 00 00 00 00 0A 49 02 00 00 00 00 00 00 00 00 00
318680   Command Specific Data 00 00 00 00 00 00 02 00 A1 00 04 00 00 00 00 00 B1 00 08 00 3A 37
318681   CIP Data  8E 00 00 00 EB 06
318682  Sending
318683   Encapsulation Header 70 00 1D 00 01 00 00 00 00 00 00 00 0B 49 02 00 00 00 00 00 00 00 00 00
318684   Command Specific Data 00 00 00 00 00 00 02 00 A1 00 04 00 1B 00 B5 62 B1 00 09 00 3B 37
318685   CIP Data  05 02 20 01 24 01 00
318686  Received
318687   Encapsulation Header 70 00 1A 00 01 00 00 00 00 00 00 00 0B 49 02 00 00 00 00 00 00 00 00 00
318688   Command Specific Data 00 00 00 00 00 00 02 00 A1 00 04 00 00 00 00 00 B1 00 06 00 3B 37
318689   CIP Data  85 00 00 00
318690 1946723179 Test Timer Delay 250 milli-seconds
318691 1949337993 Test Timer Delay 250 milli-seconds
318692  Sending
318693   Encapsulation Header 65 00 04 00 00 00 00 00 00 00 00 00 0C 49 02 00 00 00 00 00 00 00 00 00
318694   Command Specific Data 01 00 00 00
318695  Received
318696   Encapsulation Header 65 00 04 00 01 00 00 00 00 00 00 00 0C 49 02 00 00 00 00 00 00 00 00 00
318697   Command Specific Data 01 00 00 00
318698  Sending
318699   Encapsulation Header 6F 00 42 00 01 00 00 00 00 00 00 00 0D 49 02 00 00 00 00 00 00 00 00 00
318700   Command Specific Data 00 00 00 00 00 00 02 00 00 00 00 00 B2 00 32 00
318701   CIP Data 5B 02 20 06 24 01 06 28 00 00 00 00 00 00 00 00 0A 00 18 00 78 56 34 12 00 00 00 00 60 61 02 00
           E7 FF 00 42 60 61 02 00 E7 FF 00 42 A3 02 20 02 24 01
318702  Received
318703   Encapsulation Header 6F 00 2E 00 01 00 00 00 00 00 00 00 0D 49 02 00 00 00 00 00 00 00 00 00
318704   Command Specific Data 00 00 00 00 00 00 02 00 00 00 00 00 B2 00 1E 00
318705   CIP Data DB 00 00 00 1C 00 B5 62 00 00 00 00 0A 00 18 00 78 56 34 12 60 61 02 00 60 61 02 00 00 00
318706   1> * Reminder: An automated Behavior test for QoS Object is not included in this version. Successfully passing the manual test procedure will waive this error.
318707 ***** Found 1 Reminders *****
318708 Test Passes
318709 End: Behavior Test

martin...@gmail.com

unread,
Sep 2, 2024, 5:10:35 AM9/2/24
to EIP Stack Group OpENer users
Hi,

this is the log from the CT Tool, right?
The only error I see is, that you need to manually test this, but as this is intended by the CT tool, I cannot really understand the error you are facing.
From the log (first line) it seems that the QoS values were read and updated from the nv file.

Quite sure this also worked at my last PlugFest

Cheers

Richard Wu

unread,
Feb 5, 2025, 9:54:56 AMFeb 5
to EIP Stack Group OpENer users
Hi All,

We just took the OpENer latest main with integrated lldpd  for ODVA CT21 Test, it failed on below,  and talked with ODVA test engineer, it seems that those DSCP values need to survive the type 0 reset and power  cycle.  
@Luciana Magno de Almeida:  were you able to resolve this error?

Any  comments?

Best,

Richard



Screenshot 2025-02-05 094729.png
We just took the OpENer for ODVA CT21 Test, it failed 


Joakim Wiberg

unread,
Feb 5, 2025, 10:57:49 AMFeb 5
to Richard Wu, EIP Stack Group OpENer users
Hi Richard,

The values in the QoS object are intended to persist through a power cycle, as indicated in the object's "NV" column. However, OpENer does not include built-in functionality for saving attributes to non-volatile storage.

Ideally, a portability layer for non-volatile storage would be available, allowing users to adapt it to their specific platform. In this case, OpENer could invoke this portability function whenever an attribute requiring non-volatile storage is set.

Joakim

--
You received this message because you are subscribed to the Google Groups "EIP Stack Group OpENer users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eip-stack-group-open...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/eip-stack-group-opener-users/5cb23df8-c684-4ecf-b772-655a0211510en%40googlegroups.com.

Richard Wu

unread,
Feb 6, 2025, 10:26:21 AMFeb 6
to EIP Stack Group OpENer users
Hi Joakim,

Thanks for the replies! it turned out the latest OpENer had those NV store implemented, the problem was our custom code.  I will retest those with CT21 Conformance test suite. 

Best,

Richard

Richard Wu

unread,
Feb 12, 2025, 8:15:38 PMFeb 12
to EIP Stack Group OpENer users
Now we got the last error related new DSCP vale for Explicit messaging,  when we changed the  DSCP Explicit(attribute 8) from default  "27"  to a new value "8", and type 0 reset the adapter, then we did a list Identity  call and examined the DSCP value in wireshark captures, it was still "27" instead of "8", but if we power cycle the adapter,  the new DSCP value took effect.(This is expected for both type 0 reset and power cycle). So it looks like there are issues with type 0 reset for DSCP Explicit value change. for implicit IO, it seems type 0 reset and power cycle have correct behavior. Any comments?

Best,

Richard 

Joakim Wiberg

unread,
Feb 17, 2025, 9:50:01 AMFeb 17
to EIP Stack Group OpENer users

I’m not sure if this is the issue, but it’s something worth checking. Both the “power cycle” and “out-of-box” resets, ResetDevice() and ResetDeviceToInitialConfiguration(), call CloseAllConnections(). However, CloseAllConnections() only terminates I/O connections while keeping the encapsulation layer active.

This is likely why you don’t see the new DSCP values - the TCP socket hasn’t been reinitialized. When you restart your device, everything is fully reinitialized, and the new setting takes effect – this is why it works when you power cycle the device.

After receiving a reset and sending the response, you should stop accepting explicit messages, once this is done perform a reset of the device. The behaviour is described in Volume 1, Section 5A-2.4.1.

Joakim


Richard Wu

unread,
Feb 18, 2025, 6:32:30 PMFeb 18
to EIP Stack Group OpENer users
Hi Joakim,

You are exaxtly correct!  ResetDevice() needs to set the new QOS values on udp and tcp sockets for Encapsulation and explicit messaging for type 0 reset. And for type 1 reset, QoS nvdata needs to persist to disk. 
We are more closer to CT21:)
Thanks a lot!

Richard

Richard Wu

unread,
Mar 6, 2025, 11:32:51 AMMar 6
to EIP Stack Group OpENer users
Thank you for all the helps! We actually passed CT21 with our integrated LLDP and fixes on OpENer Stack.

Best,

Richard

Message has been deleted

pashupati chatterji

unread,
Jul 25, 2025, 8:00:51 AMJul 25
to EIP Stack Group OpENer users
Hi Richard,
I've just joined the group. I am trying to get my organization to use OpERer instead of a commercial EIP stack. One of the main concerns is if CT21 is supported. So I was glad to see your mail! Have you merged the changes you needed to make to the stack to pass CT21 back to the repo? Or, have you documented the changes? This could be invaluable to other users! I would really appreciate if you could share the steps you needed to do .

Also btw., did you use CIP Security? I notice that CIP Security does not form a part of the main branch. There is a separate branch called "CIP Security", but it seems to be several commits behind the main branch and hasn't been updated in some time. I need to use CIP Security.
thanks in advance
best regards
Pashupati

martin...@gmail.com

unread,
Jul 25, 2025, 2:21:08 PMJul 25
to EIP Stack Group OpENer users
Hi Pashupati,

CIP Security is still unfinished.

Best regards,
Martin

Reply all
Reply to author
Forward
0 new messages