mlx(7)
NAME
mlx − low-level module for Mylex DAC960 EISA host bus adapter series
SYNOPSIS
/kernel/drv/mlx
AVAILABILITY
x86
DESCRIPTION
The mlx module provides low-level interface routines between the common disk/tape I/O subsystem and the Mylex DAC960 controllers. The mlx module can be configured for disk, CD-ROM, and streaming tape support for one or more host adapter boards.
Auto-configuration code determines whether the adapter is present at the configured address and what types of devices are attached to it. The Mylex DAC960 is primarily used as a disk array (system drive) controller. In order to configure the attached disk arrays, the controller must first be configured prior to Solaris boot using the configuration utilities provided by the hardware manufacturer. With these utilities, the user can set different levels of redundant arrays of independent disks (RAID), striping parameters, caching mechanisms, etc. For more information, refer to the user’s manual supplied with your hardware.
EISA Configuration Tips
The Mylex DAC960 BIOS can handle multiple cards. Therefore, if more than one Mylex DAC960 adapter is installed in a system only the BIOS of the one in the lowest slot should be enabled and the BIOS of the rest should be disabled.
Enable tag queueing only for the SCSI disk drives which are officially tested and approved by Mylex Corp. Otherwise, it is strongly recommended to disable tag queueing to avoid serious problems.
Board Configuration and Auto Configuration
The driver attempts to initialize itself in accordance with the information found in the configuration file /kernel/drv/mlx.conf. If the Mylex DAC960 SCSI host adapter has N channels, the mlx.conf file should have N+1 entries for that slot. The section of the file for that slot will contain N entries, one per physical channel, numbered from 0 to N-1 , and one entry dedicated to all the System Drives on that adapter, virtual channel number 255 (0xFF). The entry for the virtual channel (0xFF) has to be the first one for each slot.
In general, if the Mylex DAC960 SCSI host adapter is installed in slot S, the syntax of the entry for its virtual channel is:
name="mlx" parent="eisa"
interrupts=5,9,5,10,5,11,5,12,5,13,5,14,5,15 reg=0xS0FF,0,0
ioaddr=0xS0FF flow_control="dmult" queue="qsort" disk="dadk";
And the entry for its XX-th physical channel (XX in hex) is:
name="mlx" parent="eisa"
interrupts=5,9,5,10,5,11,5,12,5,13,5,14,5,15 reg=0xS0XX,0,0
ioaddr=0xS0XX flow_control="dsngl" queue="qsort" disk="scdk"
tape="sctp" tag_fctrl="adapt" tag_queue="qtag";
The ioaddr (I/O address) is 0x1000 times the EISA slot number plus the channel number in hex. Hence, channel 2 on slot 1 is at address 0x1002 and the virtual channel on slot 10 is at 0xa0ff.
The SCSI id of the devices on each channel may not be equal or greater than the value of the maximum number of targets allowed per channel (MAX_TGT), otherwise it cannot even be configured.
For the best start-up performance on a particular host, keep only the entries that correspond to the installed slots and comment out the other entries in the configuration file /kernel/drv/mlx.conf.
EXAMPLES
In the following example, the controller is installed in slot 2, and the lines starting with ’#’ are comments.
#
# Slot 2:
#
# Virtual Channel 0xFF:
name="mlx" parent="eisa"
interrupts=5,9,5,10,5,11,5,12,5,13,5,14,5,15 reg=0x20FF,0,0
ioaddr=0x20FF flow_control="dmult" queue="qsort" disk="dadk";
# Channel 0:
name="mlx" parent="eisa"
interrupts=5,9,5,10,5,11,5,12,5,13,5,14,5,15 reg=0x2000,0,0
ioaddr=0x2000 flow_control="dsngl" queue="qsort" disk="scdk"
tape="sctp" tag_fctrl="adapt" tag_queue="qtag";
# Channel 1:
name="mlx" parent="eisa"
interrupts=5,9,5,10,5,11,5,12,5,13,5,14,5,15 reg=0x2001,0,0
ioaddr=0x2001 flow_control="dsngl" queue="qsort" disk="scdk"
tape="sctp" tag_fctrl="adapt" tag_queue="qtag";
# Channel 2:
name="mlx" parent="eisa"
interrupts=5,9,5,10,5,11,5,12,5,13,5,14,5,15 reg=0x2002,0,0
ioaddr=0x2002 flow_control="dsngl" queue="qsort" disk="scdk"
tape="sctp" tag_fctrl="adapt" tag_queue="qtag";
# Channel 3:
name="mlx" parent="eisa"
interrupts=5,9,5,10,5,11,5,12,5,13,5,14,5,15 reg=0x2003,0,0
ioaddr=0x2003 flow_control="dsngl" queue="qsort" disk="scdk"
tape="sctp" tag_fctrl="adapt" tag_queue="qtag";
# Channel 4:
name="mlx" parent="eisa"
interrupts=5,9,5,10,5,11,5,12,5,13,5,14,5,15 reg=0x2004,0,0
ioaddr=0x2004 flow_control="dsngl" queue="qsort" disk="scdk"
tape="sctp" tag_fctrl="adapt" tag_queue="qtag";
FILES
/kernel/drv/mlx.conf mlx configuration file.
WARNINGS
Tag Queueing
Enable tag queueing only for the SCSI disk drives which are officially tested and approved by Mylex Corp. Otherwise, it is strongly recommended to disable tag queueing to avoid serious problems.
Standby Drives
If a SCSI disk drive is not defined to be part of any physical pack within a system drive, it is automatically labeled as a standby drive. If any SCSI disk drive within a system drive fails, data on a standby drive may be lost due to the standby replacement procedure. This procedure will overwrite the standby drive if the failed disk drive is configured with any level of redundancy (RAID levels 1, 5, and 6) and its size is identical to the size of the available standby drive.
Therefore, inspite of the fact that the standby drives are physically connected, the system denies any kind of access to them, so that there would be no chance of accidental loss of valuable data.
Hot Plugging
Other than the “hot replacement” of disk drives, which is described in the manufacturer’s user’s guide, the Mylex DAC960 series do not support “hot-plugging” (adding or removing devices while the system is running) unless the firmware version of the adapter is 1.22 or 1.23 . Otherwise, in order to add or remove devices you must shut down the system, add or remove devices, reconfigure the host bus adapter using the configuration utility provided by the manufacturer, and then reboot your system.
SCSI Target IDs
When setting up the device SCSI target IDs, note that there is a limitation on the choice of target ID numbers. Assuming the maximum number of targets per channel on the particular model of Mylex host bus adapter is MAX_TGT (see the manufacturer’s user’s manual), the SCSI target IDs on a given channel should range from 0 to (MAX_TGT − 1). Note that target SCSI IDs on one channel can be repeated on other channels.
Example 1:
Mylex DAC960-5 model supports a maximum of four targets per channel, i.e., MAX_TGT = 4. Therefore, the SCSI target IDs on a given channel should range from 0 to 3.
Example 2:
Mylex DAC960-3 model supports a maximum of seven targets per channel, i.e., MAX_TGT = 7. Therefore, the SCSI target IDs on a given channel should range from 0 to 6.
SunOS 5.4 — Last change: 29 Oct 1994