(C)Copyright 1998-2003 3Com Corporation. All rights reserved
(C)Copyright 1998-2003 Marvell. All rights reserved


--------------------------------------------------------------------------------

3Com 3C2000-T Adapter   Driver
for Novell NetWare 5



This file contains 
1  Overview 
2  Required Files 
3  Installation 
4  Parameters 



--------------------------------------------------------------------------------


1  Overview 
The EL2000.LAN driver is a 32-bit ODI HSM Novell NetWare server driver for
the 3Com 3C2000-T Adapter  .
The driver complies with the CHSM Driver Specification Version 1.11 from
January 29, 1998.

It was tested on NetWare 6, NetWare 5.10, and NetWare 4.20.
It should run on all NetWare versions from 4.20 to 6.

2  Required Files 
	EL2000.LAN	driver
	EL2000.LDI	installation script

	(to use the hardware based IP/TCP/UDP checksum calculation
	you must have installed at least Support Pack 2 for NetWare 5)

3  Installation 
NOTE:	The setting for MINIMUM PACKET RECEIVE BUFFERS in the STARTUP.NCF must
	be increased to at least 120 per adapter (e.g. for three adapters you
	should add "SET MINIMUM PACKET RECEIVE BUFFERS=360" to STARTUP.NCF).
	On SMP systems, you may have to multiply this number with the number
	of active processors.

If the adapter is installed in the machine NetWare detects the new adapter
and tries to install a driver. Press <ENTER> to get a list of all available
drivers and then <INSERT> to install an unlisted driver. Enter the path to
the driver and select EL2000.LAN. Choose Yes to copy the driver to
the server. NetWare will now install the driver.

Once the driver has been installed, the adapter parameters or bindings
can be changed in the AUTOEXEC.NCF file using the NWCONFIG tool.

4  Parameters 
SLOT = [ 1 .. 65535 ]
	Description:	Defines the slot in which the adapter is installed.
	Help:		If you do not enter a slot number, the driver scans
			automatically for network adapters and prompts the
			slot number in which the network card is found at
			the server console.
	Example:
			LOAD EL2000 ... SLOT=3 ...

FRAME = [ ETHERNET_802.2 | ETHERNET_II | ETHERNET_SNAP | ETHERNET_802.3 ]
	Description:	Sets the frame type used by the network.
	Help:		The NetWare Server and the Workstations must use
			the same frame type. Otherwise they cannot
			communicate with each other.
	Example:
			LOAD EL2000 ... FRAME=ETHERNET_II ...

NODE = [ xxxxxxxxxxxx ]
	Description:	Overwrites the network card node address.
	Help:		With this parameter, you can overwrite the default
			node address.
			In a network, every network card must have its own
			unique node address.
			Do not change this address unless you are prepared
			to administer local addresses according to the
			IEEE 802.2 specifications.
			The driver defaults to the node address on the
			board, which corresponds to an undefined override.
	Example:
			LOAD EL2000 ... NODE=40005A123456 ...

MAXFRAMESIZE = [ 512 .. 9018 ]
	Description:	Set the maximum frame size.
	Help:		The value has to be in the range 512 to 9018.
			The default value is 1514.
			Setting the value above 1514 is only effective if you
			use an ETHERTSM.NLM that supports Jumbo Frames and
			if you load the frame type ETHERNET_II as the first
			frame type on the specific adapter.
	Example:
			LOAD EL2000 ... MAXFRAMESIZE=9018 ...

HWCSUM = [ ON | OFF ]
	Description:	Controls hardware checksum offloading
	Help:		By default ON the hardware checksum offload for
			IP/TCP/UDP is enabled. There should be no need to
			disable checksum offload.
			Offloading computation of internet checksums is only
			supported by NetWare 5.x or higher.
	Example:
			LOAD EL2000 ... HWCSUM=OFF ...

QUIET = [ AUTO | ON | OFF ]
	Description:	Suppress driver status messages.
	Help:		By default AUTO will be used which means that
			status messages will not be suppressed if running on
			a server and will be suppressed if running on a
			client.
			OFF means that messages will not be suppressed.
			ON means that messages will be suppressed.

Redundant Link Management Technology (RLMT)

The following parameters can be used to override the RLMT default settings.
These parameters are effective on dual link adapters only.

PREFERREDPORT = [ A | B ]
	Description:	Select the preferred port.
	Example:
			LOAD EL2000 ... PREFERREDPORT=B ...

