[etherlab-users] Device gets stuck in state "INIT E"

Florian Pose fp at igh-essen.com
Thu Jan 22 10:35:44 CET 2009


Hi,

On Mon, Jan 19, 2009 at 06:24:40PM +0100, Erwin Burgstaller wrote:
> But the slave will not answer until it's kernel module got loaded, so
> the master sets "INIT E" and does not retry. So the slave gets never in
> OP state again.
> 
> 3 seconds later it says:
> 
> [348534.999278] EtherCAT ERROR: Failed to set state PREOP on slave 1: No response.

The timeout from INIT to PREOP is set to 3 seconds. Increasing it could
be an option. But if the slave takes much longer, you should work on the
slave's side. An idea would be, not letting the slave appear in the bus
until is is assured that the state transition will not take that much
time. But I don't know if this is possible.

> b) What can the slave do to get an request for PREOP state again?

Nothing at the moment. :-(

> Booting problem after reset
> ===========================
> 
> And then there's another problem: When one resets the slave via the
> reset button, the ET1100 isn't touched by that reset for good
> reasons. Somehow the master does not recognize, that the slaves isn't
> working while it's boot process hasn't finished.
> 
> Now the master recognizes that a state change has occurred and does the
> change from INIT to OP in ~20 ms.
> 
> Is there something like a callback mechanism for my kernel module to get
> informed? At the moment it has to poll the master every 10 ms to get the
> slave states for sure. In fact it first polls just for a change of the
> working counter and if there's a change the states of the slaves are
> retrieved.

Sorry, I didn't understand the question. Does the slave increase the
working counter, even when it is 'dead'?

-- 
Best regards,
Florian Pose

http://etherlab.org



More information about the Etherlab-users mailing list