Re: CRC errors between mvneta and macb
From: Richard Genoud
Date: Mon Oct 22 2018 - 11:15:29 EST
Le 22/10/2018 Ã 08:51, Richard Genoud a ÃcritÂ:
> Le 19/10/2018 Ã 17:44, Willy Tarreau a ÃcritÂ:
>> On Fri, Oct 19, 2018 at 05:15:03PM +0200, Richard Genoud wrote:
>>> 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 ?
>>
>> Willy
>>
>
> I 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.