[eepro100] mii-diag program - slight inaccuracy
John Cagle
linuxguy@houston.rr.com
Fri, 07 Jul 2000 13:31:39 -0500
Donald Becker wrote:
>
> On Wed, 5 Jul 2000, John Cagle wrote:
>
> > I've recently been using Donald's mii-diag program and I've come across
> > something that's not quite accurate.
> >
> > With my NIC & Switch combination, the BMSR register has a "1" in the bit
> > position for "Link Jabber" (bmsr & 0x0002). This causes the mii-diag
> > program to print out "*** Link Jabber! ***".
> >
> > However, according to the National DP83840A specification, the Link
> > Jabber bit only has meaning in 10 Mb/s mode. I'm running at 100 Mb/s,
> > so this bit should be ignored.
>
> Hmmm, curious. I've seen false indication of link jabber at 100baseTx
> before, but I don't believe that it adheres to the standard. Does anyone
> have a copy of the standard nearby to check?
Well I just dusted off the old IEEE 802.3u-1995 standard, and I found
the following references to Jabber:
__________________________
22.2.4.2.12 Jabber Detect
...
PHYs specified for 100 Mb/s operation (100BASE-X and 100BASE-T4) do
not incorporate a Jabber Detect function, as this function is defined to
be performed in the repeater unit in 100 Mb/s systems. Therefore,
100BASE-X [meaning 100BASE-TX and 100BASE-FX] and 100BASE-T4 PHYs shall
always return a value of zero in bit 1.1.
__________________________
30.5.1.1.6 aJabber
[consists of JabberFlag and JabberCounter]
...
Note that this counter will not increment for a 100 Mb/s PHY, as
there is no defined JABBER state.;
__________________________
> I happened to have two transceiver datasheets open when this message
> arrived. Both are from the same company, Lucent. The LU6612 doesn't
> specify when the bit is valid, implying that it always is. The LU3X31
> datasheet says "During 10baseT operation..."
>
> The minimal standard does not provide a way to tell what speed the
> transceiver selects if autonegotiation fails and autosense takes over(1). So
> it's pretty much unreasonable for the bit to be set in 100baseTx mode unless
> there is a data jabber(2).
So it appears that while Jabber is meaningless for 100 Mb/s PHYs, that
the DP83840 is in violation of the standard in that it sometimes
(always?) returns 1 for the Jabber bit instead of 0. FYI, for the
National PHY, you can read register 25's PMDSpeed bit to determine the
current link speed.
>
> (1) Many transceiver do report the speed in register 5, leaving the
> autonegotiation-complete bit unset. A few report the speed in register 0.
>
> (2) Unlike 10baseT, 100baseTx is constantly sending data symbols. But the
> transceiver does know when it's sending data vs. idle symbols.
>
> Donald Becker becker@scyld.com
> Scyld Computing Corporation http://www.scyld.com
> 410 Severn Ave. Suite 210 Beowulf Clusters / Linux Installations
> Annapolis MD 21403
Regards,
John Cagle
Compaq Computer Corporation
http://www.compaq.com/linux/
aka john.cagle@compaq.com