It's toggling between 13 and 21 slave responding. Maybe check the Ethernet cable / connection between them.
Also try the crc and diag commands to check for communication errors. Regards, Graeme. From: etherlab-users <etherlab-users-boun...@etherlab.org> On Behalf Of law_...@aliyun.com Sent: Sunday, 18 November 2018 2:01 AM To: etherlab-users <etherlab-users@etherlab.org> Subject: [etherlab-users] Regular "working counter changes" error Dear all, I am running Etherlab master with Gavin's patches to drive some IO modules and servo drivers. All the slaves are successfully configured and switched to OP. But I got a lot of working counter warnings begin from it is started. Part of the dmesg log is shown below: [ 4764.420650] EtherCAT 0: Domain 0: 670 working counter changes - now 13/21. [ 4765.424640] EtherCAT 0: Domain 0: 669 working counter changes - now 21/21. [ 4766.428629] EtherCAT 0: Domain 0: 669 working counter changes - now 13/21. [ 4767.432619] EtherCAT 0: Domain 0: 670 working counter changes - now 13/21. [ 4768.436609] EtherCAT 0: Domain 0: 669 working counter changes - now 21/21. [ 4769.440597] EtherCAT 0: Domain 0: 669 working counter changes - now 13/21. [ 4770.444586] EtherCAT 0: Domain 0: 670 working counter changes - now 13/21. [ 4771.448576] EtherCAT 0: Domain 0: 669 working counter changes - now 21/21. Some information of my system: CPU: AMD ryzen5 1600x, Intel I211 network card, LMDE2(Debian8), Kernel: 4.9.0-0.bpo.8-rt-amd64 (rt-preempt), IgH EtherCAT master 1.5.2 d5f6daedadc3+, I am using the generic driver. I believe this is not a timing problem of the realtime master thread. Because I have isolated serval cores (6-11) for realtime tasks, and the max jitter of realtime thread is no more than 5us. mint@lmde ~ $ sudo cyclictest -p80 --smp [sudo] password for mint: # /dev/cpu_dma_latency set to 0us WARN: Running on unknown kernel version...YMMV policy: fifo: loadavg: 0.32 0.09 0.03 1/872 17643 T: 0 (17345) P:80 I:1000 C: 58319 Min: 1 Act: 2 Avg: 3 Max: 34 T: 1 (17346) P:80 I:1500 C: 38879 Min: 1 Act: 5 Avg: 4 Max: 113 T: 2 (17347) P:80 I:2000 C: 29159 Min: 1 Act: 3 Avg: 4 Max: 42 T: 3 (17348) P:80 I:2500 C: 23327 Min: 1 Act: 3 Avg: 4 Max: 43 T: 4 (17349) P:80 I:3000 C: 19439 Min: 1 Act: 3 Avg: 5 Max: 32 T: 5 (17350) P:80 I:3500 C: 16662 Min: 1 Act: 3 Avg: 4 Max: 27 T: 6 (17351) P:80 I:4000 C: 14579 Min: 2 Act: 3 Avg: 3 Max: 4 T: 7 (17352) P:80 I:4500 C: 12959 Min: 2 Act: 3 Avg: 3 Max: 5 T: 8 (17353) P:80 I:5000 C: 11663 Min: 2 Act: 3 Avg: 3 Max: 5 T: 9 (17354) P:80 I:5500 C: 10603 Min: 2 Act: 3 Avg: 3 Max: 5 T:10 (17355) P:80 I:6000 C: 9719 Min: 2 Act: 4 Avg: 3 Max: 4 T:11 (17356) P:80 I:6500 C: 8972 Min: 2 Act: 3 Avg: 3 Max: 4 I have tried to use DC but the errors still happen. Related codes: ecrt_domain_queue(domain1); clock_gettime(CLOCK_TO_USE, &time); ecrt_master_application_time(master, TIMESPEC2NS(time)); ecrt_master_sync_reference_clock(master); ecrt_master_sync_slave_clocks(master); ecrt_master_send(master); The sync functions are called after ecrt_domain_queue() as suggested in other mail threads. I have also tried the igb driver instead of generic, but the problem still. Can anyone help explain what is happening and what should I do to get rid of these errors please? Thanks in advance, Yours, Jancon
_______________________________________________ etherlab-users mailing list etherlab-users@etherlab.org http://lists.etherlab.org/mailman/listinfo/etherlab-users