[etherlab-dev] "Master still waiting for devices!" problem.

周甫霖 erixchou at mapacode.tw
Tue Jan 31 10:24:03 CET 2017


Hi all,

The "Master still waiting for devices!" problem was cleared after we
departed the network driver from kernel and blocked  the module.
Now we got a new problem. It's seems like related to IRQ.
Here's the info in dmesg:

[   42.811736] EtherCAT: Master driver 1.5.2 unknown
[   42.823040] EtherCAT 0: Registering RTDM device EtherCAT.
[   42.829957] EtherCAT: 1 master waiting for devices.
[   42.977620] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[   42.984045] davinci_mdio 4a101000.mdio: detected phy mask fffffff5
[   43.051015] libphy: 4a101000.mdio: probed
[   43.055261] davinci_mdio 4a101000.mdio: phy[1]: device 4a101000.mdio:01,
driver TLK110
[   43.063694] davinci_mdio 4a101000.mdio: phy[3]: device 4a101000.mdio:03,
driver TLK110
[   43.079564] ec_cpsw 4a100000.ethernet: Detected MACID = a0:f6:fd:22:bd:ed
[   43.107209] EtherCAT: Accepting A0:F6:FD:22:BD:ED as main device for
master 0.
[   43.121821]  (null): initializing cpsw version 1.12 (0)
[   43.209114]  (null): phy found : id is : 0x2000a211
[   43.228929] EtherCAT 0: Starting EtherCAT-IDLE thread.
[   55.208124] libphy: 4a101000.mdio:01 - Link is Up - 100/Full
[   55.214091] EtherCAT 0: Link state of ecm0 changed to UP.
[   55.465263] irq 58: nobody cared (try booting with the "irqpoll" option)
[   55.472258] CPU: 0 PID: 2102 Comm: EtherCAT-IDLE Tainted: G           O
3.14.26-g1126d79-dirty #3
[   55.481499] Backtrace:
[   55.484084] [<c0011df0>] (dump_backtrace) from [<c0012004>]
(show_stack+0x18/0x1c)
[   55.492026]  r7:00000000 r6:0000003a r5:00000000 r4:dd006e3c
[   55.497948] [<c0011fec>] (show_stack) from [<c060ae0c>]
(dump_stack+0x24/0x28)
[   55.505538] [<c060ade8>] (dump_stack) from [<c006d020>]
(__report_bad_irq.isra.7+0x30/0xe4)
[   55.514306] [<c006cff0>] (__report_bad_irq.isra.7) from [<c006d3a4>]
(note_interrupt+0x260/0x2b0)
[   55.523615]  r5:00000000 r4:dd006e00
[   55.527357] [<c006d144>] (note_interrupt) from [<c006b528>]
(handle_irq_event_percpu+0x158/0x1d0)
[   55.536594]  r10:dd006e00 r9:0000003a r8:c088dc08 r7:00000000
r6:00000000 r5:00000000
[   55.544767]  r4:00000000 r3:00000000
[   55.548503] [<c006b3d0>] (handle_irq_event_percpu) from [<c006b5d0>]
(handle_irq_event+0x30/0x40)
[   55.557740]  r10:c088dc08 r9:c08efb80 r8:00000001 r7:c088dc0c
r6:00000000 r5:0000003a
[   55.565912]  r4:dd006e00
[   55.568556] [<c006b5a0>] (handle_irq_event) from [<c006e444>]
(handle_level_irq+0x6c/0xcc)
[   55.577159]  r5:0000003a r4:dd006e00
[   55.580892] [<c006e3d8>] (handle_level_irq) from [<c006abe8>]
(generic_handle_irq+0x34/0x44)
[   55.589678]  r5:0000003a r4:0000003a
[   55.593413] [<c006abb4>] (generic_handle_irq) from [<c000f294>]
(handle_IRQ+0x40/0x8c)
[   55.601655]  r5:0000003a r4:c0898acc
[   55.605394] [<c000f254>] (handle_IRQ) from [<c0017b9c>]
(__ipipe_do_IRQ+0x14/0x1c)
[   55.613274]  r7:c088dc0c r6:c088dc10 r5:00000004 r4:c08f0a00
[   55.619198] [<c0017b88>] (__ipipe_do_IRQ) from [<c008d4d4>]
(__ipipe_do_sync_stage+0x250/0x274)
[   55.628334] [<c008d284>] (__ipipe_do_sync_stage) from [<c008d588>]
(__ipipe_do_sync_pipeline+0x90/0x98)
[   55.638191]  r10:00000000 r9:c088ec08 r8:c088fc08 r7:c08efb80
r6:c08efb40 r5:c088dc08
[   55.646365]  r4:c088dc08
[   55.649010] [<c008d4f8>] (__ipipe_do_sync_pipeline) from [<c008da40>]
(__ipipe_dispatch_irq+0x1d0/0x260)
[   55.658957]  r9:c088ec08 r8:c088fc08 r7:0000003b r6:00000000 r5:0000003a
r4:c088dc04
[   55.667050] [<c008d870>] (__ipipe_dispatch_irq) from [<c0008428>]
(__ipipe_grab_irq+0x50/0x5c)
[   55.676084]  r10:00000000 r9:0000002e r8:db299ed8 r7:0000003a
r6:db299e58 r5:c08c5ccc
[   55.684258]  r4:db299e58 r3:c088dc08
[   55.687989] [<c00083d8>] (__ipipe_grab_irq) from [<c000876c>]
(omap3_intc_handle_irq+0x98/0xa8)
[   55.697048] Exception stack(0xdb299e38 to 0xdb299e80)
[   55.702309] 9e20:
bf0b06b0 600f0013
[   55.710829] 9e40: ffffffff db299e8c db299ebc db299e58 c060f1c0 c00086e0
00000000 dd5ec230
[   55.719350] 9e60: 00000000 00000000 dd5ec060 0000003c dd424740 00000000
db299ed8 0000002e
[   55.727864]  r5:c08c5ccc r4:fa200000
[   55.731604] [<c00086d4>] (omap3_intc_handle_irq) from [<c060f1c0>]
(__irq_svc+0x40/0x4c)
[   55.740028] Exception stack(0xdb299e58 to 0xdb299ea0)
[   55.745287] 9e40:
00000000 dd5ec230
[   55.753806] 9e60: 00000000 00000000 dd5ec060 0000003c dd424740 00000000
db299ed8 0000002e
[   55.762326] 9e80: 00000000 db299ebc db299e38 db299ea0 c0451408 bf0b06b0
600f0013 ffffffff
[   55.770839]  r7:db299e8c r6:ffffffff r5:600f0013 r4:bf0b06b0
[   55.776985] [<bf0b0638>] (ec_device_send [ec_master]) from [<bf0ca43c>]
(ec_master_send_datagrams+0x1d4/0x324 [ec_master])
[   55.788577]  r7:db74074e r6:dd5ec720 r5:db74077c r4:00000000
[   55.794592] [<bf0ca268>] (ec_master_send_datagrams [ec_master]) from
[<bf0ca5fc>] (ecrt_master_send+0x70/0x110 [ec_master])
[   55.806273]  r10:00000001 r9:dd5ed000 r8:00000005 r7:dd5ec060
r6:00000000 r5:00000000
[   55.814447]  r4:dd5ec000
[   55.817186] [<bf0ca58c>] (ecrt_master_send [ec_master]) from
[<bf0cb398>] (ec_master_idle_thread+0xbc/0x14c [ec_master])
[   55.828593]  r9:dd5ed000 r8:dd5ec544 r7:dd5ec054 r6:dd5ec2b0 r5:dd5ed284
r4:dd5ec000
[   55.836737] [<bf0cb2dc>] (ec_master_idle_thread [ec_master]) from
[<c0055abc>] (kthread+0xcc/0xe4)
[   55.846137]  r10:00000000 r9:00000000 r8:00000000 r7:bf0cb2dc
r6:dd5ec000 r5:db785e80
[   55.854311]  r4:00000000 r3:dd41c400
[   55.858046] [<c00559f0>] (kthread) from [<c000ea20>]
(ret_from_fork+0x18/0x38)
[   55.865564]  r7:00000000 r6:00000000 r5:c00559f0 r4:db785e80
[   55.871469] handlers:
[   55.873853] [<bf111ba0>] cpsw_tx_interrupt [ec_cpsw]
[   55.879021] Disabling IRQ #58
[   55.901101] EtherCAT WARNING 0: 1 datagram TIMED OUT!
[   56.897597] EtherCAT WARNING 0: 50 datagrams TIMED OUT!
[   57.897595] EtherCAT WARNING 0: 50 datagrams TIMED OUT!
[   58.897598] EtherCAT WARNING 0: 50 datagrams TIMED OUT!
[   59.897602] EtherCAT WARNING 0: 50 datagrams TIMED OUT!
[   60.897605] EtherCAT WARNING 0: 50 datagrams TIMED OUT!
[   61.897602] EtherCAT WARNING 0: 50 datagrams TIMED OUT!
[   62.897593] EtherCAT WARNING 0: 50 datagrams TIMED OUT!
[   63.897589] EtherCAT WARNING 0: 50 datagrams TIMED OUT!
[   64.897599] EtherCAT WARNING 0: 50 datagrams TIMED OUT!
[   65.897592] EtherCAT WARNING 0: 50 datagrams TIMED OUT!
[   66.897604] EtherCAT WARNING 0: 50 datagrams TIMED OUT!

