Subject: kern/35376: re(4) doesn't auto-negotiate properly on GigE
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <smb@cs.columbia.edu>
List: netbsd-bugs
Date: 01/08/2007 04:15:00
>Number:         35376
>Category:       kern
>Synopsis:       re(4) doesn't auto-negotiate properly on GigE
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jan 08 04:15:00 +0000 2007
>Originator:     Steven M. Bellovin
>Release:        NetBSD 4.0_BETA2
>Organization:
>Environment:
	
	
System: NetBSD EMU.machshav.com 4.0_BETA2 NetBSD 4.0_BETA2 (EMU-DOM0) #2: Sat Dec 30 14:54:56 UTC 2006 root@EMU.machshav.com:/usr/BUILD/obj/sys/arch/i386/compile/EMU-DOM0 i386
Architecture: i386
Machine: i386
>Description:
	When plugged in to a (Netgear) GigE switch, the re driver does
	not properly negotiate the speed.  ifconfig shows 'media autoselect',
	but the switch lights show lower-speed, and ttcp suggests that
	it thinks it's a 10baseT interface...  If, however, I then type
	'ifconfig re0 media auto', it understands that it's on a GigE
	switch, both according to ifconfig's output and ttcp tests.  (Mind
	you, transmit speed is still too slow for my tastes -- about 200M bps
	-- compared to the 535M bps I can get on a wm interface, but
	that's not the subject of this PR...)

	Often, though not quite always, when I type that ifconfig, it
	takes a *very* long time to negotiate speeds -- on the order of
	a minute or more.  In fact, auto-negotiate is slow enough that
	my ifconfig.re0 file has

		!sleep 15

	in it.

	The same problem occurs on -current.  It does not occur on
	3.1_STABLE.  I tested this on two different computers, with
	separate cables.
>How-To-Repeat:
	See above
>Fix:
	'ifconfig re0 media auto', then wait a while

>Unformatted: