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

Jerry Van Baren
2009-01-07T18:23:06Z

Loren A. Linden Levy wrote:
> On Wed, 07 Jan 2009 07:52:58 -0500
> Jerry Van Baren <gerald.vanbaren@ge.com> wrote:
>
>> 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).
>>
>> gvb
> Hi All,
>
> Is there something like ethtool in U-boot that I can use to see what
> the network negotiated too. This is a fairly cheap netgear switch so I
> do not have any diagnostics on it.
>
> I will also have a look with wireshark when i get back to the lab to
> see if I can identify what is happening.
>
> Alex

Please don't top post.

Wireshark is a Very Good Program[tm], but I would not expect too much if
this is an autonegotiation issue because autonegotiation uses a sideband
control channel (link pulses) separate from the data transmission.
Wireshark only sees the data transmissions.

Having said that, look for runt packets w/ Wireshark - that is a strong
indicator of full/half duplex problems.

As mentioned by Ed, the u-boot "mii" commands will be more helpful if it
is an autonegotiation issue. (Ethernet autonegotiation is a weird
bugger: both sides send their capabilities, independently match them,
and (hopefully) come to the same conclusion about what is the right
configuration. It looks to me like something designed by three
committees[1] simultaneously and then turned into a super-subset.)

gvb

[1] A horse is a camel designed by a committee: it looks really good and
can run fast on an ideal surface, but quickly dies in conditions that
just cause a camel to grin.
<http://en.wikipedia.org/wiki/Camel#Eco-behavioural_adaptations>