[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:
 __________________________ 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.
 __________________________ 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

John Cagle
Compaq Computer Corporation
aka john.cagle@compaq.com