Does that mean we did not adapt the cpsw driver correctly?
How could it be caused?

Attachments are the related files and patchs.

Thanks & Regards.

2017-01-19 17:51 GMT+08:00 Patrick Brünn <P.Bruenn at beckhoff.com>:

> Just another thought:
>
> In your log I see a:
>
>       Link: DOWN
>
>
>
> Check if your  driver is propagating the link state to Etherlab by
> calling: ecdev_set_link(ecdev, 1);
>
>
>
> Regards,
>
> Patrick
>
>
>
>
>
> *From:* etherlab-dev [mailto:etherlab-dev-bounces at etherlab.org] *On
> Behalf Of *???
> *Sent:* Donnerstag, 19. Januar 2017 04:15
> *To:* Graeme Foot <Graeme.Foot at touchcut.com>
> *Cc:* etherlab-dev at etherlab.org
> *Subject:* Re: [etherlab-dev] "Master still waiting for devices!" problem.
>
>
>
> Hi Graeme,
>
> I think that 1) and 2) was done correctly in my case.
>
> For 3), I'll check dmesg.
>
> For 4), I found the thread in 2013:
> http://lists.etherlab.org/pipermail/etherlab-users/2013/002074.html
>
> But I can't get the attachment since I'm not in the etherlab-user mail
> list.
>
> Is there any other way to get the attachment?
>
> Thank you for your response.
> Best regards - Erix Chou
>
>
>
> 2017-01-19 5:27 GMT+08:00 Graeme Foot <Graeme.Foot at touchcut.com>:
>
> Beckhoff Automation GmbH & Co. KG | Managing Director: Dipl. Phys. Hans
> Beckhoff
> Registered office: Verl, Germany | Register court: Guetersloh HRA 7075
>
> 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
>
>
>
>
> --
>
> 動程科技有限公司
>
> 台南市安平區建平十七街159號七樓之一
>
> 周甫霖 Erix Chou
>
> E-mail:erixchou at mapacode.tw
>
> TEL:06-2970665
>
> Mobile:0985946776
>



-- 
動程科技有限公司
台南市安平區建平十七街159號七樓之一
周甫霖 Erix Chou
E-mail:erixchou at mapacode.tw
TEL:06-2970665
Mobile:0985946776
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-dev/attachments/20170131/419f25df/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cpsw_rtdm_3.14.patch
Type: text/x-patch
Size: 8527 bytes
Desc: not available
URL: <http://lists.etherlab.org/pipermail/etherlab-dev/attachments/20170131/419f25df/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cpsw-3.14-orig.c
Type: text/x-csrc
Size: 79015 bytes
Desc: not available
URL: <http://lists.etherlab.org/pipermail/etherlab-dev/attachments/20170131/419f25df/attachment-0002.c>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cpsw-3.14-ethercat.c
Type: text/x-csrc
Size: 80420 bytes
Desc: not available
URL: <http://lists.etherlab.org/pipermail/etherlab-dev/attachments/20170131/419f25df/attachment-0003.c>


More information about the etherlab-dev mailing list