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

Reply via email to