[etherlab-users] EtherCAT Master with ccat driver stuck at "waiting for devices..."

Jonathan Salinas jsalinas at houstonmechatronics.com
Fri Feb 16 18:21:15 CET 2018


Follow up: So I'm not sure if anyone has seen this subject yet, but I was
able to get etherlab running with the simple testbed and modified
examples/user/main.c program to input a digital in via EL1819 and a push
button. Awesome.

What I ended up doing is installing an older kernel (linux
3.13.0-031300-generic) on my ubuntu 16.04 installation and building the
suite with gcc-4.8. I had forgotten to mention that I was using gcc-5
(naturally) with the previous attempts with kernel 4.10.0-28-generic (not
sure if it really matters). I also finally realized the hardway that I
indeed needed to build those Beckhoff/CCAT drivers... I was a bit confused
as it was a little vague to me about the role of the ec_ccat module that is
merged/bundled with etherlab. I thought that modue might have been a
complete replacement for those CCAT drivers provided by Beckhoff on their
github page, but I couldn't get etherlab to work without them. Maybe I'm
just that dense/n00b to this kinda stuff and it was actually super obvious
lol, but anyhow... PROGRESS!

My next question would be why (i.e. what reasons) would the build I was
attempting in the environment before rolling back the kernel didn't work.
Are there any specific kernels in the 4.x releases that anybody has been
able to get this running on with ubuntu 16.04/gcc-5+? I was looking to
apply the interface with ROS/ROS2, so if anybody has pro tips/tricks with
that ecosystem I would also really appreciate it.


On Tue, Feb 13, 2018 at 1:52 PM, Jonathan Salinas <
jsalinas at houstonmechatronics.com> wrote:

> Hello,
> I've been working on a project that requires trying to get the Ethercat
> module stack communicating with a Beckhoff CX5140 running ubuntu 16.04
> (x64) with kernel image 4.10.0-28-generic. My testbed consists of a single
> EL1819 digital input card and a modified examples/user main.c code to try
> and read in a digital in bit. In particular, I have cloned and built the
> source available on the default branch of the etherlab sourceforge page. To
> this point, I've had no (apparent) issue building and installing the
> modules.
> The problem is that when I start the ethercat service, the EtherCAT module
> and ec_ccat driver are loaded (DEVICE_MODULES="ccat"), but there is never
> a response from the EL1819 slave... dmesg just reports that "1 master
> waiting for devices." and then reports nothing more.
> However, when I change the configuration to use the ec_generic driver
> (DEVICE_MODULES="generic"), the driver binds the sockets and EL1819 slave
> is discovered (so I can see Tx/Rx info when using the "ethercat master" and
> "ethercat slaves" command line tools and get the slave struct info with
> ethercat cstruct)... but the dmesg log explodes with the error message
> "Failed recieve FMMU clearing datagram" and associated datagrams TIMED OUT
> and frames CORRUPTED warnings.
> At this point I can't get the example to work. Is there anything I may be
> doing wrong in my configuration, or more information I can provide to
> diagnose the issue? I've checked many times that the mac address to my
> interface matches, and have even tried uncommenting the "MODPROBE_FLAGS"
> section of the config file.
> Another related question, because I wanted to make sure, but do I have to
> also make and install the Beckhoff provided CCAT drivers (from their github
> page) or are the ccat modules bundled with etherlab adequate to get all
> this running?
> Thanks for any help that can be provided.
> Cheers,
> Jonathan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20180216/e12e2cec/attachment.html>

More information about the etherlab-users mailing list