Date: Tue, 1 Mar 2005 14:52:39 -0800 From: "Ted Mittelstaedt" <tedm@toybox.placo.com> To: "Jason D. Montgomery" <jason@atgi.com>, "Jerry McAllister" <jerrymc@clunix.cl.msu.edu> Cc: questions@freebsd.org Subject: RE: Documentation Error? Message-ID: <LOBBIFDAGNMAMLGJJCKNMEJLFAAA.tedm@toybox.placo.com> In-Reply-To: <5C6F478A90E6034BBDCF6D754D7850BC66F140@DERRIDA.atgi.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> -----Original Message----- > From: owner-freebsd-questions@freebsd.org > [mailto:owner-freebsd-questions@freebsd.org]On Behalf Of Jason D. > Montgomery > Sent: Tuesday, March 01, 2005 1:55 PM > To: Ted Mittelstaedt; Jerry McAllister > Cc: questions@freebsd.org > Subject: RE: Documentation Error? > > > > Well one thing is that the 3c905 adapter (xl0) is known for > > problems under FreeBSD. > > Ah, that's sad - ALL of our older Dell servers use this NIC (and I only > run FreeBSD on them) - this could also explain odd intermittent network > problems I'm having on our mail server. > Yes, Dell liked these cards because 3com has always worked overtime to produce good stable windows drivers and as a result has a very good reputation among Windows admins. However, 3com (like other vendors) has in some cases made up for shortcomings in their hardware by writing patches into their drivers, and they DON'T seem to document most of these problems in any of their programming documentation. If you take a look at /sys/pci/if_xl.c you will find things like: /* * Pretend that PHYs are only available at MII address 24. * This is to guard against problems with certain 3Com ASIC * revisions that incorrectly map the internal transceiver * control registers at all MII addresses. This can cause * the miibus code to attach the same PHY several times over. */ * Note II, The Sequel: _CURRENT_ versions of the 3c905B have a * 256 bit hash table. This means we have to use all 8 bits regardless. * On older cards, the upper 2 bits will be ignored. Grrrr.... */ /* Wait a little while for the chip to get its brains in order. */ DELAY(100000); /* * This routine is a kludge to work around possible hardware faults * or manufacturing defects that can cause the media options register * (or reset options register, as it's called for the first generation * 3c90x adapters) to return an incorrect result. I have encountered * Note: my 3c575C cardbus card lies. It returns a value * of 0x1578 for its capabilities word, which is somewhat * nonsensical. Another way to distinguish a 3c90x chip Now, most ethernet controller chips do have differences in revisions - but unless those differences are documented, you have to guess when you run into these things. The presence of differences in board revisions isn't cause for alarm, what is cause for alarm is when you see statements like: "certain 3Com ASIC revisions" (if he knew which revisions he would have written around the problem) "possible hardware faults or manufacturing defects" (you better believe 3com knows all about the conditions that cause this and isn't sharing) and "my 3c575C cardbus card lies" (shorthand for WTF is this damn thing doing?) And these are just the ones that our group found, I would imagine that there's plenty of others that 3com knows about and isn't telling. I've also seen trouble with these under Linux. > What's your favorite NIC on FreeBSD then? > For 10Base T ISA only: WD or SMC 8013 (these aren't produced anymore) For 10/100 PCI: device dc # DEC/Intel 21143 and various workalikes (except for the "LC82C115 PNIC II 10/100BaseTX", the "82c168 PNIC 10/100BaseTX" and the "82c169 PNIC 10/100BaseTX" I will leave it as a homework assignment for you to find out why this is. hint, read the code) device fxp # Intel EtherExpress PRO/100B (82557, 82558) See the following for a list of vendors that use these chips: http://www.freebsd.org/releases/4.11R/hardware-i386.html#ETHERNET Ted
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?LOBBIFDAGNMAMLGJJCKNMEJLFAAA.tedm>