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 <j...@datatroniq.com>
Στάλθηκε: Δευτέρα, 2 Απριλίου 2018 8:15 μμ
Προς: etherlab-users@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 
<mike9...@hotmail.com<mailto:mike9...@hotmail.com>&gt; έγραψε:
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 <mike9...@hotmail.com<mailto:mike9...@hotmail.com>&gt;
Στάλθηκε: Πέμπτη, 8 Μαρτίου 2018 5:09 μμ
Προς: Jürgen Walter • DATATRONiQ
Κοιν.: etherlab-users@etherlab.org<mailto:etherlab-users@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 
<j...@datatroniq.com<mailto:j...@datatroniq.com>&gt;
Στάλθηκε: Πέμπτη, 8 Μαρτίου 2018 4:21 μμ
Προς: Mike Karam
Κοιν.: etherlab-users@etherlab.org<mailto:etherlab-users@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" --&gt; best to use PREMPT_RT
in the vanilla Kernel.

That said, for using DC and &gt; 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@etherlab.org<mailto:etherlab-users@etherlab.org>
http://lists.etherlab.org/mailman/listinfo/etherlab-users

_______________________________________________
etherlab-users mailing list
etherlab-users@etherlab.org
http://lists.etherlab.org/mailman/listinfo/etherlab-users
</mailto:etherlab-users@etherlab.org></mailto:etherlab-users@etherlab.org></j...@datatroniq.com<mailto:j...@datatroniq.com></mailto:etherlab-users@etherlab.org></mike9...@hotmail.com<mailto:mike9...@hotmail.com></mike9...@hotmail.com<mailto:mike9...@hotmail.com></j...@datatroniq.com>
_______________________________________________
etherlab-users mailing list
etherlab-users@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
_______________________________________________
etherlab-users mailing list
etherlab-users@etherlab.org
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to