Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Jan 1999 01:20:03 -0500 (EST)
From:      Bill Paul <wpaul@skynet.ctr.columbia.edu>
To:        hackers@FreeBSD.ORG, hardware@FreeBSD.ORG
Subject:   Call for testers: ASIX AX88140A fast ethernet driver
Message-ID:  <199901070620.BAA07854@skynet.ctr.columbia.edu>

next in thread | raw e-mail | index | archive | help
Today I finally obtained a fast ethernet adapter with an ASIX AX88140A
chip (thanks Ulf!) and have finished preliminary testing of a driver for 
this device. Boards based on this chip are usually very cheap and 
apparently can be had for $20US or less. You can obtain the driver from:

http://www.freebsd.org/~wpaul/ASIX/3.0		source for FreeBSD 3.0
http://www.freebsd.org/~wpaul/ASIX/2.2		source for FreeBSD 2.2.x

To add the driver to an existing system, do the following:

- Download the correct version of if_ax.c and if_axreg.h for your
  version of FreeBSD.
- Unpack the kernel source code under /usr/src.
- Copy if_ax.c and if_axreg.h to /sys/pci.
- Edit /sys/conf/files and add a line that says:
pci/if_ax.c		optional ax device-driver
- Edit your kernel config file (e.g. /sys/i386/conf/GENERIC) and add
  a line that says:
device ax0
- Configure and compile a kernel and boot it.

Devices should be detected as ax0, ax1, etc... You will probably want
to edit /etc/rc.conf to have the interface brought up when the system
boots.

The ASIX Electronics AX88140A is another DEC tulip clone (big surprise).
The chip supports both serial and MII transceivers, however it does not
have its own internal NWAY support so most boards based on this chip will 
probably include an MII-compliant NWAY-capable PHY. The main difference
between the DEC tulip and the ASIX chip is that the ASIX's receive filter
is not programmed by downloading a special setup frame into the transmit
DMA channel. Instead, the filter is configured using two special registers.
Filtering is restricted to a 64-bit multicast hash table and a single
perfect filter entry for the station address. (Those who are curious can
obtain a copy of the ASIX datasheet from www.asix.com.tw.)

The ASIX chip has one unusual quirk, which is that the reset bit in
the bus configuration register is not self-clearing: the driver has
to manually clear it. Neither the real DEC tulip nor any of the clones
work like this. Also, although the chip supports chaining descriptors
in linked list mode, there is no 'use linked list mode' bit in the
descriptor control word.

Note: I cobbled the 2.2.x version of the driver together tonight and
haven't actually tested it yet, having spent most of the day testing the
board under 3.0. (I have verified that it compiles and tried to make sure 
I didn't make any serious goofs). I'm not going to be able to work on it 
for a while as I got tagged for jury duty, which starts tomorrow. I'm not 
sure how long it will last. I will of course be keeping track of e-mail 
during this time, but I may be a bit slow in responding.

Note II: I also received a Macronix 98713 board today and finally fixed
the mx driver (in -current and on the http server) to properly handle the 
internal NWAY registers on this chip (the mx_mii_readreg() routine wasn't 
quite right, and a few other things needed to be tweaked). This means 
that if you have a board with an original 98713 chip (as opposed to the 
98713A), media autoselection and link detection should work properly now.

As usual, send your reports, good or bad, to wpaul@skynet.ctr.columbia.edu.

Share and enjoy!

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



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