Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 Jul 1998 16:35:53 -0400 (EDT)
From:      Bill Paul <wpaul@skynet.ctr.columbia.edu>
To:        hackers@FreeBSD.ORG
Subject:   Call for testers for 3c905B driver
Message-ID:  <199807282035.QAA27573@skynet.ctr.columbia.edu>

next in thread | raw e-mail | index | archive | help
For those of you that care, I have a 3Com 3c905B driver ready for
testing for FreeBSD 3.0 and 2.2.x. You can obtain the driver source code
from the following places:

http://www.freebsd.org/~wpaul/3Com/3.0	FreeBSD 3.0 source code
http://www.freebsd.org/~wpaul/3Com/2.2	FreeBSD 2.2.x source code

There are two files: if_xl.c and if_xlreg.h, which should go in /sys/pci.
The only differences between versions are those associated with differences
between FreeBSD 2.2.x and 3.0-current (this includes timeout handling,
a little bit of PCI configuration and multicast support).

This driver should work with the 3c900, 3c905 and 3c905B Etherlink XL
and Fast Etherlink XL boards, as well as integrated 3Com controllers
on certain recent Dell systems (Optiplex GX1 and Precision). So far
I have only tested it with a 3c905B-TX integrated controller on a Dell
Optiplex and 3c900 COMBO card.

Note that the vortex driver (if_vx.c) already supports the 3c900 and
original 3c905 cards, but it uses PIO to transfer packets to and from
the NIC's RAM. My driver uses bus master DMA instead. If you want to
use my driver instead of the vortex driver for the 3c900 and 3c905
cards, you should edit /sys/pci/if_vx_pci.c and comment out the
portion of vx_pci_probe() that checks the PCI device IDs for the
Etherlink XL cards, otherwise the vortex driver may be assigned to
them instead of mine.

The xl driver includes support for BPF, ifmedia and multicast. For
the 3c905B, there is a 64-bit multicast hash filter which will be
used if detected. For the 3c900, you only have a 'receive all multicast'
mode, which requires software filtering but is better than nothing.

I still have a little work to do in the ifmedia support. You may need
to force the card into the proper mode to support the connector you're
using. For BNC, use ifconfig xl0 media 10base2/BNC. For AUI, use
ifconfig xl0 media 10base5/AUI. For RJ-45, use ifconfig xl0 media 
10baseT/UTP.

For 3c905B cards, the media should be properly autodetected. You can
use ifconfig xl0 media autoselect to initiate another autonegotiation
session with a link partner.

I would appreciate it if people with 3c900, 3c905 and 3c905B hardware
could test this driver for me. I'm particularly interested to hear it
it works correctly with Fast Etherlink XL boards (3c905 10/100 cards).
These cards use a NatSemi 10/100 PHY via the MII interface: I don't
have one of these to test, so I can't be sure the MII support will
work correctly.

If you test the driver, please sent me a note letting me know if it
works or not. If it doesn't work, please try to describe the problem
you're having throroughly. Specify a way to reproduce the problem,
if possible.

To add the driver to your kernel, you need to do the following:

- Edit /sys/conf/files and add a line that says:
pci/if_xl.c             optional xl device-driver

- Edit your kernel config file and add a line that says:
device xl0

- Copy if_xl.c and if_xlreg.h to /sys/pci.

- Compile a new kernel and boot it.

You may optionally want to edit /sys/pci/if_vx_pci.c to stop it
probing the Etherlink XL cards so that if_xl.c can see them.

-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-hackers" in the body of the message



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