[etherlab-dev] "Master still waiting for devices!" problem.
Graeme Foot
Graeme.Foot at touchcut.com
Wed Jan 18 22:27:49 CET 2017
I can think of four possible errors at the moment:
1) Your ethercat configuration file isn't matching the correct MAC address.
In /etc/sysconfig/ethercat you have "MASTER0_DEVICE="ff:ff:ff:ff:ff:ff"". ff:ff:ff:ff:ff:ff matches the first available device, looking at devices in the order the drivers are loaded (in the DEVICE_MODULES key). So you may have sepecified a MAC address that is not matching your device
2) You are not loading your device module.
In /etc/sysconfig/ethercat you have "DEVICE_MODULES=". This specifies the network driver modules (ethercat versions) that you want to run (space delimited list). You should put your module first in the list if you use a generic MAC address (ie: ff:ff:ff:ff:ff:ff) in the setting above.
eg:
DEVICE_MODULES="cpsw e1000 e1000e"
3) Your driver doesn't work.
Check dmesg for any errors.
4) Your driver is not correctly integrating with the EtherCAT master.
There's various functions that your driver needs to interact with the master. But from memory the one that tells the master that a device is available is:
ecdev_offer();
But the guts of it is that no offered net devices match the requirements of the MASTER0_DEVICE config setting.
I wrote a patch for the CX2100 device a while ago. You could look it up in the forums to check how it interacts with the master (or I could send it if you can't find it). Look for the ecdev_... methods and the notes about the skb's.
Regards,
Graeme.
________________________________
From: etherlab-dev <etherlab-dev-bounces at etherlab.org> on behalf of 周甫霖 <erixchou at mapacode.tw>
Sent: Wednesday, 18 January 2017 9:26:42 PM
To: etherlab-dev at etherlab.org
Subject: [etherlab-dev] "Master still waiting for devices!" problem.
Hi all,
First appreciate the implement of etherlabmaster.
I'm devolping a non-native supported ethernet device to be able to work as a RTDM EtherCAT master.
What the device is one part of TI AM335x SoC and is named "cpsw".
Everything smoothly while adapting driver code, building module file, and installing.
But I was stuck by a problem when I try to start EtherCAT master.
Following is my steps and message shown by dmesg:
# /etc/init.d/ethercat start
Starting EtherCAT master 1.5.2 done
[ 30.849754] EtherCAT: Requesting master 0...
[ 30.854265] EtherCAT ERROR 0: Master still waiting for devices!
More information:
# /opt/etherlab/bin/ethercat master
Master0
Phase: Waiting for device(s)...
Active: no
Slaves: 0
Ethernet devices:
Main: a0:f6:fd:22:bd:ed (waiting...)
Link: DOWN
Tx frames: 0
Tx bytes: 0
Rx frames: 0
Rx bytes: 0
Tx errors: 0
Tx frame rate [1/s]: 0 0 0
Tx rate [KByte/s]: 0.0 0.0 0.0
Rx frame rate [1/s]: 0 0 0
Rx rate [KByte/s]: 0.0 0.0 0.0
Common:
Tx frames: 0
Tx bytes: 0
Rx frames: 0
Rx bytes: 0
Lost frames: 0
Tx frame rate [1/s]: 0 0 0
Tx rate [KByte/s]: 0.0 0.0 0.0
Rx frame rate [1/s]: -509579 -509608 -335544
Rx rate [KByte/s]: 845836.0 -469824.0 163840.0
Loss rate [1/s]: 0 0 0
Frame loss [%]: 0.0 0.0 0.0
Distributed clocks:
Reference clock: None
Application time: 0
2000-01-01 00:00:00.000000000
Could anyone kindly advice what is the key point to go forword form "waiting device"?
Best regards - Erix Chou
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-dev/attachments/20170118/33fee248/attachment-0002.htm>
More information about the Etherlab-dev
mailing list