| Summary: | if_dc doesn't autosense 100Mb mode | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Andrew Gallatin <gallatin> |
| Component: | kern | Assignee: | Rusmir Dusko <nemysis> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | 4.0-RELEASE | ||
| Hardware: | Any | ||
| OS: | Any | ||
State Changed From-To: open->closed This has been fixed I'm pretty sure. Responsible Changed From-To: freebsd-bugs->nemysis I'll take it. |
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.