Thread (13 messages) 13 messages, 4 authors, 2008-09-17

Re: [PATCH] Re: ep93xx_eth PHY problems

From: Lennert Buytenhek <hidden>
Date: 2008-09-14 12:12:27

On Sun, Sep 14, 2008 at 02:11:10PM +0200, Oliver Martin wrote:
quoted
Oliver Martin wrote:
quoted
Am Tue, 04 Mar 2008 14:02:15 +0100
schrieb Oliver Martin [off-list ref]:
quoted
Now I'm having different problems: When auto-negotiation is
enabled, it sometimes randomly changes the link state:

PHY: 0:01 - Link is Down
PHY: 0:01 - Link is Up - 100/Full
I've found at least one part of the problem. The MDIO clock divisor
wasn't set again after the reset in ep93xx_start_hw. It was left at
the default, resulting in a 12.5 MHz clock, which the PHY (Micrel
KSZ8721BL) didn't like too much. Calling ep93xx_mdio_reset after
the reset fixed it, the link is now perfectly stable in
auto-negotiation mode.

There still seems to be another bug with auto-negotiation disabled:
It doesn't switch to 1000 Mbps any more, but most times it doesn't
stay in the intended configuration either. I haven't done any
extensive testing of this yet, though.

Signed-off-by: Oliver Martin <redacted>
Testing feedback?  Lennert ack?
We're currently using a variation of my original patch, which didn't
handle ifdown correctly (there's a similar reset there). With the
current setup, everything seems stable, but we still have some rather
hackish workarounds for the original issue in our startup scripts.
I don't have the hardware right now, but we'll specifically test
without them both with and without auto-negotiation next week and
report the results.
Can you stick this somewhere together with the version of the phylib
patch you are using?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help