[U-Boot] Fw: TFTP fails when using network switch

L. A. Linden Levy
2009-01-16T00:36:22Z

Can someone tell me how to use the mii command? I have the following
from a dump:

uBOOT=>> mii dump
MII not complete
0. (ffff) -- PHY control register --
(8000:8000) 0.15 = 1 reset
(4000:4000) 0.14 = 1 loopback
(2040:2040) 0. 6,13 = b11 speed selection = ??? Mbps
(1000:1000) 0.12 = 1 A/N enable
(0800:0800) 0.11 = 1 power-down
(0400:0400) 0.10 = 1 isolate
(0200:0200) 0. 9 = 1 restart A/N
(0100:0100) 0. 8 = 1 duplex = full
(0080:0080) 0. 7 = 1 collision test enable
(003f:003f) 0. 5- 0 = 63 (reserved)

On Wed, Jan 7, 2009 at 12:58 PM, Jerry Van Baren <gerald.vanbaren@ge.com> wrote:
> Ulf Samuelsson wrote:
>>
>> ons 2009-01-07 klockan 07:52 -0500 skrev Jerry Van Baren:
>>>
>>> Wolfgang Denk wrote:
>>>>
>>>> Dear Ulf Samuelsson,
>>>>
>>>> In message <1231282371.32308.276.camel@elrond.atmel.com> you wrote:
>>>>>
>>>>> It was tracked down to the autoconfiguration of the Ethernet PHY, so
>>>>> one of the PHYs ended up in 100 Mbps Half Duplex (think that was the switch)
>>>>> while the other PHY ended up in 100 MBps Full Duplex.
>>>>
>>>> That would most probably be a bug in the U-Boot ethernet driver, then.
>>>>
>>>> Best regards,
>>>>
>>>> Wolfgang Denk
>>>
>>> If auto-negotiation fails, the default is half duplex (10 or 100 - the
>>> speed can be discovered independent of the autonegotiation by the encoding).
>>>
>>> Ulf's recollection that the switch was half duplex would indicate that
>>> the cheap switch did not autonegotiate properly, but u-boot did. This could
>>> be a u-boot bug (not setting up the negotiation properly), but more likely
>>> would be a switch problem (not handling the u-boot auto-neg options
>>> properly).
>>>
>>
>> Don't remember all details, since it was 4 years ago.
>> I talked to D-Link support and they claimed that the standard
>> was to fall back to one of the options, if autonegotiation failed.
>
> Autonegotiation enabled but fails => half duplex. It's in the spec.
>
>> The customer might have had a PHY without autonegotation which
>> was hardwired to 100 Mbps full duplex.
>
> Manually configured (autoneg disabled) is no problem, *AS LONG AS* both
> sides are manually configured to the same configuration. The problem is
> when one side is configured to autonegotiate and the other side is set to
> full duplex. The autonegotiation side is unable to negotiate with the
> manually configured side, so it falls back to half duplex at whatever rate
> is being used (10/100, determined from the encoding on the wire).
>
> It sorta works until there is more than a few packets on the wire, at which
> time the half duplex end sees the full duplex packets as collisions and the
> error rate (and runt packets) skyrockets because the half duplex side keeps
> aborting packets.
>
> It sounds like, in your case, the computer end was manually configured to be
> (100bT) full duplex but the (cheap unmanaged) switch was still running
> auto-negotiation. Recipe for disaster.
>
>> With little communication, the packages were sent where this caused some
>> problems.
>
> Oh yeah, in spades, but only when the wire gets busier.
>
> gvb
>
>

--
--
---------------------------------------------
Loren A. Linden Levy
Department of Physics
390 UCB
University of Colorado
Boulder, CO 80309-0390
Tel: 303-735-6146 (CU) / +049 040 8998 4789 (DESY)
Fax: 303-492-3352 (CU) / +049 040 8998 4034 (DESY)
Cell: 303-332-2768 (U.S.) / +049 (0)151 5496 1831 (Germany)
Email: Loren.Lindenlevy at colorado.edu
url: http://up.colorado.edu/~lindenle
_____________________________________________
---------------------------------------------
This email has been cryptographically signed.
Search for "lindenle" at pgp.mit.edu
to obtain my public key which can be used
to verify the authenticity of this message.
_____________________________________________
---------------------------------------------