Subject: Re: bge sending garbage frames
To: NetBSD current-users <current-users@netbsd.org>
From: Chris Tribo <ctribo@dtcc.edu>
List: current-users
Date: 11/09/2005 17:38:48
On Nov 9, 2005, at 10:16 PM, Matthias Scheler wrote:

> In article <19BA96F3-0094-458A-BBA0-7FE4CF657B1D@dtcc.edu>,
> 	Chris Tribo <ctribo@dtcc.edu> writes:
>> If I go from 10base to auto, it works, and if I step down from 100 to
>> 10 in any fashion it works, it's only going from 10 to 100 forced
>> that causes it to freak out. I can't log into the switch so I don't
>> know what exactly is happening.
>
> You can *not* use auto negotiation on one side and forced speed on the
> other and expect that to work. That is a broken setup.

Well I agree that it isn't "best practice" but it works sufficiently  
to netboot the PC and in Windows set to autonegotiate on the PC side.  
It just doesn't seem to be "correct" that the PHY knows we're at 10  
megabit but won't let any data in or out in NetBSD. I don't need it  
to be maximum efficiency, or error-free, I just need to transfer  
about 20k of data and reboot the machine.

>> Any ideas?
>
> Yes, leave auto negotiation turned on or configure the switch to the
> same forced speed as the network interface.
>
> May I ask why you don't simply use auto negotiation?

Legacy 10 Megabit hubs and switches that don't support autonegotiate  
or it is broken. If the capability was there on the hub/switch it  
would be enabled, and there isn't presently money available to  
replace them. The last 10 megabit switch I cracked open had arrays of  
quad-AMD79C90s in it. Not exactly the latest technology.

I just added some scripting to my rc that forces the link to 10baseT  
if ifconfig reports 10baseT anywhere on the media line after bringing  
the interface up, and that seems to do the trick.