8.1 xl + dual-speed Netgear hub = yoyo

Jeremy Chadwick freebsd at jdc.parodius.com
Sat Oct 22 05:29:58 UTC 2011

On Sat, Oct 22, 2011 at 05:10:04AM -0700, perryh at pluto.rain.com wrote:
> Damien Fleuriot <ml at my.gd> wrote:
> > On 10/21/11 5:00 PM, perryh at pluto.rain.com wrote:
> > > I have an 8.1-RELEASE system with an xl on the mainboard:
> > >   xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0xdc80-0xdcff mem 0xf8fffc00-0xf8fffc7f irq 16 at device 4.0 on pci2
> > >   miibus0: <MII bus> on xl0
> > >   xlphy0: <3c905C 10/100 internal PHY> PHY 24 on miibus0
> > >   xlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> > >   xl0: Ethernet address: 00:b0:d0:22:5a:14
> > >   xl0: [ITHREAD]
> > > It has been working properly while connected to an old 10-BaseT
> > > hub, but when I moved it to a (not as old) Netgear 10/100 dual-
> > > speed hub the link started to yo-yo:
> >
> > Pray tell, what's a "dual-speed hub" , marketing mumbo-jumbo ?
> That's what Netgear calls it :)
> > If that's a hub that supports negotiation of different speeds
> > (10 vs 100), then yes, I call that marketing mumbo-jumbo ;)
> It supports negotiation of either 10 or 100 on each port
> independently, so it must internally have a 2-port switch
> between the 10- and 100- sides.  "10/100 dual-speed hub"
> seems more compact than "marketing mumbo-jumbo hub" :)
> > >   Oct 21 07:16:00 fbsd81 kernel: xl0: link state changed to DOWN
> > >   Oct 21 07:16:02 fbsd81 kernel: xl0: link state changed to UP
> > >   Oct 21 07:16:12 fbsd81 kernel: xl0: link state changed to DOWN
> > [snip]
> > > Both connections were using the same (short) Cat5 cable, I tried
> > > two different ports on the 10/100 hub, and other systems work OK
> > > on that 10/100 hub.
> > > 
> > > How do I get this interface to operate properly at 100MB?
> >
> > You change your faulty cable and enjoy ;)
> > It is totally possible that your cable be the cause, and that it
> > can operate just fine at 10MB but not at 100.
> I tried a (different) brand-new cable.  Same problem.  I suppose
> maybe the xl's 100MB phy is dodgy, but it does work after a fashion
> -- some packets do get through during the times when the link is UP.
> Anything else to try?

1) I think you misunderstand what product it is you own.  You have a hub,
not a switch.  This is confirmed by the fact that auto-neg chooses to
negotiate half-duplex.  Instead, you went later and messed about trying
to force full-duplex, which isn't going to work on a hub.  The fact you
even tried it has many implications.

If you want full-duplex, you need an actual switch.  Netgear refers to
"hubs" as actual hubs, and "switches" as actual switches.  Do you know
the difference?  Google and learn.  The difference is huge.  This is the
first time I have ever seen a hub in use in almost 10 years.

2) There is no guarantee your NIC is fully compatible (negotiation-wise)
with the hub.  Vendor interoperability problems were extremely common
"back in the day" (you're using a 3Com NIC from the mid-to-late 90s,
you do realise that don't you?), and therefore everything you're using
is subject to this problem.  Read Wikipedia for lots of info.  You can
either replace the NIC with something else, or replace the hub.  IMHO, I
would replace both.

3) I recommend you replace the Netgear hub with a D-Link DGS-2205 or
DGS-2208.  These are gigE switches which do auto-neg properly with many
products (Intel server-grade NICs, Realtek consumer NICs, Marvell NICs,
Broadcom NICs).  I can't guarantee compatibility with that 3Com NIC
because as I said, I haven't seen one in use in over 10 years.

4) If replacing the Netgear product doesn't help, then your next step is
to replace the 3Com NIC with something newer.  Intel makes many
PCI-based 100mbit and 1000mbit NICs that work wonderfully on FreeBSD via
the em(4) driver.  They are affordable and reliable.

5) The xl(4) driver is extremely old and basically is not maintained
any longer.  I would not be surprised if this was a driver bug.

Finally: if you cannot afford any replacement products, I will be more
than happy to purchase you brand new hardware (a switch and a NIC) that
*absolutely* reliably works together, free of charge.  Let me know.

| Jeremy Chadwick                                jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                   Mountain View, CA, US |
| Making life hard for others since 1977.               PGP 4BD6C0CB |

More information about the freebsd-stable mailing list