RLMTMODE = [ CLS | CLP | CLPSS ]
	Description:	Select the RLMT mode.
	Help:		In CLS mode (Check Link State) RLMT relies on the
			hardware to signal the link state. The decision on
			the active port depends on these signals only.
			This mode is used by default.

			NOTE:	For dual link fiber adapters only:
				When auto-negotiation is not used (either
				by forcing half or full duplex mode or
				because auto-negotiation has failed in
				sense mode) the hardware is not able to
				detect a disconnected transmit line. This
				may result in switching to a non usable
				port.
                
				To work around this problem set the mode
				for auto-negotiation to ON or use the RLMT
				mode CLP or CLPSS.

			The modes CLP (Check Local Ports) and CLPSS (Check
			Local Ports and Segmentation Status) are meant to
			operate in configurations where a network path between
			the ports on one adapter exists.
			Especially, they are not designed to work where
			adapters are connected back-to-back.

			In CLP mode, the two ports of an adapter exchange
			frames to check each other.
			Please configure your network in a way that the
			link between the ports transports LLC test packets.
			In CLPSS mode RLMT requests information from the
			switch where the two ports are connected to
			determine if the net is segmented between the two
			ports. You need switches for this mode to operate,
			and the switches must be configured to use the
			Spanning Tree Protocol.
	Example:
			LOAD EL2000 ... RLMTMODE=CLP

CHGBCPRIO = [ ON | OFF ]
	Description:	Controls priority for switching decisions for RLMT.
	Help:		By default OFF. This parameter is only effective on
			RLMTMODE = CLP | CLPSS. If CHGBCPRIO is set to ON,
			RLMT subordinates the priority of last broadcast
			received for port switching reasons.
	Example:
			LOAD EL2000 ... CHGBCPRIO=ON ...

Auto-negotiation

Some switches or hubs do not work with auto-negotiation. To work around
this problem the driver works in a so called sense mode. In this
mode it tries to use auto-negotiation and if it fails it forces full-duplex
mode. You can also force the mode using one of the following parameters.

AUTONEG_<n> = [ SENSE | ON | OFF ]
	<n> = port designator (A or B)
	Description:	Set mode for auto-negotiation on port.
	Help:		By default, fiber adapters will use SENSE (Autosense)
			and copper adapters will use ON.
			SENSE is not allowed on copper adapters.
	Example:
			LOAD EL2000 ... AUTONEG_A=ON ...

DUPCAP_<n> = [ BOTH | FULL | HALF ]
	<n> = port designator (A or B)
	Description:	Define duplex capabilities for the port.
	Help:		If AUTONEG_<n> is set to ON (also the default value
			for copper adapters), this parameter defines the
			duplex mode capabilities the adapter will show on the
			port in the auto-negotiation process. Changing this
			parameter may lead to a failed auto-negotiation
			process.
			By default BOTH will be used which means the port is
			capable to connect with full-duplex or half-duplex.
			If AUTONEG_<n> is set to OFF, DUPCAP_<n> determines
			if the adapter uses a full duplex or a half duplex
			connection.
			The value BOTH is not allowed in this case.
	Example:
			LOAD EL2000 ... DUPCAP_A=FULL ...

FLOWCTRL_<n> = [ SYMORREM | SYM | LOCSEND | NONE ]
	<n> = port designator (A or B)
	Description:	Define flow control capabilities for the port.
	Help:		Used as workaround for switches that do not behave
			standards-compliant.
			By default, SYMORREM will be used.
			The values represent the following configurations:
			SYMORREM: supporting symmetric flow control and
				  asymmetric flow control towards me
				  (possible results: symmetric flow
				  control, asymmetric flow control
				  towards me, no flow control)
			SYM:	  supporting symmetric flow control only
				  (possible results: symmetric flow
				  control, no flow control)
			LOCSEND:  supporting asymmetric flow control to
				  other station (possible results: flow
				  control to other station, no flow
				  control)
			NONE:	  supporting no flow control
	Example:
			LOAD EL2000 ... FLOWCTRL_A=NONE ...

ROLE_<n> = [ AUTO | MASTER | SLAVE ]
	<n> = port designator (A or B)
	Description:	Defines the role of the port for the physical clock
			generation.
	Help:		For two 1000Base-T ports to communicate, one must
			operate as master (providing timing information),
			while the other must be slave. Usually, this is
			negotiated between the two ports during link
			establishment. If this should ever fail, you can
			force a port to a specific setting with this
			parameter.
			If AUTONEG_<n> is set to OFF, the correct role
			must be set manually. The value AUTO is not allowed
			in this case.

			NOTE:	This parameter applies only for SK-982x and
				SK-952x adapters.

SPEED_<n> = [ Auto | 1000 | 100 | 10 ]
	<n> = port designator (A or B)
	Description:	Defines the link speed to use. 
	Help:		If AUTONEG_<n> is set to ON, this parameter defines
			the link speed capabilities the adapter will try to
			use for the auto-negotiation process. Changing this
			parameter may lead to a failed auto-negotiation
			process.
			By default AUTO will be used which means the port
			is capable to connect with 10, 100, 1000.
			If AUTONEG_<n> is set to OFF, SPEED_<n> determines
			the link speed the adapter uses for the connection.
			The value AUTO is not allowed in this case.

			NOTE:	This parameter applies only for SK-982x  
				and SK-952x adapters.
	Example:
			LOAD EL2000 ... SPEED_A=1000 ...


