Maybe lcec doesn't find the device or it doesn't go to OP.
From "ethercat slaves", are they in OP?
In halshow, can you see the pin lcec.0.0.statusword?
Any clues from "sudo dmesg", the last say 50 lines are of interest.
Edit. I looked a bit closer at the ethercat-conf.xml file.
You have double info, which I haven't seen before. Where does the info in that file come from?
I am not used to see a lot of PDOs in syncManager 0 and 1, but always have the PDOs
in SM 2 and SM 3. And you have the info there as well.
Can you test to replace the contents in ethercat-conf.xml of the clients with this
Code:
<slave idx="0" fill in the rest in this line
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="controlword" halType="u32"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
<pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
<pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="statusword" halType="u32"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
<pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
</pdo>
</syncManager>
</slave>