On our i.mx6q based custom board, we are facing a problem for ethernet.
We are using lollipop release(kernel 3.10.53). For ethernet, if we ping without explicitly mentioning any packet size, it is successful. But if we increase the size(for ex: 2000, 5000), the packet loss is more than 50% and for packet 10,000 it is not pinging at all.
for ex: ping -s 5000 188.8.131.52 results in 50% packet loss
But on the same board, If we are using JellyBean source(kernel 3.0), the ping is successful for all packet size.
We have taken the register dump of fec for kernel 3.0 and kernel 3.10. Please see the register dump below.
We can see there are differences for both kernel.
We tried to configure the 3.10 kernel same way as it is in 3.0 kernel.
For register(ENET_TDAR) offset 0x24, the 5th bit is mentioned as either
" EN1588 Enable(Enables enhanced functionality of the MAC)
- Legacy FEC buffer descriptors and functions enabled
- Enhanced frame time-stamping functions enabled. "
If we try to clear the bit to set it as <legacy>(as configured in 3.0 kernel), It is not pinging at all for 3.10 kernel.
Is FEC is configured differently for both the kernel?
Please help us to understand the differences between the two kernel for fecs.
Please reply as it has become a critical issue for our project.