Bug 18751

Summary: if_dc doesn't autosense 100Mb mode
Product: Base System Reporter: Andrew Gallatin <gallatin>
Component: kernAssignee: Rusmir Dusko <nemysis>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.0-RELEASE   
Hardware: Any   
OS: Any   

Description Andrew Gallatin 2000-05-22 18:30:00 UTC
	 If I have a non-autoneg. capable switch in 100Mb mode, the 
driver does not autosense 100Mb mode.  Rather, after giving it an address, 
it reports (even after waiting 10+seconds):

# ifconfig dc0
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 152.3.145.96 netmask 0xffffff00 broadcast 152.3.145.255
        ether 00:00:f8:71:74:b6 
        media: autoselect (none) status: no carrier
        supported media: autoselect 100baseTX <full-duplex> 100baseTX 10baseT/UTP <full-duplex> 10baseT/UTP
100 baseTX <hw-loopback> none

running ifconfig dc0 immediately after boot shows 10baseT/UTP

If I change the switch to 10Mb mode & ifconfig down/up, the driver
properly autosenses 10Mb/UTP.

# ifconfig dc0
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 152.3.145.96 netmask 0xffffff00 broadcast 152.3.145.255
        ether 00:00:f8:71:74:b6 
        media: autoselect (10baseT/UTP) status: active
        supported media: autoselect 100baseTX <full-duplex> 100baseTX 10baseT/UTP <full-duplex> 10baseT/UTP
100 baseTX <hw-loopback> none

At 100Mb/sec mode, the manually setting speed/duplex setting still
appears to work properly.

Fix: 

Always hardcode speed and duplex mode.  For netbooting, hardcode it at the SRM
console level using >>> set ewa0_mode FastFD.  It would be far better if the driver
at least found its way to 100Mb mode as it should (and as the if_de driver does).
How-To-Repeat: 
	boot system connected to a switch which is hardcoded to 100Mb/fd and 
ifconfig dc0 up. observe that there is no link.
Comment 1 Poul-Henning Kamp freebsd_committer freebsd_triage 2001-05-29 10:23:40 UTC
State Changed
From-To: open->closed

This has been fixed I'm pretty sure.
Comment 2 Rusmir Dusko freebsd_committer freebsd_triage 2014-03-12 22:12:12 UTC
Responsible Changed
From-To: freebsd-bugs->nemysis

I'll take it.