Re: CRC errors between mvneta and macb
From: Richard Genoud <hidden>
Date: 2018-10-22 15:15:29
Also in:
lkml
Le 22/10/2018 à 08:51, Richard Genoud a écrit :
Le 19/10/2018 à 17:44, Willy Tarreau a écrit :quoted
On Fri, Oct 19, 2018 at 05:15:03PM +0200, Richard Genoud wrote:quoted
When there's a CRC error, the TXCLK has its polarity inverted... That's a clue ! But this TXCLK (25MHz) is not used on the g35-ek. Only the REFCLK/XT2 (50MHz) is used to synchronise the PHY and the macb. So I guess that the TXCLK has a role to play to generate TX+/TX-Well, just a stupid idea, maybe when this signal is inverted, the TX+/TX- are desynchronized by half a clock and are not always properly interpreted on the other side ? WillyI must admit that I'm not familiar with the PHY internals, I'll have to dig into that. Richard.
I dug more on the subject, and I think I found what Marvell's PHY/MAC doesn't like. First of all, I forced the liaison at 10Mbits full duplex on both sides, as the Manchester code is "easier" to decode than the 4B5B-MLT3 used for fast ethernet. Fortunately, the FCS errors are still present on 10Mbits/s. After analyzing the ethernet frame on the Davicom PHY's output (pin TX+), I find out that the FCS errors occurs when the ethernet preamble is longer than 56bits. (something like 58 or 60 bits) To say this in another way, instead of having 28 times 1-0 followed by the SFD (10101011), I see 29 or 30 times 1-0 followed by the SFD. (sometimes 29, sometimes 30) Should a longer preamble be considered as an FCS error ? It seems a little harsh since the point of the preamble is to synchronize the frame. I don't know what the 802.3 standard says about that. Regards, Richard.