Interrupt Moderation (Paced Packet Batch)

Interrupt moderation can be used to decrease the CPU load on systems
with high utilization. But the latency of packets will increase. To
enable interrupt moderation you must specify the mode and the interrupt
rate. The parameters IRQPERSEC and MAXIRQPERSEC are mutual exclusive.

MODERATE = [ NONE | RX | TX | BOTH ]
	Description:	Interrupt moderation mode.
	Help:		By default, NONE will be used which means interrupt
			moderation is disabled.
			If RX is used only receive interrupts are moderated,
			which means if more than the specified rate of
			interrupts occur they will be congested to reach the
			specified rate. But other interrupts may occur without
			any limitation.
			If TX is specified transmit complete interrupts will
			be moderated.
			BOTH will lead to a moderation of receive and transmit
			interrupts.

IRQPERSEC = [ 1000 .. 15000 ]
	Desription:	Interrupt rate for static moderation.
	Help:		Independent of the interrupt load only at specified
			intervals interrupts occur. This will increase
			latency of receive or transmit path dependent on
			the mode specified using parameter MODERATE.
			This parameter has a different meaning if used
			together with POLL.
	Example:
			LOAD EL2000 ... MODERATE=TX IRQPERSEC=5000

MAXIRQPERSEC = [ 1000 .. 15000 ]
	Desription:	Interrupt rate for dynamic moderation.
	Help:		Using dynamic interrupt moderation means that
			interrupt moderation will be enabled only if more
			than the specified number of interrupts occur. The
			measured interrupt rate is not limited to receive
			or transmit interrupts as specified in MODERATE.
			All interrupts will be counted. If more interrupts
			occur the interrupts specified in MODERATE are
			moderated. If the number of interrupts goes down
			below the specified level moderation is disabled.
			Using dynamic interrupt moderation has the
			advantage that the latency is increased only
			if interrupt load is high.
	Example:
			LOAD EL2000 ... MODERATE=BOTH MAXIRQPERSEC=1000

Other Parameters

Please do not try changing these parameters in a production environment
unless you have figured out that they fit your needs. The changes can
affect the server performance in a postive or negative way. It depends
on the purpose of the server. The default settings of the driver should
meet the requirements of a normal server.

TXCOPYSIZE = [ 0 .. 9018 ]
	Description:	Size of Transmit Copy Buffers.
	Help:		The first fragments of a frame will be copied
			together as long as they fit into this buffer.
			This may lead to a higher transmit throughput
			but it will cost some CPU load. A value of 0
			will disable this feature. The default value
			is 128 on a server and 0 on a client.
			If the driver cannot get physically contiguous memory
			for copy buffers of size 4097 and above, it will not
			load.

POLL
	Description:	Use polling instead of interrupts.
	Help:		In polling mode the adapter will not generate
			interrupts for every received and transmitted
			frame. Interrupts are used for backup purposes
			only. The interrupt rate can be modified using
			parameter IRQPERSEC between 10 and 15000 per
			second (10 by default).
			Polling may be useful if there are multiple
			adapters in the server and interrupts become a
			problem. By default the adapter works in
			interrupt mode.

TXDESC1 = [ 20 .. 200 ]
	Description:	Number of transmit descriptors on active port.
	Help:		It may be useful to decrease this value if there
			is not enough memory in the server. The default
			value is 100 on a server and 40 on a client.

TXDESC2 = [ 20 .. 200 ]
	Description:	Number of transmit descriptors on standby port.
	Help:		It may be useful to decrease this value if there
			is not enough memory in the server. The default
			value is 30 on a server and 20 on a client.

RXDESC1 = [ 10 .. 200 ]
	Description:	Number of receive descriptors on active port.
	Help:		It may be useful to decrease this value if there
			is not enough memory in the server. The default
			value is 100 on a server and 20 on a client.

RXDESC2 = [ 10 .. 200 ]
	Description:	Number of receive descriptors on standby port.
	Help:		It may be useful to decrease this value if there
			is not enough memory in the server. The default
			value is 10.


Known limitations:
- Not yet released for NetWare 3.1x.
- Client32 not yet supported.
- Needs at least 120 free RCBs per adapter at startup.
  Therefore the driver cannot be installed during installation of
  NetWare. NetWare 4.1x can be installed without the installation
  of a network adapter but NetWare 5 installation will abort if no
  network adapter is installed.

*** End of Readme File ***

