Hello,
I'm encountering something that may seem like a bug.
I have a slave device (I/O) that is in some kind of an error mode.
The device itself might not be working well - this should be very clear.

However, when I open a terminal and try to reg_read from the device, the 
etherlab master seems to be stuck in a wait loop.
While checking also with Wireshark, it is clear that the master is not even 
sending the reg_read request.

After investigating I have learned this:
The etherlab code does in fact detected some error and print:
" EtherCAT ERROR 0-main-1: Failed to set state INIT: "
And the slave device is in fact in some error mode.

However when you use the "reg_read" function. The appropriate ioctl function is 
activated.
And gets stuck in the wait function.

I believe the following is happening:

  1.  During boot up the master recognizes the slave.
  2.  Trying to place the slave in PREOP mode.
  3.  Failes due to what I guess is bad communication - since the error message 
seems to come from a working counter that isn't progeressing.
  4.  Places the slave state machine into the function 
"ec_fsm_change_state_error"
  5.  Every time the master is activating the state machine per slave - this 
slave is in an empty error function doing nothing.
  6.  Ioctl function still works from terminal and gets stuck in a loop for the 
slave to change state - which won't happen.

I would like obviously to not get stuck and have it timed out - any thoughts?

Thanks in advance
Best Regards,

-- 
Etherlab-dev mailing list
Etherlab-dev@etherlab.org
https://lists.etherlab.org/mailman/listinfo/etherlab-dev

Reply via email to