Hi
I am using the custom imx6q board in which we have RGMII back to back connection between i.MX6Q and Zynq FPGA.
We have taken care of the driver changes to fake the presence of PHY and thus able to communicate between both the processor
We are observing packet loss issue while pinging to/from IMX/ZYNQ with the latest kernel (3.10.53) provided by freescale
This issue was not observed in old kernel (3.0.35) version we were using.
There are lot of modification related to Flow control in the latest driver.Could that be affecting the
packet loss
Regards
Himanshu
Hello,
As for the flow control, PHY-less connection is implemented in the case.
Please be sure if MAC frame to carry the PAUSE command is treated (properly)
in the FPGA. Also, You may try using ethtool to enable receiving
and transmitting pause frames.
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi,
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 192.19.253.11 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.
Thanks,
Hello,
You may try the recent NXP Android release, based on Linux 3.14.52 kernel.
i.MX 6 Series Software and Development Tool|NXP
Regards,
Yuri.
Hello Yuri
Thanks for the response
The ZYNQ(FPGA) is same in both the cases (kernel 3.0.35 and kernel 3.10.53)
we are not seeing any loss in 3.0.35 but observed major loss in 3.10.53 when
increasing the payload of (1K +)
Attaching the Register dump of both Kernel
Regards
Himanshu
Hi
Below is my device tree configuration for the fec module
&fec {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_enet_1>;
phy-mode = "rgmii";
status = "okay";
};
fec: ethernet@02188000 {
compatible = "fsl,imx6q-fec";
reg = <0x02188000 0x4000>;
interrupts-extended = <&intc 0 118 0x04>,
<&intc 0 119 0x04>;
clocks = <&clks 117>, <&clks 117>, <&clks 190>;
clock-names = "ipg", "ahb", "ptp";
status = "disabled";
Currently i am getting packet loss while doing ping with payload
what could be possible reason for the packet loss
Kernel version i am using - 3.10.53