Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: V5.4.0.0
-
Fix Version/s: V5.4.0.2
-
Labels:None
-
Account:SPC EthernetIp Slave (SPCETHERNE)
Description
It can happen that the EtherNet/IP firmware sets its remanent data back to the factory default state in case an IP address conflict is detected twice in quick succession.
This can happen when the EtherNet/IP device is powered up and running and another device is added to the network that does not have ACD (Address Conflict Detection) implemented or activated. It does not necessarily be an EtherNet/IP device, it could be any other type of IP based device. Also it does not matter where in the network the device is added. The only conditions is that both devices are "seeing" each others ARP frames.
There are basically two types of scenarios where the issue shows up:
- In case the newly added device does send an ARP Announce frame to signal its IP and MAC address to other network participants, the EtherNet/IP device detects this as a conflict (conflict 1) and tries to defend its IP address by also sending an ARP Announce Message. In case the newly added device responds to this again with an ARP Announce message (conflict 2), the EtherNet/IP device will cease using its IP address and signals an IP address conflict through its Module and Network Status LEDs (MS: flashing red, NS: steady red).
- The EtherNet/IP device sends so called ongoing ARP probes from time to time on the network in order to detect IP address conflicts.
Such a probe is answered by the conflicting device by an ARP Announce message, which in turn will trigger the same sequence as in step 1 above.
Typically, an IP address conflict can be solved by taking the conflicting device out of the network (or changing its IP address) and power cycling the EtherNet/IP device that is in the conflict state.
However, in case the two conflicts happen in quick succession (< 50ms), a bug in the EtherNet/IP firmware makes the remanent data become invalid which leads to the factory default data after the device is power cycled.
Possible Workaround (but not recommended):
Switch off ACD by setting TCP/IP instance attribute 10 to value 0.
To do so, send a set_attribute_single service (CIP service code 0x10) to object 0xF5, instance 1, attribute 10, data 0x00 (1 byte).
Info about remanent data:
An EtherNet/IP device persistently stores certain CIP attributes in a flash device.
The set of such stored attributes is called remanent data.
Typical parameters that are part of that data are:
- IP Config Method (Static, DHCP, BOOTP)
- IP Address, Gateway, Subnet Mask
- Speed/Duplex values of Ethernet ports
- Last IP address conflict Information
- and others
For a complete list have a look into the appropriate API Manual of the firmware in use.
Attachments
Issue Links
- relates to
-
PSEIP-777 Remanent data size is incorrectly limited to 1500 bytes
- Closed