

I haven't had any time to do anything for a long time, and this isn't
likely to change.  So there's a driver here for anyone looking to
carry forward a project :)

For those who are looking for help, I can't.  I haven't looked at
a kernel since the early 2.0 series, so I won't know what's going on.
Your best chance at help would be joining the TLAN mailing list and
posting your question there.

You can join by sending "subscribe tlan" in the body of an email to
majordomo@vuser.vu.union.edu.

Thanks to those who have (and who will ;) put work in to keep the TLAN
driver working as the kernel moves on.

James
james@sovereign.org


TLAN driver for Linux, version 1.0
README


I.  Supported Devices.

    Only PCI devices will work with this driver.

    Supported:
    Vendor ID	Device ID	Name
    0e11	ae32		Compaq Netelligent 10/100 TX PCI UTP
    0e11	ae34		Compaq Netelligent 10 T PCI UTP
    0e11	ae35		Compaq Integrated NetFlex 3/P
    0e11	ae40		Compaq Netelligent Dual 10/100 TX PCI UTP
    0e11	ae43		Compaq Netelligent Integrated 10/100 TX UTP
    0e11	b011		Compaq Netelligent 10/100 TX Embedded UTP
    0e11	b012		Compaq Netelligent 10 T/2 PCI UTP/Coax
    0e11	b030		Compaq Netelligent 10/100 TX UTP
    0e11	f130		Compaq NetFlex 3/P
    0e11	f150		Compaq NetFlex 3/P
    108d	0012		Olicom OC-2325	
    108d	0013		Olicom OC-2183
    108d	0014		Olicom OC-2326	


    Caveats:
    
    I am not sure if 100BaseTX daughterboards (for those cards which
    support such things) will work.  I haven't had any solid evidence
    either way.

    However, if a card supports 100BaseTx without requiring an add
    on daughterboard, it should work with 100BaseTx.

    The "Netelligent 10 T/2 PCI UTP/Coax" (b012) device is untested,
    but I do not expect any problems.
    

II.  Building the Driver.

    The TLAN driver may be compiled into the kernel, or it may be compiled
    as a module separately, or in the kernel.  A patch is included for
    2.0.29 (which also works for 2.0.30, 2.0.31, and 2.0.32).

    To compile it as part of the kernel:
        1. Download and untar the TLAN driver package.
	2. If your kernel is 2.1.45 or later, you do not need to patch the
           kernel sources.  Copy the tlan.c and tlan.h to drivers/net in
           the kernel source tree.
        3. Otherwise, apply the appropriate patch for your kernel.  For
	   example:

	       cd /usr/src/linux
               patch -p1 < kernel.2.0.29

        4. Copy the files tlan.c and tlan.h from the TLAN package to the
           directory drivers/net in the Linux kernel source tree.
        5. Configure your kernel for the TLAN driver.  Answer 'Y' when
           prompted to ask about experimental code (the first question).
           Then answer 'Y' when prompted if to include TI ThunderLAN
           support.  If you want the driver compiled as a module, answer 'M'
           instead of 'Y'.
        6. Make the kernel and, if necessary, the modules.
    
    To compile the TLAN driver independently:
        1. Download and untar the TLAN driver package.
        2. Change to the tlan directory.
        3. If you are NOT using a versioned kernel (ie, want an non-
           versioned module), edit the Makefile, and comment out the
           line:
                 MODVERSIONS = -DMODVERSIONS
        4. Run 'make'.


III.  Driver Options
	1. You can append debug=x to the end of the insmod line to get
           debug messages, where x is a bit field where the bits mean
	   the following:
	   
	   0x01		Turn on general debugging messages.
	   0x02		Turn on receive debugging messages.
	   0x04		Turn on transmit debugging messages.
	   0x08		Turn on list debugging messsages.

	2. You can append aui=1 to the end of the insmod line to cause
           the adapter to use the AUI interface instead of the 10 Base T
           interface.  This is also what to do if you want to use the BNC
	   connector on a TLAN based device.  (Setting this option on a
	   device that does not have an AUI/BNC connector will probably
	   cause it to not function correctly.)

	4. You can set duplex=1 to force half duplex, and duplex=2 to
	   force full duplex.

	5. You can set speed=10 to force 10Mbs operation, and speed=100Mbs
	   to force 100Mbs operation. (I'm not sure what will happen
	   if a card which only supports 10Mbs is forced into 100Mbs
	   mode.)

	3. If the driver is built into the kernel, you can use the 3rd
	   and 4th parameters to set aui and debug respectively.  For
	   example:

	   ether=0,0,0x1,0x7,eth0

	   This sets aui to 0x1 and debug to 0x7, assuming eth0 is a
	   supported TLAN device.

	   The bits in the third byte are assigned as follows:

		0x01 = aui
		0x02 = use SA_INTERRUPT flag when reserving the irq.
		0x04 = use half duplex
		0x08 = use full duplex
		0x10 = use 10BaseT
		0x20 = use 100BaseTx


IV.  Things to try if you have problems.
	1. Make sure your card's PCI id is among those listed in
	   section I, above.
	1. Make sure routing is correct.
	2. If you are using a 2.1.x kernel, try to duplicate the
	   problem on a 2.0.x (preferably 2.0.29 or 2.0.30) kernel.


There is also a tlan mailing list which you can join by sending "subscribe tlan"
in the body of an email to majordomo@vuser.vu.union.edu.


