Subject: NWAY vs no NWAY on wm with makphy
To: NetBSD current-users <current-users@netbsd.org>
From: Chris Tribo <ctribo@dtcc.edu>
List: current-users
Date: 11/03/2005 13:57:38
Sorry to keep coming up with this odd questions.

I have a wm NIC connected to a 10 MegaBit hub that doesn't support  
NWAY and I'm not getting any data in or out of the NIC until I force  
the media to 10BaseT.

wm0 at pci2 dev 12 function 0: Intel i82540EM 1000BASE-T Ethernet,  
rev. 2
wm0: interrupting at irq 9
wm0: 32-bit 33MHz PCI bus
wm0: 256 word (8 address bits) MicroWire EEPROM
wm0: Ethernet address 00:08:74:xx:xx:xx
makphy0 at wm0 phy 1: Marvell 88E1011 Gigabit PHY, rev. 3
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,  
1000baseT-FDX, auto

I realize best practice is to have forced on each end, but it would  
be nice if this would work. It works to netboot the PC but once I  
load the kernel I can't get anything until I force the media. After  
reading some of the phy code, it looks like the phy is waiting for  
autonegotiation to complete, which is never going to happen as the  
other end doesn't support it. Is the assumption that the media status  
bits is invalid unless autonegotiation is disabled or complete really  
true in brgphy.c and makphy.c ?

The phy seems to be getting the media right, and ifconfig reports the  
link is active, any idea why nothing is making it to the wire?

Doesn't work -->

wm0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	capabilities=87<IP4CSUM,TCP4CSUM,UDP4CSUM,TSO4>
	enabled=0
	address: 00:08:74:xx:xx:xx
	media: Ethernet autoselect (10baseT)
	status: active
	inet xxx.xxx.xxx.xxx netmask 0xffffff00 broadcast xxx.xxx.xxx.xxx
	inet6 fe80::208:74ff:fexx:xxxx%wm0 prefixlen 64 scopeid 0x1

Works -->

wm0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	capabilities=87<IP4CSUM,TCP4CSUM,UDP4CSUM,TSO4>
	enabled=0
	address: 00:08:74:xx:xx:xx
	media: Ethernet 10baseT
	status: active
	inet xxx.xxx.xxx.xxx netmask 0xffffff00 broadcast xxx.xxx.xxx.xxx
	inet6 fe80::208:74ff:fexx:xxxx%wm0 prefixlen 64 scopeid 0x1