Hi

I have observed an issue where FoE is interrupted if my EoE-capable slave 
(named IFM52) has its eoeXsY link set to up (ifconfig eoe0s1 up). FoE is in 
this case used to perform a firmware upgrade in state BOOT using a 
run_update.sh script.

Below sequence show first a successful firmware upgrade of the IFM52 
EoE-capable device followed by a link configuration (ifconfig eoe0s1 up) and 
the then an unsuccessful firmware upgrade due to the applied link 
configuration. Once the link configuration is removed (ifconfig eoe0s1 down), 
FoE is once again possible.

FoE was in this case interrupted after FOE_DATA packet number 11 and it was in 
Wireshark confirmed that the EoE-capable device responded correctly with an 
FOE_ACK for this packet number 11. In the syslog, I get "Mailbox error response 
received - Unknown error reply code 0x0000", but according to Wireshark no 
error codes are replied from the slave.

I suspect that IgH Master stop sending more FOE_DATA packets due to the applied 
link configuration. Can this make sense?

I used IgH Master version 1.4.0

~ # ethercat sl
0  0:0  PREOP  +  PCM5*1 Power and Control Module
1  0:1  PREOP  +  IFM5*2 Interface Module
2  0:2  PREOP  +  IFM5*1 Interface and Fieldbus Module
3  0:3  PREOP  +  IOM5*1 Input and Output Module
4  0:4  PREOP  +  GPM5*1 Grid and Protection Module

~ # ifconfig -a
eoe0s1    Link encap:Ethernet  HWaddr 00:11:22:33:44:08
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth0      Link encap:Ethernet  HWaddr 00:E0:0C:00:95:02
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1230574 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1230574 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:99212466 (94.6 MiB)  TX bytes:79523282 (75.8 MiB)
          Base address:0xc000

