Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Nov 1999 17:04:09 -0500 (EST)
From:      Bill Paul <wpaul@skynet.ctr.columbia.edu>
To:        current@freebsd.org
Subject:   Looking for testers...
Message-ID:  <199911192204.RAA02751@skynet.ctr.columbia.edu>

next in thread | raw e-mail | index | archive | help
For those who may not know, I've been tinkering with a new 'tulip clone'
driver for various PCI ethernet cards. I'm attempting to combine support
for several tulip like chipsets into a single driver in an attempt to
reduce code bloat. I've gotten things to where I think they work okay,
but I'm looking for testers who have FreeBSD-current running with the
following PCI chipsets:

- Macronix 98713, 98713A, 98715A or 98725 (NDC sohoware, CNet)
- Davicom DM9102 (Jaton XpressNet)
- ASIX AX88140A or AX88141 (CNet)
- ADMtek AL981 Comet or AN985 Centaur
- Lite-On 82c168 or 82c169 PNIC (LinkSys LNE100TX, Matrox 10/100 NIC,
  Netgear FA310-TX rev D1, D2 or D3, Kingston KNE110TX)
- Lite-On/Macronix LC82c115 PNIC II (LinkSys LNE100TX v2.0)
- Intel 21143 (Kingston KNE100TX, D-Link DFE-570TX, any other board
  with an Intel 21143 and MII-based transceiver)

If you have a card with one of these chips, download the driver from
http://www.freebsd.org/~wpaul/dc.tar.gz. This includes the source for
the dc (DEC Clone) driver plus the dcphy and pnphy drivers, as well as
pre-compiled KLD modules. The simplest way to test the driver is:

- Compile a kernel *without* the ax, al, pn, mx, dm or de drivers.
- Boot it.
- kldload /path/to/dcphy.ko
- kldload /path/to/if_dc.ko

If you have "controller miibus0" in your kernel config, then you should
be fine, otherwise you will also need to do "kldload miibus" before
loading dcphy.ko and if_dc.ko. These modules are for the x86 platform:
if you want to compile them for the alpha, you should be able to just
by using the included Makefiles.

Note the following:

- The NWAY autonegotiation support on the early rev PNIC chips
  (82c168) was horribly broken and I haven't been able to make it
  work reliably, so it's not currently supported. If you have one
  of these older cards (LinkSys or Matrox), then you will have to
  select the media mode manually. It should default to 10baseT/UTP.
  If you want anything else, you need to select it manually with
  ifconfig. You must also have the dcphy.ko module loaded for this
  chip since it includes the pnphy pseudo driver.

- Both the 82c168 and 82c169 are set to default to store and forward
  mode for transmissions. This limits performance somewhat, however
  I've seen cases where setting a lower transmit threshold leads to
  corrupt packets being transmitted at 100Mbps on some systems.

- The Macronix and PNIC II chips require the dcphy.ko module, since
  it contains the pseudo driver that makes the built-in NWAY support
  on these chipsets work.

- The 21143 cards I have use MII transceivers: there exist 21143-based
  NICs that use the 21143's internal NWAY support for autonegotiation
  and a symbol mode transceiver for 100Mbps, but I haven't bloody got
  one, so I can't be sure that they will work right. The dcphy.ko
  pseudo driver should work with the built-in 21143 NWAY, but I can't
  be sure it really works correctly without a NIC to test.

- Occasionally, you may see the driver print a warning message saying
  there was a transmit underrun and that it's increasing the TX threshold.
  This is normal: if you see this message, the driver should recover and
  the interface will continue working without any user intervention.
  You may see this two or three times after the interface is brought
  up: after that, you shouldn't see it anymore. If you see this message
  a lot and the interface stops working after you see it, then I want
  to know about it. If you only see it once or twice and the interface
  recovers and keeps going, then don't be concerned; just ignore the
  message and keep testing. Odds are you will only see this with the
  Macronix, PNIC II and Davicom chips. You may see it with others under
  certain conditions.

- You may also see a debug error message of the form:

txstat: 0x????????

  where ???????? is some hexadecimal value. You shouldn't see this
  under normal cicrumstances, but if you do I'd like to know about it.

I'm mainly interested in knowing how this driver code performs and how
reliable it is. I'm much more interested in reliability than peformance.
I'm also interested to see if the driver autoselects the correct speed
and duplex mode, particularly with the Macronix and PNIC II cards that
don't use MII-based PHYs.

Good tools for testing include ttcp and netperf. Testing with things
like ftp, NFS and tcpdump is also recommended. If you encounter a
condition where the interface stops receiving or sending traffic, then
I'd like to know the following:

- What if anything did you do to induce this behavior?
- Exactly what kind of NIC do you have?
- What kind of machine (CPU and PCI chipset) do you have.
- What do the following commands say when the interface stops working:
	o netstat -m
	o netstat -in
	o ifconfig -a
- Are there any strange error message in the kernel message buffer?
  (I.e. does /sbin/dmesg show anything weird.)

If the interface operates normally and there are no errors, then I'd
like to know that as well. :)

Note: please don't ask me for a -stable version of this driver. I'm
posting this to -current for a reason. If you're not running -current,
then either set up a -current box or just sit back and enjoy the show.

-Bill

-- 
=============================================================================
-Bill Paul            (212) 854-6020 | System Manager, Master of Unix-Fu
Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
=============================================================================
 "It is not I who am crazy; it is I who am mad!" - Ren Hoek, "Space Madness"
=============================================================================


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199911192204.RAA02751>