[etherlab-users] Απ: AL status message 0x0036: "DC Sync0 Cycle Time"

Christoph Schroeder christoph.schroeder at helmholtz-berlin.de
Wed Apr 11 17:52:12 CEST 2018


Hello Mike,

reffering to the last question on this list regarding a driver for the
RasPi 3 and kernel 4.x, which driver are you actually using? I thought
the native drivers don't work with newer kernels. I am currently using
the native driver for e1000e Intel cards on Debian Jessie (kernel 3.16)
and would like to upgrade to Debian Stretch (kernel 4.9).

Another question: Which branch of Xenomai did you use (Xenomai 2.x or
Xenomai 3.x)? I did some tests with Xenomai myself and it seemed the
master was ready to use with Xenomai 2 while it requires some
modifications for usage with Xenomai 3.

Best regards,
Christoph

On 04/02/2018 08:55 PM, Mike Karam wrote:
> Hi Jurgen,
>
> thanks for your reply. The current option I have beyond the preempt_rt patch is the Xenomai framework (since RTAI I think is not very actively developed nowadays, in contrast with Xenomai).
> I have read some articles which say that the gain in the loop rate is not that much considering the development cost. Therefore I haven't done anything in this direction. Moreover, the delay from the slave is around 200 μs so I don't think I can get more than 5 KHz.
> I compiled the kernel myself, following this very good tutorial: https://ubuntuforums.org/showthread.php?t=2273355
> When I say "native driver" support I mean the e1000e driver support, but for the 3.16 kernel (I don't know if that is correct, but having also used the generic driver support, the outcomes don't have significant differences).
> I'm attaching the makefile I used. It's the makefile provided by synapticon: https://doc.synapticon.com/tutorials/getting_started_igh_ethercat_master/installing_igh_ethercat_master/
> but a bit changed.
>
> SHELL := /bin/bash
> ethercatMasterVersion:=1.5.2-merc
> ethercatMasterZip:=ethercat-$(ethercatMasterVersion).tar.bz2
> udevRulesFile:=99-EtherCAT.rules
> ethercatUserGroup:=$(shell whoami)
>
> $(udevRulesFile):
>       @echo "Generating udev rules file"
>       @echo "KERNEL==\"EtherCAT[0-9]*\", MODE=\"0664\", GROUP=\"$(ethercatUserGroup)\"">$(udevRulesFile)
>
> ethercatMaster: $(udevRulesFile)
>       #--with-e1000e-kernel=3.16
>       tar -xvf $(ethercatMasterZip)
>       cd ethercat-$(ethercatMasterVersion);\
>       ./configure --disable-8139too --with-e1000e-kernel=3.16;\
>       make all modules;
>
> ethercatMasterInstall: ethercatMaster
>       cd ethercat-$(ethercatMasterVersion);\
>       sudo make modules_install install;\
>       sudo depmod;\
>       sudo mv ../$(udevRulesFile) /etc/udev/rules.d/$(udevRulesFile);\
>       sudo ln -s /opt/etherlab/etc/init.d/ethercat /etc/init.d/ethercat;\
>       sudo mkdir -p /etc/sysconfig/;\
>       sudo cp /opt/etherlab/etc/sysconfig/ethercat /etc/sysconfig/ethercat;\
>       sudo sed -i 's/DEVICE_MODULES=\"\"/DEVICE_MODULES=\"generic\"/g' /etc/sysconfig/ethercat;\
>       sudo ln -s /opt/etherlab/bin/ethercat /usr/bin/ethercat;\
>       interfaces=`ifconfig | grep -e "^e[tn][a-z0-9]*" -o`;\
>       for i in $$interfaces;do lastInterface=$$i; done;\
>       interfaceMAC=`ifconfig $$lastInterface | grep "[0-9A-Fa-f]\{2\}:[0-9A-Fa-f]\{2\}:[0-9A-Fa-f]\{2\}:[0-9A-Fa-f]\{2\}:[0-9A-Fa-f]\{2\}:[0-9A-Fa-f]\{2\}" -o`;\
>       sudo sed -i "s/MASTER0_DEVICE=\"\"/MASTER0_DEVICE=\"$$interfaceMAC\"/g" /etc/sysconfig/ethercat;\
>
> ethercatMasterInstallWithAutoStart: ethercatMasterInstall
>       sudo update-rc.d ethercat defaults;\
>       sudo /etc/init.d/ethercat start;
>
> clean:
>       @echo Removing compiled installation files
>       @rm -f -r ethercat-$(ethercatMasterVersion) $(udevRulesFile)
>
> Can you answer to any of my questions? :)
> Thanks again,
>
> Mike________________________________________
> Από: Jürgen Walter • DATATRONiQ <jw at datatroniq.com>
> Στάλθηκε: Δευτέρα, 2 Απριλίου 2018 8:15 μμ
> Προς: etherlab-users at etherlab.org
> Κοιν.: Mike Karam
> Θέμα: Re: [etherlab-users] AL status message 0x0036: "DC Sync0 Cycle Time"
>
> Hi Mike,
>
> glad to hear you got it working. Can you please clarify:
>
> I wanted to thank you all for your valuable advice. Now I'm acheiving near 3.5 kHz loop rate without a single datagram loss. My configured system is
>
> are you still trying to go for 5-10kHz (as per your initial e-mail)?
>
> Ubuntu 16.04 with kernel 4.8.15-rt10 (preempt_rt patched)
>
> did you compile this yourself or did you find a low latency / preempt version in the Ubuntu repos?
>
> and support for native driver.
>
> what do you mean by "native driver" - is this the generic driver?
>
> Finally, do you mind writing a short list of commands (while the memory is still fresh ;) ) for us and for your future self, perhaps:
>
>    1.  built the custom kernel 4.8.x for preempt_rt
>    2.  built etherlab, ie ./configure --options ....
>
> Thank you! Jürgen
>
> On 2 Apr 2018, at 18:19, Mike Karam wrote:
>
> Hi all,
>
> I wanted to thank you all for your valuable advice. Now I'm acheiving near 3.5 kHz loop rate without a single datagram loss. My configured system is (just for reference): Ubuntu 16.04 with kernel 4.8.15-rt10(preempt_rt patched) and support for native driver. I would like to ask another question: In the dc_user example I don't understand why the latency is measured that way. Could someone make it more clear? This latency is the latency of our application (the time the scheduler does to put our process to running, so that our application can process the newly arrived datagram)? What quantity is measured exactly with this latency? Bonus: Can we measure the time the datagram does to leave and come back to the master, with wireshark accurately?
>
> Thank you in advance,
> Mike Karam
>
> Στις Πέμ, 8 Μαρ 2018, 5:37 μ.μ. ο χρήστης Mike Karam <mike95gr at hotmail.com<mailto:mike95gr at hotmail.com>> έγραψε:
> Hi Martin,
>
> thanks for the advice. It seems to me that the hard real time RT-Preempt patch
> cannot be avoided if I want to achieve my goal. I will keep that in mind and probably
> come back to that.
>
> Thanks again,
> Mike
>
>
> ________________________________________
> Από: Mike Karam <mike95gr at hotmail.com<mailto:mike95gr at hotmail.com>>
> Στάλθηκε: Πέμπτη, 8 Μαρτίου 2018 5:09 μμ
> Προς: Jürgen Walter • DATATRONiQ
> Κοιν.: etherlab-users at etherlab.org<mailto:etherlab-users at etherlab.org>
> Θέμα: Απ: [etherlab-users] AL status message 0x0036: "DC Sync0 Cycle Time"
>
> Hi Jurgen,
>
> thanks for your reply. I forgot to mention that I'm running the lowlatency package of kernel 4.8.0-58. The thing is that,
> the team wants 16.04 Ubuntu because of the ROS Kinetic development, so I don't think I can use
> a 3.x kernel (although last time I checked there is also a 4.x PREEMPT_RT patch also). I didn't think that
> soft-real time vs hard-real time makes such a difference. I will try and come back on that.
> Another observation of mine is that using Wireshark, the time the datagrams left and the time the datagrams came couldn't
> get less than 240 μs. Shouldn't the DC use of the master, change this time difference to something very small (e.g 100,50,20 μs),
> till there is synchronization loss or packet loss?
>
> Thanks again,
> Mike
>
> ________________________________________
> Από: Jürgen Walter • DATATRONiQ <jw at datatroniq.com<mailto:jw at datatroniq.com>>
> Στάλθηκε: Πέμπτη, 8 Μαρτίου 2018 4:21 μμ
> Προς: Mike Karam
> Κοιν.: etherlab-users at etherlab.org<mailto:etherlab-users at etherlab.org>
> Θέμα: Re: [etherlab-users] AL status message 0x0036: "DC Sync0 Cycle Time"
>
> Hi Mike,
>
> I was in a similar boat like you just not too long ago. So, first thing,
> you need to get your Linux system "real-time" --> best to use PREMPT_RT
> in the vanilla Kernel.
>
> That said, for using DC and > 1kHz I never got the "generic" driver to
> work. How about you downgrade to a 3.x kernel, e.g. 3.18 and use one of
> the supported drivers w/ patches for RT operation. That is what I did -
> I also bought a network interface card with a supported chipset and
> installed that into a PCIe slot.
>
> Since then, I am pretty much a happy camper.
>
> I hope this helps. Jürgen
>
> On 8 Mar 2018, at 14:23, Mike Karam wrote:
>
> Hi,
>
> I'm trying to create an EtherCAT communication with an XMC4800, using
> IgH EtherCAT. I'm using 16.04 Ubuntu with 4.8.0-58 kernel. I
> downloaded the code from sourceforge and run the code (a bit modified,
> see attachment) found in examples/dc_user. If I use a loop frequency
> of 1 KHz all things go well (despite some datagrams UNMATCHED
> warnings). But if I increase the loop rate to 5 or 10 KHz I'm seeing
> the error in the subject. My goal is at least 10Khz succesful (withoul
> losses) communication. Below is the output I'm getting in the kernel
> log:
>
>
> Mar 8 14:42:31 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13658.296909] EtherCAT: Requesting master 0...
> Mar 8 14:42:31 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13658.296912] EtherCAT: Successfully requested master 0.
> Mar 8 14:42:31 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13658.296961] EtherCAT 0: Domain0: Logical address 0x00000000, 18
> byte, expected working counter 3.
> Mar 8 14:42:31 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13658.296962] EtherCAT 0: Datagram domain0-0-main: Logical offset
> 0x00000000, 18 byte, type LRW at ffff91a5b5c9d858.
> Mar 8 14:42:31 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13658.296981] EtherCAT 0: Master thread exited.
> Mar 8 14:42:31 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13658.296983] EtherCAT 0: Starting EtherCAT-OP thread.
> Mar 8 14:42:31 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13658.297040] EtherCAT WARNING 0: 15 datagrams UNMATCHED!
> Mar 8 14:42:32 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13659.296406] EtherCAT WARNING 0: 13437 datagrams UNMATCHED!
> Mar 8 14:42:32 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13659.297430] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 6725 times.
> Mar 8 14:42:33 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13660.296475] EtherCAT WARNING 0: 13455 datagrams UNMATCHED!
> Mar 8 14:42:33 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13660.298486] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 6734 times.
> Mar 8 14:42:34 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13661.296543] EtherCAT WARNING 0: 13442 datagrams UNMATCHED!
> Mar 8 14:42:34 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13661.299562] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 6726 times.
> Mar 8 14:42:35 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13662.296611] EtherCAT WARNING 0: 13388 datagrams UNMATCHED!
> Mar 8 14:42:35 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13662.300630] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 6700 times.
> Mar 8 14:42:36 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13663.296679] EtherCAT WARNING 0: 13414 datagrams UNMATCHED!
> Mar 8 14:42:36 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13663.301699] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 6715 times.
> Mar 8 14:42:36 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13663.310699] EtherCAT WARNING 0-0: Slave did not sync after 5000 ms.
> Mar 8 14:42:36 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13663.312411] EtherCAT ERROR 0-0: Failed to set SAFEOP state, slave
> refused state change (PREOP + ERROR).
> Mar 8 14:42:36 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13663.312949] EtherCAT ERROR 0-0: AL status message 0x0036: "DC Sync0
> Cycle Time".
> Mar 8 14:42:36 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13663.313501] EtherCAT 0-0: Acknowledged state PREOP.
> Mar 8 14:42:37 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13664.296893] EtherCAT WARNING 0: 14550 datagrams UNMATCHED!
> Mar 8 14:42:37 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13664.302791] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 7285 times.
> Mar 8 14:42:38 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13665.296872] EtherCAT WARNING 0: 14323 datagrams UNMATCHED!
> Mar 8 14:42:38 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13665.303849] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 7165 times.
> Mar 8 14:42:39 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13666.296910] EtherCAT WARNING 0: 14357 datagrams UNMATCHED!
> Mar 8 14:42:39 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13666.304931] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 7184 times.
> Mar 8 14:42:40 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13667.296989] EtherCAT WARNING 0: 14185 datagrams UNMATCHED!
> Mar 8 14:42:40 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13667.305995] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 7104 times.
> Mar 8 14:42:41 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13668.297188] EtherCAT WARNING 0: 14166 datagrams UNMATCHED!
> Mar 8 14:42:41 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13668.307062] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 7085 times.
> Mar 8 14:42:42 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13669.297098] EtherCAT WARNING 0: 14209 datagrams UNMATCHED!
> Mar 8 14:42:42 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13669.308106] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 7112 times.
> Mar 8 14:42:43 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13670.297189] EtherCAT WARNING 0: 13986 datagrams UNMATCHED!
> Mar 8 14:42:43 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13670.309191] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 7005 times.
> Mar 8 14:42:44 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13671.297272] EtherCAT WARNING 0: 14235 datagrams UNMATCHED!
> Mar 8 14:42:44 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13671.310255] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 7122 times.
> Mar 8 14:42:45 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13672.297425] EtherCAT WARNING 0: 14340 datagrams UNMATCHED!
> Mar 8 14:42:45 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13672.311322] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 7185 times.
> Mar 8 14:42:46 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13673.297404] EtherCAT WARNING 0: 14455 datagrams UNMATCHED!
> Mar 8 14:42:46 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13673.312406] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 7227 times.
> Mar 8 14:42:47 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13674.297464] EtherCAT WARNING 0: 14545 datagrams UNMATCHED!
> Mar 8 14:42:47 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13674.313523] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 7281 times.
> Mar 8 14:42:48 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13675.297525] EtherCAT WARNING 0: 14760 datagrams UNMATCHED!
> Mar 8 14:42:48 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13675.314541] EtherCAT WARNING: Datagram ffff91a5b5c9d858
> (domain0-0-main) was SKIPPED 7384 times.
> Mar 8 14:42:49 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13676.202128] EtherCAT 0: Releasing master...
> Mar 8 14:42:49 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13676.202166] EtherCAT 0: Master thread exited.
> Mar 8 14:42:49 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13676.202179] EtherCAT 0: Starting EtherCAT-IDLE thread.
> Mar 8 14:42:49 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13676.202260] EtherCAT 0: Released.
> Mar 8 14:42:49 mikekaram-HP-EliteBook-Folio-9470m kernel:
> [13676.202274] EtherCAT ERROR 0-0: Failed to receive AL state
> datagram: Datagram initialized.
>
>
> What am I doing wrong? Could you please offer me some advice, to
> achieve my goal?
>
> Regards,
>
> Mike Karamousadakis
> _______________________________________________
> etherlab-users mailing list
> etherlab-users at etherlab.org<mailto:etherlab-users at etherlab.org>
> http://lists.etherlab.org/mailman/listinfo/etherlab-users
>
> _______________________________________________
> etherlab-users mailing list
> etherlab-users at etherlab.org
> http://lists.etherlab.org/mailman/listinfo/etherlab-users
> </mailto:etherlab-users at etherlab.org></mailto:etherlab-users at etherlab.org></jw at datatroniq.com<mailto:jw at datatroniq.com></mailto:etherlab-users at etherlab.org></mike95gr at hotmail.com<mailto:mike95gr at hotmail.com></mike95gr at hotmail.com<mailto:mike95gr at hotmail.com></jw at datatroniq.com>
> _______________________________________________
> etherlab-users mailing list
> etherlab-users at etherlab.org
> http://lists.etherlab.org/mailman/listinfo/etherlab-users

--
(bb|[^b]{2})


________________________________

Helmholtz-Zentrum Berlin für Materialien und Energie GmbH

Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.

Aufsichtsrat: Vorsitzender Dr. Karl Eugen Huthmacher, stv. Vorsitzende Dr. Jutta Koch-Unterseher
Geschäftsführung: Prof. Dr. Bernd Rech (kommissarisch), Thomas Frederking

Sitz Berlin, AG Charlottenburg, 89 HRB 5583

Postadresse:
Hahn-Meitner-Platz 1
D-14109 Berlin

http://www.helmholtz-berlin.de



More information about the Etherlab-users mailing list