Hi,
Currently I am working on Gigabit Ethernet in i.Mx6q platform.
print for Ethernet:
------------------
root@freescale ~$ ifconfig eth0 192.168.2.48 up
eth0: Freescale FEC PHY driver [Micrel KSZ9021 Gigabit PHY] (mii_bus:phy_addr=1:03, irq=-1)
PHY: 1:03 - Link is Up - 1000/Full
It was working fine, up to 41000 packet size (more than 41000 packet size, it's not pining at all)
(ping -s 42000 192.168.2.37)
On that time the following errors are coming. (my kernel print)
RX-ERROR CRC Error !!!!!
RX-ERROR FIFO overrun !!!!!
Do you have any idea on this??
What can I do to resolve it???
After some days, we had to change the PHY (micrel KSZ9021 in to micrel KSZ9031)
What are the procedures required to switch one PHY in to another PHY???
And I replace the new detected PHY_ID (0x00221620) into old PHY structure's PHY_ID (0x00221611)
By the time Link UP!! is not coming.
Is any configuration require for this Link UP issue???
Thanks in advance!!!
Regards,
J.P.Raja
Solved! Go to Solution.
Hi Pradap,
you need to have physical ksz9031 connected to RGMII bus, and straps it with 125 MHz enabled.
After we just adopt following skew configuration in extended register of 9031:
reg idx 0x02 address 0x04 ==> 0x0000
reg idx 0x02 address 0x05 ==> 0x0000
reg idx 0x02 address 0x06 ==> 0x0000
reg idx 0x02 address 0x08 ==> 0x03E0
Setting value of this register can be different for different PCB. Now ksz9031 work with kernel 3.0.15 and 3.0.35.
Regards
Giuseppe
Have you already solved ? We are using ksz9031 on a custom board.ù
to migrate just need to adjust staps ande skew settings.
Bye
Giuseppe
Hi Giuseppe,
What exactly you have changed to make KSZ9031 PHY work? Can you send me the settings details?
Regards,
Pradap
Hi Pradap,
you need to have physical ksz9031 connected to RGMII bus, and straps it with 125 MHz enabled.
After we just adopt following skew configuration in extended register of 9031:
reg idx 0x02 address 0x04 ==> 0x0000
reg idx 0x02 address 0x05 ==> 0x0000
reg idx 0x02 address 0x06 ==> 0x0000
reg idx 0x02 address 0x08 ==> 0x03E0
Setting value of this register can be different for different PCB. Now ksz9031 work with kernel 3.0.15 and 3.0.35.
Regards
Giuseppe
Hi Giuseppe,
For your solution with KSZ9031 I would like to check whether you used same PCB length match for your clock and data lines, or whether you introduced any delay by making the clock trace longer?
Thanks in advance
Best regards
Craig
Hi Giuseppe,
First of all, I say Thank to you for given skew configuration of 9031.
After long time back I am coming with the same issue.
By Normally, that skew settings are working fine on 9031. But it's giving some Rx errors (highlighted as Bold) while running iperf for one or two day(s).
console print as follow,
root@iWave-G15M ~$
root@iWave-G15M ~$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:01:03:04:02:05
inet addr:192.168.2.229 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:277744950 errors:3 dropped:10 overruns:0 frame:3
TX packets:132706501 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:414113772 (394.9 Mb) TX bytes:173980272 (165.9 Mb)
iperf command,
iperf -s -t 86400 -i 1
Currently, I am using i.Mx6Q SabreSD based custom board.
Linux version : linux-3.0.35 (L3.0.35_4.1.0).
why this error is coming ?
Is this error common for ksz9031 ?
Could you please share if you have any skew settings without Rx error ?
please suggest me to go further.
Thanks in Advance.
Best Regards,
J.P.Raja
Hi Giuseppe,
Thank you for the info.
Regards,
Pradap