EtherNet/IP connection error 0x0203 after firmware update

This topic refers to a case where EtherNet/IP communication stops working after updating the RMC70/150 firmware from pre-3.41.0 to 3.41.0 or newer. This also applies to new installations using RMC70/150 firmware 3.41.0 or newer with Rockwell Automation Ethernet modules with older firmware, as described below.

CAUSE
The RMC70/150 firmware release 3.41.0 introduced a number of enhancements to the EtherNet/IP protocol, including support for the Quality-of-Service (QoS) object in EtherNet/IP. This object allows managed Ethernet switchgear to prioritize EtherNet/IP packets to provide even higher levels of determinism. The QoS object was defined by ODVA (http://www.odva.org) to be backward compatible with devices that did not support the QoS object.

However, unfortunately it has been found that some devices incorrectly handle the default QoS object behavior of marking I/O data with non-zero DSCP values. In particular, a number of Rockwell Automation Ethernet modules with older firmware discard I/O packets that have been marked in this way, causing the EtherNet/IP I/O connection to time out with error code 16#0203 shortly after it is established.

Rockwell Automation is aware of the problem, and has a knowledge base article that discusses the issue (#63904 - http://rockwellautomation.custhelp.com/app/answers/detail/a_id/63904/) and suggests that users update the firmware in their Ethernet modules to fix the issue. The following firmware revisions fix the problem in the following Rockwell modules:
1788-ENB: 2.4.1
L2xE/L3xE: V17
1756-ENBT: 4.5.1
1756-EWEB: 4.5.3
1768-ENBT: 2.1.0
1768-EWEB: 1.2.9
1794-AENT: 4.1.1

If you have one of these modules with an older revision, then you should update the Rockwell Ethernet module firmware, if possible.

SOLUTIONS
There are three possible solutions:

  1. Update Rockwell Module firmware (recommended)
    Update the firmware in the affected Rockwell Ethernet module.

  2. Disable Non-Zero DSCP Values in RMCTools
    This is not necessary if you followed the recommended solution #1.
    In RMCTools 3.42.0 or newer (not yet released as of this writing), do the following:

    1. In the Project tree, expand the Modules folder and double-click the RMC CPU.
    2. On the EtherNet/IP page, in the Quality of Service (QoS) section, uncheck the Enable DiffServ Code Point (DSCP) marking box.
    3. Click OK to apply the changes to the RMC. Ensure that the changes are saved to flash and the controller is restarted for the changes to take effect.
  3. Use Older RMC Firmware (not recommended)
    Revert the RMC70/150 back to pre-3.41.0 firmware. To obtain old firmware, contact Delta Technical Support. When updating firmware, you also have the option of backing up the firmware currently in the module.