<div dir="ltr"><div dir="ltr">Hello everyone.</div><div dir="ltr">I'm using kernel 3.4.6, RTAI 4.0 and IgH Master 1.5.2.<br><div>When running <a href="https://github.com/mohse-n/L7N_EtherLab/blob/master/rtai/rtai_sample.c">a simple RTAI program</a> that uses distributed clocks (basically the dc_rtai example), I encounter the following kernel log:</div><div><br></div><div><div><i>kernel: [ 1891.643677] EtherCAT 0: Link state of ecm0 changed to UP.</i></div><div><i>kernel: [ 1891.647798] EtherCAT 0: 2 slave(s) responding on main device.</i></div><div><i>kernel: [ 1891.647800] EtherCAT 0: Slave states on main device: PREOP.</i></div><div><i>kernel: [ 1891.647837] EtherCAT 0: Scanning bus.</i></div><div><i>kernel: [ 1892.083268] EtherCAT 0: Bus scanning completed in 436 ms.</i></div><div><i>kernel: [ 1892.083271] EtherCAT 0: Using slave 0 as DC reference clock.</i></div><div><i>kernel: [ 1906.700138] EtherCAT: Requesting master 0...</i></div><div><i>kernel: [ 1906.700142] EtherCAT: Successfully requested master 0.</i></div><div><i>kernel: [ 1906.700160] EtherCAT 0: Domain0: Logical address 0x00000000, 24 byte, expected working counter 6.</i></div><div><i>kernel: [ 1906.700161] EtherCAT 0:   Datagram domain0-0-main: Logical offset 0x00000000, 24 byte, type LRW.</i></div><div><i>kernel: [ 1906.700185] EtherCAT 0: Master thread exited.</i></div><div><i>kernel: [ 1906.700187] EtherCAT 0: Starting EtherCAT-OP thread.</i></div><div><i>kernel: [ 1906.704215] ec_rtai_sample: RT timer started with 3116/3117 ticks.</i></div><div><i>kernel: [ 1906.704218] ec_rtai_sample: Initialized.</i></div><div><i>kernel: [ 1911.935059] EtherCAT WARNING 0-0: Slave did not sync after 5000 ms.</i></div><div><i>kernel: [ 1911.946039] EtherCAT 0: Domain 0: Working counter changed to 3/6.</i></div><div><i>kernel: [ 1914.070216] EtherCAT ERROR 0-0: Failed to set OP state, slave refused state change (SAFEOP + ERROR).</i></div><div><i>kernel: [ 1914.073870] EtherCAT ERROR 0-0: AL status message 0x002D: "No Sync Error".</i></div><div><i>kernel: [ 1914.081189] EtherCAT 0-0: Acknowledged state SAFEOP.</i></div><div><i>kernel: [ 1919.308375] EtherCAT WARNING 0-1: Slave did not sync after 5000 ms.</i></div><div><i>kernel: [ 1919.321187] EtherCAT 0: Domain 0: Working counter changed to 6/6.</i></div><div><i>kernel: [ 1921.449013] EtherCAT ERROR 0-1: Failed to set OP state, slave refused state change (SAFEOP + ERROR).</i></div><div><i>kernel: [ 1921.452670] EtherCAT ERROR 0-1: AL status message 0x002D: "No Sync Error".</i></div><div><i>kernel: [ 1921.459991] EtherCAT 0-1: Acknowledged state SAFEOP.</i></div><div><i>kernel: [ 1921.469158] EtherCAT 0: Slave states on main device: SAFEOP.</i></div><div><i><br></i></div><div>The slaves (servo drives) would give an alarm related to EtherCAT communication.</div><div>Apparently, the slaves are unable to sync after 5 seconds. But why?</div></div><div>(Note: I have tested the distributed clocks example in userspace and it works, so I don't think the issue is from the slaves' side.)</div><div>Best,</div><div>Mohsen</div></div></div>