©Copyright 1998-2003 Marvell®.
All rights reserved
sk98nw.htm created 29-Oct-2003
Readme File for sk98nw.lan v6.09
Unsupported SysKonnect SK-98xx and SK-95xx Adapter families Driver
for NetWare 3 and Novell's Client 32.
This file contains
The SK98NW.LAN driver is a 32-bit ODI HSM Novell NetWare server driver for
the SysKonnect SK-98xx and SK-95xx Adapter families.
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.
SK98NW.LAN driver
For Client 32 also
Novell's Client 32 package
SK98NW.LDI installation script
FOR CLIENT 32
Step 1:
Start INSTALL.EXE. Follow the instructions given. Choose "OTHER DRIVERS",
type in the path to the driver directory on the installation medium
(e.g. <drive>:\path\NOVELL\CLIENT32.DOS). Choose your adapter and correct
parameter settings if necessary.
You can change the driver parameters manually by editing the file
STARTNET.BAT in the NetWare Client 32 directory (e.g. C:\NOVELL\CLIENT32.DOS).
FOR NETWARE 3
NOTE: The setting for MINIMUM PACKET RECEIVE BUFFERS in the STARTUP.NCF must
be increased by at least 120 per adapter (e.g. for three adapters you
should add to STARTUP.NCF "SET MINIMUM PACKET RECEIVE BUFFERS=360").
Step 1:
Copy the driver file and any necessary NLM (e.g. any newer ETHERTSM.NLM)
to the NetWare SYSTEM directory.
Step 2:
Load INSTALL.NLM
Step 2a:
Select the "EDIT AUTOEXEC.NCF" option.
Add the following lines to the AUTOEXEC.NCF file
LOAD [PATH]SK98NW.LAN ...
BIND IPX SK98NW NET=XXX
Step 2b:
Save the AUTOEXEC.NCF file
Step 3:
Restart the server or load the driver manually.
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 SK98NW ... 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 SK98NW ... 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 SK98NW ... 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.
When you change this parameter you should change the
setting for MAXIMUM PHYSICAL RECEIVE PACKET SIZE in
your STARTUP.NCF accordingly.
Example:
LOAD SK98NW ... 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 SK98NW ... 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 SK98NW ... 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 SK98NW ... 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 SK98NW ... 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 SK98NW ... 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 SK98NW ... 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 SK98NW ... 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 V2.0
and SK-952x adapters.
Example:
LOAD SK98NW ... 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 | ALL ]
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.
By using ALL, all interrupts will get moderated.
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 SK98NW ... 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 SK98NW ... 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.
HWCSUMCAP = [ 00 .. FF ]
Description: Limit the capabilities for hardware IP/TCP/UDP
checksum offload.
Help: It is possible to disable specific checksum offload
capabilities. The parameter specifies the allowed
checksum offload capabilities for the adapter. It
is in hexadecimal format and you have to add the
values for the desired capabilities. The default
value is FF.
00: Checksum offload not supported
01: TCP checksum verification (RX)
02: UDP checksum verification (RX)
04: IP checksum verification (RX)
10: TCP checksum generation (TX)
20: UDP checksum generation (TX)
FF: all checksum offloads the adapter can support
Example:
LOAD SK98NW ... HWCSUMCAP=7 ...
*** End of Readme File ***