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