On Thu, Mar 12, 2009 at 05:38:49PM +0100, Erwin Burgstaller wrote: > Doing this (pcc1 == 192.168.1.2): > > ping -c 1 -s 520 -p "affe" pcc1; ping -c 1 -s 521 -p "dead" pcc1; \ > ping -c 1 -s 524 -p "beaf" pcc1; ping -c 1 -s 525 -p 'deaf' pcc1 ; \ > ping -c 1 -s 526 -p 'fabe' pcc1 > > shows up malformed packets with sizes 524 and 526 as you can see in the > attached wireshark capture file. One can say all works fine up to packet > size 522.
I guess 522 is the mailbox size, so this could have something to do with the fragmenting algorithm. Please have a look at 'ethercat slave -v' to determine the mailbox sizes. > The next thing, probably resulting from that malformed thing is, the > ping doesn't work with sizes bigger than 1472 bytes, but *only* if the > ring position is 1, while it works on other positions, tested up to > position 7 (can be seen in attachmentmalformed_and_lost_eoe_short.cap.gz) > > The last thing I've tried: An empty EK1100 which is on Position 0 and a > single EoE device on position 1: Same effect, ping -s 1472 works, ping > -s 1473 and bigger, doesn't. > > Other EoE operations seems not to be affected, but as it looks like a > bug, it might do. I must admit that the EoE code is not maintained as well as other subsystems since it was initially developed. I know the problem that in certain cases very large IP packets are not transferred correctly. Perhaps you could set the #define EOE_DEBUG_LEVEL in master/ethernet.c to 1 to analyze what is going on in the EoE state machine. -- Best regards, Florian Pose http://etherlab.org _______________________________________________ etherlab-users mailing list etherlab-users@etherlab.org http://lists.etherlab.org/mailman/listinfo/etherlab-users