I have notice communication problems when ZedBoard is connected into
10Mbit network. There are duplicated packets when I try to
ping my computer from the ZedBoard at 1Hz and after a while the system on ZedBoard
crushes completely. Duplicated packets also appear when I ping the ZedBoard from
my PC. The funny thing is that only pinging at 1Hz causes these problems,
while pinging at 10Hz works fine.
Has anybody noticed the same behaviour or has idea how to fix this?
I have reproduced the problem on Zynq software version 14.6 and 14.7 and I assume it is a kernel bug
since 100Mbit and 1Gbit connection works fine.
#PING ZedBoard->PC
root@zynq:~# ping 192.168.1.100
PING 192.168.1.100 (192.168.1.100): 56 data bytes
64 bytes from 192.168.1.100: seq=0 ttl=64 time=0.774 ms
64 bytes from 192.168.1.100: seq=1 ttl=64 time=0.830 ms
64 bytes from 192.168.1.100: seq=2 ttl=64 time=0.811 ms
64 bytes from 192.168.1.100: seq=3 ttl=64 time=0.792 ms
64 bytes from 192.168.1.100: seq=4 ttl=64 time=0.608 ms
64 bytes from 192.168.1.100: seq=4 ttl=64 time=479.015 ms (DUP!)
64 bytes from 192.168.1.100: seq=5 ttl=64 time=0.775 ms
64 bytes from 192.168.1.100: seq=7 ttl=64 time=0.792 ms
64 bytes from 192.168.1.100: seq=8 ttl=64 time=0.793 ms
64 bytes from 192.168.1.100: seq=9 ttl=64 time=0.811 ms
64 bytes from 192.168.1.100: seq=10 ttl=64 time=0.792 ms
64 bytes from 192.168.1.100: seq=10 ttl=64 time=478.701 ms (DUP!)
64 bytes from 192.168.1.100: seq=11 ttl=64 time=0.811 ms
64 bytes from 192.168.1.100: seq=12 ttl=64 time=0.829 ms
64 bytes from 192.168.1.100: seq=12 ttl=64 time=478.665 ms (DUP!)
64 bytes from 192.168.1.100: seq=13 ttl=64 time=0.830 ms
64 bytes from 192.168.1.100: seq=14 ttl=64 time=0.830 ms
64 bytes from 192.168.1.100: seq=15 ttl=64 time=0.700 ms
64 bytes from 192.168.1.100: seq=16 ttl=64 time=0.663 ms
64 bytes from 192.168.1.100: seq=17 ttl=64 time=0.755 ms
#System crush
Kernel BUG at c03d69c4 [verbose debug info unavailable]
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
Modules linked in: ipv6
CPU: 0 Not tainted (3.9.0-xilinx #153)
PC is at skb_panic+0x50/0x5c
LR is at skb_panic+0x50/0x5c
pc : [<c03d69c4>] lr : [<c03d69c4>] psr: 60070113
sp : c057be50 ip : 00000001 fp : 00003839
r10: dccd42c0 r9 : 00000000 r8 : 00000001
r7 : c04c929c r6 : dcd73800 r5 : dcd73840 r4 : dcd77079
r3 : 60070113 r2 : 00000102 r1 : 60070113 r0 : 0000007d
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 18c5387d Table: 1cc8c04a DAC: 00000015
Process swapper/0 (pid: 0, stack limit = 0xc057a238)
Stack: (0xc057be50 to 0xc057c000)
be40: 00003839 dcd73800 dcd73840 dcd77079
be60: dcd73e40 dce75000 00003839 dcd77079 00003839 00000000 de441740 c033a704
be80: dce75500 dce75584 00000000 c02b0210 00000000 00000000 c09e97a8 dce7554c
bea0: dcecf840 1cf15440 00000040 00000040 ffffffff dce75584 c09eaf00 00000001
bec0: 0000012c c09eaf08 00000040 c05aeb53 c057c0c0 c03456d8 c057c08c fffff48d
bee0: 0000000c 00000001 c057c090 c057a000 3fa83f7c 00200000 c0577768 fffff48c
bf00: 00000101 c002771c de007b00 de007b50 dce999c0 0000000c 00000003 00000000
bf20: 00000000 c057a000 00000000 c0583014 c057bfa4 c09e63c0 413fc090 00000000
bf40: 00000000 c0027b14 00000036 c000eea0 00000036 f8f00100 c057bf70 c00084c4
bf60: c000f234 60070013 ffffffff c000e1c0 c05b6f88 a0070093 00000000 00000000
bf80: c057a000 c03dcd60 c05823f4 c056ff48 c09e63c0 413fc090 00000000 00000000
bfa0: 00000000 c057bfb8 c000f230 c000f234 60070013 ffffffff c0582cd0 00000000
bfc0: ffffffff c054e7a4 ffffffff ffffffff c054e2e0 00000000 00000000 c056ff48
bfe0: 18c5387d c05823f0 c056ff40 c05861fc 0000406a 00008074 00000000 00000000
[<c03d69c4>] (skb_panic+0x50/0x5c) from [<c033a704>] (skb_put+0x44/0x50)
[<c033a704>] (skb_put+0x44/0x50) from [<c02b0210>] (xemacps_rx_poll+0x1a0/0x354)
[<c02b0210>] (xemacps_rx_poll+0x1a0/0x354) from [<c03456d8>] (net_rx_action+0x68
/0x164)
[<c03456d8>] (net_rx_action+0x68/0x164) from [<c002771c>] (__do_softirq+0xdc/0x1
c4)
[<c002771c>] (__do_softirq+0xdc/0x1c4) from [<c0027b14>] (irq_exit+0x74/0xbc)
[<c0027b14>] (irq_exit+0x74/0xbc) from [<c000eea0>] (handle_IRQ+0x68/0x8c)
[<c000eea0>] (handle_IRQ+0x68/0x8c) from [<c00084c4>] (gic_handle_irq+0x3c/0x60)
[<c00084c4>] (gic_handle_irq+0x3c/0x60) from [<c000e1c0>] (__irq_svc+0x40/0x70)
Exception stack(0xc057bf70 to 0xc057bfb8)
bf60: c05b6f88 a0070093 00000000 00000000
bf80: c057a000 c03dcd60 c05823f4 c056ff48 c09e63c0 413fc090 00000000 00000000
bfa0: 00000000 c057bfb8 c000f230 c000f234 60070013 ffffffff
[<c000e1c0>] (__irq_svc+0x40/0x70) from [<c000f234>] (cpu_idle+0xb4/0x100)
[<c000f234>] (cpu_idle+0xb4/0x100) from [<c054e7a4>] (start_kernel+0x29c/0x2ec)
Code: e1a0300c e58de010 e59f0008 ebfff66e (e7f001f2)
---[ end trace 115f553a55353e9d ]---
#ping PC->ZedBoard
user@user-HP-EliteBook-8540w:~/Desktop/ZED14_7$ ping 192.168.1.50
PING 192.168.1.50 (192.168.1.50) 56(84) bytes of data.
64 bytes from 192.168.1.50: icmp_req=1 ttl=64 time=1.26 ms
64 bytes from 192.168.1.50: icmp_req=2 ttl=64 time=0.654 ms
64 bytes from 192.168.1.50: icmp_req=3 ttl=64 time=0.634 ms
64 bytes from 192.168.1.50: icmp_req=4 ttl=64 time=0.652 ms
64 bytes from 192.168.1.50: icmp_req=5 ttl=64 time=0.656 ms
64 bytes from 192.168.1.50: icmp_req=6 ttl=64 time=0.629 ms
64 bytes from 192.168.1.50: icmp_req=7 ttl=64 time=0.653 ms
64 bytes from 192.168.1.50: icmp_req=8 ttl=64 time=0.619 ms
64 bytes from 192.168.1.50: icmp_req=9 ttl=64 time=0.648 ms
64 bytes from 192.168.1.50: icmp_req=10 ttl=64 time=0.656 ms
64 bytes from 192.168.1.50: icmp_req=11 ttl=64 time=0.649 ms
64 bytes from 192.168.1.50: icmp_req=12 ttl=64 time=0.635 ms
64 bytes from 192.168.1.50: icmp_req=13 ttl=64 time=0.686 ms
64 bytes from 192.168.1.50: icmp_req=14 ttl=64 time=0.637 ms
64 bytes from 192.168.1.50: icmp_req=15 ttl=64 time=0.670 ms
64 bytes from 192.168.1.50: icmp_req=16 ttl=64 time=0.663 ms
64 bytes from 192.168.1.50: icmp_req=17 ttl=64 time=0.662 ms
64 bytes from 192.168.1.50: icmp_req=18 ttl=64 time=0.646 ms
64 bytes from 192.168.1.50: icmp_req=19 ttl=64 time=0.676 ms
64 bytes from 192.168.1.50: icmp_req=20 ttl=64 time=0.633 ms
64 bytes from 192.168.1.50: icmp_req=22 ttl=64 time=0.639 ms
64 bytes from 192.168.1.50: icmp_req=22 ttl=64 time=522 ms (DUP!)
64 bytes from 192.168.1.50: icmp_req=23 ttl=64 time=0.671 ms
64 bytes from 192.168.1.50: icmp_req=24 ttl=64 time=0.681 ms
64 bytes from 192.168.1.50: icmp_req=25 ttl=64 time=0.641 ms
64 bytes from 192.168.1.50: icmp_req=26 ttl=64 time=0.627 ms
64 bytes from 192.168.1.50: icmp_req=28 ttl=64 time=0.634 ms