eth1      Link encap:Ethernet  HWaddr 00:E0:0C:00:95:01
          inet addr:192.168.20.13  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3200 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1316 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:686587 (670.4 KiB)  TX bytes:150514 (146.9 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:17 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:889 (889.0 B)  TX bytes:889 (889.0 B)

~ # tail -f /app/log/syslog
Feb 13 09:05:26 kernel: [  595.114246] EtherCAT 0: Stopping EoE thread.
Feb 13 09:05:26 kernel: [  595.114359] EtherCAT 0: EoE thread exited.
Feb 13 09:05:26 ./run_update.sh: Update success
Feb 13 09:05:26 kernel: [  595.151807] EtherCAT 0: Scanning bus.
Feb 13 09:05:28 kernel: [  596.915051] EtherCAT 0: Bus scanning completed in 
1800 ms.
Feb 13 09:05:28 kernel: [  596.915087] EtherCAT 0: Starting EoE thread.
Feb 13 09:05:57 dupdate: Running tar -C /tmp/dupdate-4mas2Y -xf 
ifm52_r6164v9909.dupdate
Feb 13 09:05:57 dupdate: Tar extracted, Running ./run_update.sh in 
/tmp/dupdate-4mas2Y/
Feb 13 09:05:57 ./run_update.sh: Updating IFM5*2 module(s)
Feb 13 09:05:59 ./run_update.sh: DEVELOPMENT version 9909 - force update
Feb 13 09:05:59 kernel: [  628.426923] EtherCAT 0: Slave states: INIT, PREOP.
Feb 13 09:05:59 ./run_update.sh: Write ECATFW_ifm52_r6164v9909.efw to module 1
Feb 13 09:06:03 ./run_update.sh: Write ifm52_esc_r6164v9909.bin to module 1
Feb 13 09:06:12 ./run_update.sh: UPDATE PASS - module 1
Feb 13 09:06:12 kernel: [  640.751151] EtherCAT 0: Slave states: PREOP.
Feb 13 09:06:12 ./run_update.sh: Update success
Feb 13 09:06:12 kernel: [  640.850962] EtherCAT 0: Stopping EoE thread.
Feb 13 09:06:12 kernel: [  640.851110] EtherCAT 0: EoE thread exited.
Feb 13 09:06:12 kernel: [  640.889147] EtherCAT 0: Scanning bus.
Feb 13 09:06:14 kernel: [  642.653466] EtherCAT 0: Bus scanning completed in 
1804 ms.
Feb 13 09:06:14 kernel: [  642.653502] EtherCAT 0: Starting EoE thread.

~ # ifconfig eoe0s1 up

~ # tail -f /app/log/syslog
Feb 13 09:06:12 ./run_update.sh: UPDATE PASS - module 1
Feb 13 09:06:12 kernel: [  640.751151] EtherCAT 0: Slave states: PREOP.
Feb 13 09:06:12 ./run_update.sh: Update success
Feb 13 09:06:12 kernel: [  640.850962] EtherCAT 0: Stopping EoE thread.
Feb 13 09:06:12 kernel: [  640.851110] EtherCAT 0: EoE thread exited.
Feb 13 09:06:12 kernel: [  640.889147] EtherCAT 0: Scanning bus.
Feb 13 09:06:14 kernel: [  642.653466] EtherCAT 0: Bus scanning completed in 
1804 ms.
Feb 13 09:06:14 kernel: [  642.653502] EtherCAT 0: Starting EoE thread.
Feb 13 09:07:01 crond[422]: crond: USER root pid 1303 cmd hwclock -w
Feb 13 09:49:04 kernel: [ 3213.439436] EtherCAT 0: Slave states: PREOP, OP.
Feb 13 09:53:21 dupdate: Running tar -C /tmp/dupdate-w5kRFj -xf 
ifm52_r6164v9909.dupdate
Feb 13 09:53:21 dupdate: Tar extracted, Running ./run_update.sh in 
/tmp/dupdate-w5kRFj/
Feb 13 09:53:21 ./run_update.sh: Updating IFM5*2 module(s)
Feb 13 09:53:23 ./run_update.sh: DEVELOPMENT version 9909 - force update
Feb 13 09:53:23 kernel: [ 3472.512552] EtherCAT 0: Slave states: INIT, PREOP.
Feb 13 09:53:24 ./run_update.sh: Write ECATFW_ifm52_r6164v9909.efw to module 1
Feb 13 09:53:27 kernel: [ 3475.613073] EtherCAT ERROR 0-1: Mailbox error 
response received - Unknown error reply code 0x0000.
Feb 13 09:53:27 kernel: [ 3475.632377] EtherCAT WARNING 0-1: Invalid mailbox 
response for eoe0s1.
Feb 13 09:53:27 kernel: [ 3476.341012] EtherCAT ERROR 0-1: Mailbox error 
response received - Unknown error reply code 0x0000.
Feb 13 09:53:27 kernel: [ 3476.359837] EtherCAT WARNING 0-1: Invalid mailbox 
response for eoe0s1.
Feb 13 09:53:27 kernel: [ 3476.397086] EtherCAT ERROR 0-1: Mailbox error 
response received - Unknown error reply code 0x0000.
Feb 13 09:53:27 kernel: [ 3476.415031] EtherCAT WARNING 0-1: Invalid mailbox 
response for eoe0s1.
Feb 13 09:53:27 kernel: [ 3476.453087] EtherCAT ERROR 0-1: Mailbox error 
response received - Unknown error reply code 0x0000.
Feb 13 09:53:27 kernel: [ 3476.472383] EtherCAT WARNING 0-1: Invalid mailbox 
response for eoe0s1.
Feb 13 09:53:27 kernel: [ 3476.492876] EtherCAT WARNING 0-1: Other mailbox 
protocol response for eoe0s1.
Feb 13 09:53:30 kernel: [ 3479.489031] EtherCAT ERROR 0-1: Timeout while 
waiting for ack response.
Feb 13 09:53:30 kernel: [ 3479.495684] EtherCAT ERROR 0-1: Failed to handle FoE 
request.
Feb 13 09:53:30 ./run_update.sh: Failed to write via FoE: FOE_TIMEOUT_ERROR

~ # ifconfig eoe0s1 down

~ # tail -f /app/log/syslog
Feb 13 09:53:27 kernel: [ 3476.415031] EtherCAT WARNING 0-1: Invalid mailbox 
response for eoe0s1.
Feb 13 09:53:27 kernel: [ 3476.453087] EtherCAT ERROR 0-1: Mailbox error 
response received - Unknown error reply code 0x0000.
Feb 13 09:53:27 kernel: [ 3476.472383] EtherCAT WARNING 0-1: Invalid mailbox 
response for eoe0s1.
Feb 13 09:53:27 kernel: [ 3476.492876] EtherCAT WARNING 0-1: Other mailbox 
protocol response for eoe0s1.
Feb 13 09:53:30 kernel: [ 3479.489031] EtherCAT ERROR 0-1: Timeout while 
waiting for ack response.
Feb 13 09:53:30 kernel: [ 3479.495684] EtherCAT ERROR 0-1: Failed to handle FoE 
request.
Feb 13 09:53:30 ./run_update.sh: Failed to write via FoE: FOE_TIMEOUT_ERROR
Feb 13 09:54:29 kernel: [ 3538.383547] EtherCAT ERROR 0-1: Failed to set PREOP 
state, slave refused state change (INIT + ERROR).
Feb 13 09:54:29 kernel: [ 3538.393019] EtherCAT ERROR 0-1: AL status message 
0x0016: "Invalid mailbox configuration".
Feb 13 09:54:29 kernel: [ 3538.402380] EtherCAT 0-1: Acknowledged state INIT.
Feb 13 09:54:44 dupdate: Running tar -C /tmp/dupdate-dNuiQI -xf 
ifm52_r6164v9909.dupdate
Feb 13 09:54:44 dupdate: Tar extracted, Running ./run_update.sh in 
/tmp/dupdate-dNuiQI/
Feb 13 09:54:44 ./run_update.sh: Updating IFM5*2 module(s)
Feb 13 09:54:46 ./run_update.sh: DEVELOPMENT version 9909 - force update
Feb 13 09:54:46 ./run_update.sh: Write ECATFW_ifm52_r6164v9909.efw to module 1
Feb 13 09:54:50 ./run_update.sh: Write ifm52_esc_r6164v9909.bin to module 1
Feb 13 09:54:58 ./run_update.sh: UPDATE PASS - module 1
Feb 13 09:54:58 kernel: [ 3567.421804] EtherCAT 0: Slave states: PREOP.
Feb 13 09:54:59 ./run_update.sh: Update success
Feb 13 09:54:59 kernel: [ 3567.546267] EtherCAT 0: Stopping EoE thread.
Feb 13 09:54:59 kernel: [ 3567.546419] EtherCAT 0: EoE thread exited.
Feb 13 09:54:59 kernel: [ 3567.568065] EtherCAT 0: Scanning bus.
Feb 13 09:55:00 kernel: [ 3569.334970] EtherCAT 0: Bus scanning completed in 
1788 ms.
Feb 13 09:55:00 kernel: [ 3569.335006] EtherCAT 0: Starting EoE thread.


_______________________________________________
etherlab-dev mailing list
etherlab-dev@etherlab.org
http://lists.etherlab.org/mailman/listinfo/etherlab-dev

Reply via email to