Symbios SCSI
NetWare Driver Installation
This file describes the features and use of the Symbios Logic SDMS device drivers for the Novell NetWare v3.12 and 4.xx operating system environments.
It is divided into the following sections:
The Symbios Logic SDMS drivers for the Novell Netware operating system allow you to utilize a Symbios Logic SCSI controller or processor, controlled by a Symbios Logic SCSI BIOS, with NetWare. The SDMS software, coupled with a Symbios Logic SCSI controller or processor, provides a SCSI solution within the NetWare environment.
Separate drivers are provided for Novell NetWare
v3.12, and Novell NetWare version 4.xx. The following information
explains how to install and use the SDMS SCSI drivers for NetWare.
There is a separate SDMS device driver and ASPI manager for each
of two major releases of NetWare. For NetWare v3.12, the SDMS
device driver is SDMSNET3.DSK, and the file NETASPI3.NLM is loaded
if support for the ASPI interface is desired (this is required
for devices such as tape drives). For NetWare v4.xx, the SDMS
device driver is SDMSNET4.DSK, and the file NETASPI4.NLM is loaded
if support for the ASPI interface is desired.
The Symbios Logic ASPI interface is provided by the NETASPIx.NLM
drivers. NetWare, or third party applications, may use this interface
to communicate with any SCSI-2 device attached to a Symbios Logic
controller, including SCSI-2 tape devices.
Install NetWare as described in the Novell NetWare Installation Manual. The following information is provided to assist in the installation.
You can load these drivers only once. If changes
are required (to reconfigure the driver options), you must remove
the drivers and reload them with the new option settings. If these
changes are permanent, and the drivers load automatically at server
boot time, you must specify these options in the startup.ncf or
autoexec.ncf file.
If your current SDMS NetWare drivers are version 3.05.00 or older, they are named NCRSDMSx.DSK and ASPICAMx.NLM. Replace the NCRSDMSx.DSK and ASPICAMx.NLM drivers with the ones supplied on the new Symbios Logic device drivers diskette.
If you intend the driver to auto load on NetWare boot, it is necessary to edit the startup.ncf or autoexec.ncf file and replace the line:
LOAD NCRSDMSx.DSK <options>
with
LOAD SDMSNETx.DSK <options>
where x is the version of NetWare you are using, and <options> are the command line options (if any) you intend to use.
If your current SDMS NetWare drivers are version 3.06.00 or newer, they are named SDMSNETx.DSK and NETASPIx.NLM. Replace the SDMSNETx.DSK and NETASPIx.NLM drivers with the ones supplied on the new Symbios Logic device drivers diskette.
No other actions are required to use these new drivers. You may
want to review the command line options to insure you are using
the best options for your configuration.
Note:
The SDMSNET3.DSK driver should work on a NetWare 3.11 server. However, this compatibility is neither tested nor supported.
SERVER
LOAD SDMSNET3 <options>
This command loads the main driver. Without this command, NetWare is unable to access the hard disk drive. If ASPI support is desired, also type:
LOAD NETASPI3
LOAD INSTALL
Continue with the installation according to the file server installation chapter in the Novell NetWare Installation Manual.
load NETASPI3.NLM
to the file after the line:
load SDMSNET3.DSK
B:
The SDMSNET4.DSK driver should appear as a selection. Select the driver.
load NETASPI4.NLM
to the file after the line:
load SDMSNET4.DSK
load NETASPI4.NLM
to the files after the line:
load SDMSNET4.DSK
The SDMSNET3.DSK and SDMSNET4.DSK drivers have many tuning parameters. Following is a list of tuning parameters available, including the default option and a list of valid options. Following each parameter is a description of when to use a parameter, and any impact its use/disuse might incur.
If an option is specified but the assignment is not valid, then the default value is used. The SDMSNET3.DSK and SDMSNET4.DSK drivers are referred to in the remainder of this section as SDMSNETx.DSK, where x refers to the appropriate NetWare operating system version.
The options described below are used by placing the specified characters on the load command line for the SDMS driver. For example, if the Verbose Mode command line option is desired in NetWare 3.1X, the load command line should look like this:
load SDMSNET3 -v
No spaces are allowed in specifying these command line options.
Spaces are required between different command line options.
This option shows all the command line option settings
for this load of the driver.
This option is specified on the command line for
a brief description of each of the options available in the driver,
as well as valid values for each option. If the -? or -h option
is specified along with other options, the help screen is invoked,
the other options are ignored, and the driver is not loaded.
Enabling this option results in the driver issuing
tagged IO requests to the devices that support tagged queuing.
Devices that do not support tagged queuing are not issued tagged
requests. Depending on the drive controller, throughput of the
device is increased by the use of queue tags. However, the optimal
number of queue tags is based on the specific device type.
This option is valid only when tagged queuing (qtags) is enabled, which it is by default. Values possible for this parameter range from 0 to 128. 0 is equivalent to qtags=disable. While the actual depth of the queue depends on the specific drive controller. For single drives, values of about 10-30 are typically optimal. Sometimes a greater number is optimal for peripherals such as disk arrays. You should experiment with various qdepth values to determine the optimal performance for their particular setup. The optimal qdepth value is based on different aspects of the system, including but not limited to: the processor, the available memory, the disk drives, and other peripherals.
Note:
The driver supports a maximum of 128 qtags per controller
at a given time. The driver may allocate fewer qtags per device
if this limit is being reached.
This option is valid only when tagged queuing (qtags)
is enabled, which it is by default. Simple qtags are typically
the preferred tag type. It is sometimes necessary to use ordered
tags on certain devices to avoid IO starvation under extremely
heavy IO loads such as a NetWare remirror process.
If a device is slow, you should increase this value
to insure the device has adequate time to respond to a command
issued to it before the command times out.
If the devices connected to a host adapter are of
a non-buffered architecture, such as the Symbios Logic 6298 disk
array, then sorting of reads may result in a performance degradation,
since the absence of cache provides no benefit for sorted requests.
In this instance you should disable the sort option. On most disk
drives, an on-board cache allows for reading ahead of data, and
by sorting read requests, the probabilities of achieving a cache
hit are greatly increased, thus increasing the overall performance
of the driver.
You should enable the shared interrupt option any
time a PCI card other than a Symbios Logic controller is added
to a system which assigns all PCI cards the same interrupt value.
The added card must support shared interrupts. The driver automatically
handles the case of more than one Symbios Logic host adapter sharing
an interrupt.
This option allows the user to disable support of
wide SCSI when using a wide SCSI controller. Set this option to
"disable" if a wide SCSI device is present on the system,
but a narrow SCSI cable is connected somewhere on the bus between
the wide SCSI host adapter and the wide device, thus prohibiting
the transfer of wide data. If this option is set to "disable",
the wide device still works, but all data transferred to/from
the device is narrow (8 bit). The driver does not initiate a wide
SCSI transfer request negotiation.
If SCSI error conditions occur on a non-sequential access device, the driver retries an IO operation the set number of times before giving up and returning the IO to the caller with a failed status. Possible callers are NetWare or an application via the CAM or ASPI interface. If this option is set to 0, IOs are not retried in the event of an error condition.
Note:
Some SCSI error conditions (such as DATA PROTECT
or ILLEGAL REQUEST) do not warrant a retry. Such conditions are
reported but not retried, even for positive values of max_retry.
If SCSI error conditions occur, the driver normally attempts to log a SCSI Error Report describing the event to both the console and the system log file SYS:SYSTEM\SYS$LOG.ERR. This information is valuable in determining when a device is having problems. It can indicate when a device is beginning to fail, providing an opportunity to replace the device before complete failure. With this option you can choose to specify where these messages are logged:
Console - the server console only; Syslog - the system error log; Both - both the server console and the system error log; or Off - the error messages are not logged anywhere.
Note:
This option affects the logging of serious SCSI errors
only. Non-SCSI errors are still logged to both the console and
system error log.
This option is available to exclude recognition and
direct access of specific devices by the SDMSNETx.DSK drivers.
These excluded devices are not registered with the operating system
for use by the driver. Other applications/drivers can then take
over the control of such devices. This option is available for
support of third party vendors who write their own SCSI control
applications. You may exclude a maximum of five devices.
Specify the maximum size block in Kilobytes which
is written to disk in one data transfer phase. This ensures that
when requests are concatenated, the maximum size of the concatenated
request does not exceed the specified value. If individual requests
are greater than this specified value, no action is taken.
Note:
The following three options affect the amount of
memory used by the driver. For information on how memory is allocated
by the driver, and to get an approximate feel for the amount of
memory which is saved by invoking these parameters, refer to Memory
Allocation under Important Additional Information at the end of
this section. If the product of max_hbas * max_id * max_lun is
small (less than 100), system performance may suffer. These values
determine the number of IO buffers allocated by the driver. Allocation
of too few may degrade performance.
This parameter is used to optimize the use of dynamically
allocated memory by the driver. If your system has less than 8
Symbios Logic based PCI host adapters, including any Symbios PCI-SCSI
controllers designed into the main board, this parameter allows
you to reduce the total memory used for the driver.
This parameter is used to optimize the use of dynamically
allocated memory by the driver. If all the host adapters, including
any SCSI controllers on the main board are connected to less than
31 devices, you can reduce the size of the dynamically allocated
memory by setting this value to the maximum number of devices
on any of the SCSI controllers.
Use this parameter to optimize the use of dynamically
allocated memory by the driver. If less than 8 LUNs are used per
Symbios Logic based PCI host adapter SCSI id, this parameter allows
a reduction in the total memory used for the driver.
Power management support for NetWare is provided by two NLMs, PMMAKE.NLM and PMSCHED.NLM. Use one or both of these NLMs to activate power management of disk devices registered with the Netware operating system through the SDMSNETx.DSK driver.
PMSCHED.NLM allows manual control of power management to individual devices, while PMMAKE.NLM allows creation of a schedule for power management. You must not load these two utilities at the same time. If you plan to use power management regularly, you can have PMSCHED.NLM load from the AUTOEXEC.NCF file.
SDMS power management is supported only on disk devices. Some disk devices do not support power management. If such a device is detected, PMSCHED indicates the device is not power manageable. Command line options for the PMMAKE.NLM and PMSCHED.NLM utilities are described in this document.
Note:
Power management of disk devices connected to Symbios
Logic 8XX controllers and handled by SDMSNETx.DSK is NOT supported
in the NetWare 4.10 SFT-III environment.
Follow these steps to install the Power Management Utilities.
The PMMAKE.NLM utility is used to compile a power management schedule file from a standard text file, which you can create using the NetWare EDIT utility, or some other editor. Place the text file in the SYS:\PM directory on the server. The format for this text file is given below.
The syntax for the line that loads the PMMAKE utility is:
load PMMAKE <input filename> [<output filename>]
where <input filename> is the full path name of the text file containing the power management scheduling directives. If the path is not specified, the NetWare search path is used.
<output filename> is the full path name of the output configuration (CFG) file produced. If the output file name is not specified, the output file produced is named PM.CFG, located in the SYS:\PM directory.
The format for the PMMAKE input (text) file is:
!<DAY INDICATOR> BEGIN, <START TIME>, <DELAY TIME>, <DEVICE LIST> END, <STOP TIME>, <DELAY TIME>, <DEVICE LIST> where DAY INDICATOR = SUN,MON,TUE,WED,THR,FRI,SAT START TIME = 24 hour time format: 00:00 - 23:59 STOP TIME = 24 hour time format: 00:00 - 23:59 DELAY TIME = Time to wait during no activity on a device before spinning it down, in seconds 1 - 3600 DEVICE LIST = ALL or <DEVICE ID>[, <DEVICE ID> ...] DEVICE ID = BXXIXXLXX BXX identifies the bus IXX identifies the SCSI ID LXX identifies the LUN (if zero you can omit)
You may omit bus identifiers after the first one. It is assumed that multiple sequential directives are on the same day until another day is specified. It is assumed that future devices are on the same bus until a new bus id is specified.
For example:
B00I01L01, I02, I03, I04, B01I00, I01,I02
specifies
Devices ID 01 LUN 01, ID 2, ID 3, ID 4 on Bus 0 Devices ID 0, ID1, ID 2 on Bus 1
Here is a PMMAKE sample input file:
!SUN BEGIN, 00:00, 10, ALL END, 23:59, 10, ALL !MON BEGIN, 00:00, 10, ALL END, 06:00, 10, B00I00 END, 06:30, 10, B00I01 BEGIN, 18:00, 10, ALL END, 23:59, 10, ALL !FRI BEGIN, 00:00, 10, ALL END, 06:00, 10, B00I00 END, 06:30, 10, B00I01 BEGIN, 17:30, 10, B00I01 BEGIN, 18:00, 10, B00I00 END, 23:59, 10, ALL !SAT BEGIN, 00:00, 10, ALL END, 23:59, 10, ALL
You must load the PMSCHED.NLM utility to activate power management for devices controlled by the SDMSNETx.DSK driver.
The syntax for the line that loads the PMMAKE utility is:
load PMSCHED [<schedule file>]
where
<schedule file> is the name of the power management configuration
file to use. If no file is specified, PMSCHED looks for SYS:\PM\PM.CFG.
If PM.CFG is not found, PMSCHED loads for manual operation of
power management.
In manual operation, power management is initially off on all devices, and gather / displaying of device statistics is on. PMSCHED.NLM allows manual enabling and disabling of power management on individual drives. You can also enable and disable statistics gathering, and clear statistics.
To toggle power management on and off for a device, highlight the device under PMSCHED.NLM and press the F3 key. A menu appears with these selections:
Highlight Toggle Power Management and press Enter. Toggling Power
Management has no effect on the device statistics.
Automatic scheduling of power management cycles is possible only when PMSCHED remains loaded. For scheduled operation, PMSCHED.NLM requires either:
the file SYS:\PM\PM.CFG, created by PMMAKE.NLM,
or
the name of the schedule file, created by PMMAKE.NLM, loaded with
PMSCHED as a command line parameter.
Unloading PMSCHED.NLM does not turn power management off. The
state of power management on each device is maintained until the
server is downed or PMSCHED.NLM is reloaded.
Device statistics are gathered on all devices registered by SDMSNETx.DSK
with the NetWare operating system. These statistics record the
number of reads and writes performed on a device and, if the device
is power manageable by the SDMS driver, the number of times the
device is spun up and spun down. Statistics are viewed, toggled
on and off, or reset from the power management utility PMSCHED.NLM.
This document addresses options available on the Symbios Logic SDMS NetWare drivers, version 3.06.00. For information pertaining to a specific driver, please do one of the following:
The driver allocates memory for certain structures based upon the maximum number of SCSI IDs (max_id), LUNs (max_lun), and paths (max_hbas) that are used in the system. The amount of memory allocated is based on the following formula: 414 bytes of memory are allocated for the structure, so Memory Allocated = 414 * max_hbas * max_lun * max_id.
So for default allocations, the amount of memory allocated is: Memory Allocated = 414 * 8 * 4 * 32 = 423,936 bytes (414 KB).
If, for example, only one host adapter is installed (or when
using a Symbios Logic based PCI SCSI embedded controller and
no add-in host adapters), only one LUN per device is used, and
the bus is narrow (up to 8 SCSI IDs), then by setting the appropriate
command line options, the amount of memory allocated is: Memory
Allocated = 414 * 1 * 1 * 8 = 3,312 bytes (3.4 KB).
Peripheral Device Dependent Optimizations
Some devices support SCSI tagged queue commands very efficiently, while others show a significant loss of performance when the number of queued requests exceed a certain value. (qtags, qdepth, qtag_type)
Most disk drives have an onboard read cache that is used by the drive controller to read ahead data. The driver may take advantage of this cache by maximizing the cache hits and ensuring a higher data transfer rate. However, there are devices that do not have an on board cache, and implementation of the sorting algorithm results in greater processing overhead and loss of overall performance. (sort)
Devices differ in their response times to requests. To ensure
that the driver can handle devices with various response times,
an option to tune the time-out value is available. (timeout)
In order to allow flexibility in controlling devices in a system, an option is provided to determine which devices the driver needs to exclude from taking over control. This allows independent software vendors to provide value added applications to directly control certain devices through the ASPI or CAM interface. (xcl)
Serious SCSI errors are logged to both the console and system error log by default. If a device is going bad, these errors may provide forewarning to replace the device before complete failure. However, you may turn off the logging of these errors to either or both of these locations. (Log_ScsiErrors)
For embedded systems, or other systems with fixed configurations,
you can limit the amount of dynamically allocated memory by choosing
to set maximum limits on the number of host adapters, devices,
and logical units to support. The number of allocated buffers
for processing IOs is reduced, which could adversely affect performance.
(max_hbas, max_id, max_lun)
A driver designed for a networked file server environment has
to optimize performance in tandem with the other components of
the system. To avoid monopoly on the I/O bus, you can configure
the size of the blocks for transfer across the SCSI bus. This
ensures that other components get fair access to the I/O bus.
(max_kb)
NetWare sometimes requires access to the DOS partition (perhaps to load a file, or to down the system). The SDMSNETx.DSK driver supports several SDMS DOS configurations.
SDMSNETx.DSK detects whether an SDMS 3.XX or 4.XX BIOS is present on the system in addition to the Symbios Logic ASPI8XX.SYS driver.
If there are DOS partitions present on any device connected to
a Symbios Logic controller, an SDMS 3.XX BIOS or 4.XX BIOS is
required for DOS support. The BIOS is either integrated into the
system BIOS or resides with the controller itself.
The following are the DOS configurations supported by the SDMSNETx.DSK driver:
If an SDMS 3.XX BIOS is present, you may load an optional Symbios
Logic ASPI driver (ASPI8XX.SYS) in the CONFIG.SYS file. An optional
driver for CD-ROM support (SYMCD.SYS) works with these drivers
in conjunction with MSCDEX.EXE.
The SDMS NetWare drivers in a 3.XX BIOS environment only support ASPI8XX configurations. The following is a list of DOS drivers currently supported by the SDMSNETx.DSK driver:
ASPI8XX.SYS
The DOS ASPI Manger interface, ASPI8XX.SYS DOS driver in conjunction with the SDMSNETx.DSK driver is currently the only supported DOS ASPI configuration in a Netware environment.
SYMCD.SYS
The SYMCD.SYS driver is an ASPI based CD-ROM driver. It requires the ASPI8xx.SYS driver to be loaded.
MSCDEX.EXE
This driver (provided with DOS) is required in conjunction with SYMCD.SYS to install NetWare from a CD-ROM. Due to a bug in MSCDEX.EXE, the name assigned to the CD-ROM device not match the base name of any file installed from the CD-ROM. A recommended name to assign to the CD-ROM device is MSCD001.
Note:
The NetWare drivers can function independently of any DOS drivers,
with the exception of installation of NetWare from CD-ROM. Performance
is impacted on DOS accesses, but if memory is premium, this option
is available.
The following SDMS DOS drivers are not supported in the NetWare Environment.
The SDMS 4.XX BIOS supports two different configurations, default
Boot configuration and NVRAM configuration. Both configurations
are supported.
In default boot configuration, the 4.XX BIOS supports up to two
Symbios Logic 8XX controllers. Disk devices are supported by the
BIOS. Other SCSI devices are not supported without additional
DOS drivers.
If NVRAM is present on a controller with a 4.XX BIOS, the SDMSNETx.DSK
NetWare drivers use the on-board parameters to configure the Symbios
Logic 8XX controllers.
Currently only the ASPI8XX.SYS driver is supported in a NetWare
configuration utilizing a 4.XX BIOS.
The SDMSNETx.DSK driver operates properly on a system when no
SDMS BIOS is present. In this case, DOS must reside on a device
which is not connected to a Symbios Logic controller based host
adapter. As an example, DOS could reside on an IDE drive.