scsi1x7(7) — SPECIAL FILES AND DEVICES
NAME
scsi1x7 − SCSI1x7 SCSI host adapter
DESCRIPTION
The SCSI1x7 driver controls a SCSI host adapter with one SCSI bus, supporting up to seven SCSI devices. Each SCSI device can have up to eight sub devices.
Assuming the necessary system resources are available, the SCSI1x7 driver sends each command to the controller as soon as it receives the command from an application.
The SCSI1x7 driver does not have to wait for a command to complete before sending a command for another device.
SUPPORT DEVICES
Disk Drives
Disk drives currently supported are:
| DESCRIPTION | ddefs(1M) FILE | TYPE |
| 150MB CDC 94161 Wren III | mcdcIII | Hard |
| 300MB CDC 94171 Wren IV | mcdcIV | Hard |
| 600MB CDC 94181 Wren V | mcdcV | Hard |
| 1.2GB CDC 94601 Wren VII | mcdcVII | Hard |
| 1.0GB SEAGATE ST11200 | msea11200 | Hard |
| 2.0GB SEAGATE ST12400 | msea12400 | Hard |
| 135MB FUJITSU M2613S | mfuj2613 | Hard |
| 180MB FUJITSU M2614S | mfuj2614 | Hard |
| 330MB FUJITSU M2622S | mfuj2622 | Hard |
| 525MB FUJITSU M2624S | mfuj2624 | Hard |
| Toshiba XM3201B CDROM | none | CDROM |
| Toshiba XM3301B CDROM | none | CDROM |
| 1.2MB TEAC 5¼ inch FC−1 | see next table | Floppy |
| 2.88MB TEAC 3½ inch FC−1 | see next table | Floppy |
Note that in all tables, each entry in the ddefs(1M) FILE column is the name of a file that defines the characteristics of the disk in the /etc/dskdefs directory. Each entry in the BLOCKS column is the number of specified blocks when making a file system with mkfs(1M).
The types of floppy diskettes currently supported are listed in the following two tables.
| 5¼ INCH DISKETTES | ||||
| ddefs(1M) | MEDIA | |||
| DESCRIPTION | FILE | BLOCKS | TYPE | SLICE |
| Double density Motorola format | mdsdd5 | 1276 | MFD-2DD | 0 |
| Single density PC/XT 8 sect./track | mpcxt8 | 640 | MFD-2DD | 12 |
| Single density PC/XT 9 sect./track | mpcxt9 | 720 | MFD-2DD | 9 |
| Double density PC/AT | mpcat | 2400 | MF2-HD | 8 |
| 3½ INCH DISKETTES | ||||
| ddefs(1M) | MEDIA | |||
| DESCRIPTION | FILE | BLOCKS | TYPE | SLICE |
| Double density PC/XT 9 sect./track | mpcxt9_3 | 1440 | MFD-2DD | 13 |
| Double density PS/2 | mps2 | 2880 | MF2-HD | 10 |
| Super High Density (2.88MB formatted) | mshd | 5760 | PMF2-ED | 11 |
Tape Drives
Tape drives currently supported by the SCSI1x7 host adapter are:
| DESCRIPTION | FORMAT | TYPE |
| Archive 2150S | QIC24, QIC120, QIC150 | Streaming |
| Archive 2525 | QIC24, QIC120, QIC150 | Streaming |
| Archive Python | DAT | Streaming |
| Exabyte EXB-8200 | 8mm | Streaming |
| Kennedy 9660 | 9-track | Start/Stop |
| M4 Data 9914 | 9-track | Start/Stop |
MINOR NUMBERS
The SCSI1x7 device driver interprets the minor number of a device using the standard SCSI-2 minor mapping.
DISK SUPPORT
During system initialization, the SCSI1x7 device driver will spin-up any disks that are strapped to spin-up.
The hard disk drives supported by the SCSI1x7 handle all defects internally. A list of known defective locations is recorded on the medium. During format, any data that would normally be loaded into these locations are automatically assigned alternate locations. Also during format, the drive is checked for defects in addition to those on the known list. If any additional defective locations are found, any data that would be stored there are assigned alternate locations.
The SCSI1x7 device driver complies with the disk support standard specified on the disk(7) man page with the following ioctl command exceptions.
DKGETCFG ioctl command
The disk is accessed in order to set the parameters associated with the disk. The driver does not keep this information internally.
DKGETINFO ioctl command
The disk is accessed in order to set the parameters associated with the disk. The driver does not keep this information internally.
DKSETCFG ioctl command
The disk is accessed in order to set the parameters associated with the disk. The driver does not keep this information internally.
DKSETINFO ioctl command
The disk is accessed in order to set the parameters associated with the disk. The driver does not keep this information internally.
DKFORMAT ioctl command
The scsiformat command is used to format the device. By turning on a bit in the controller attribute word of the disk definition file passed to dinit, the drive can be told to ignore the grown defect list on the disk. See the description of the controller attribute word on the disk(7) manual page for more information.
TAPE SUPPORT
The SCSI1x7 device driver complies with the tape support standard specified on the tape(7) manual page with no exceptions.
FLOPPY DISK SUPPORT
The SCSI1x7 supported floppy drives provide level one support as defined by the 88open PC Floppy Emulation Supplement to the Binary Compatibility Standard.
The SCSI1x7 device driver complies with the floppy disk support standard specified on the floppy(7) manual page with the following exceptions:
DKFIXBADSPOT ioctl command
This command is not supported; it returns an EINVAL error.
DKGETCFG ioctl command
This command performs no operation; it returns with no effect and no error.
DKGETINFO ioctl command
This command performs no operation; it returns with no effect and no error.
DKSETCFG ioctl command
This command performs no operation; it returns with no effect and no error.
DKSETINFO ioctl command
This command performs no operation; it returns with no effect and no error.
DKGETSLC ioctl command
This command performs no operation; it returns with no effect and no error.
DKSETSLC ioctl command
This command performs no operation; it returns with no effect and no error.
FL_PC_LEVEL ioctl command
The SCSI1x7 driver currently only supports level 1, so the integer pointed to by arg is always set to 1 by this call.
Slicing
Floppy diskettes do not have volume ID blocks or Volume Table of Contents (VTOC). A floppy drive can be thought of as a hard disk with a single slice. The slice bits of the minor number select the drive geometry as described later in this manual page.
V_PDREAD ioctl command
This command always returns EINVAL.
V_PDWRITE ioctl command
This command always returns EINVAL.
V_RVTOC ioctl command
This command always returns EINVAL.
V_WVTOC ioctl command
This command always returns EINVAL.
dinit/ddef
The ddef files for floppy disks are treated as placeholders. Although they are required for dinit(1M) to work, the information is not used. The format of the diskette is determined via the slice number of the device. See the supported floppy tables at the beginning of this manual page for more information.
CDROM SUPPORT
The SCSI1x7 device driver will not spin-up CDROM devices at system initialization time.
The SCSI1x7 device driver complies with the CDROM support standard specified on the cdrom(7) man page with the following exceptions:
DKGETCFG ioctl command
The disk is accessed in order to get the parameters associated with the disk. The driver does not keep this information internally.
PASSTHRU SUPPORT
The SCSI1X7 device driver complies with the passthru support standard specified on the passthru(7) man page with no exceptions.
ERROR MESSAGES
The SCSI1X7 driver prints error messages to the system console. The SCSI1X7 driver can generate several different error messages. These error messages attempt to provide enough information to permit the operator to diagnose the problem. Some of these messages print a unit number to indicate which device was being accessed at the time of the error. The following table can help to interpret the unit number.
| UNIT | |||
| BUS | DEVICE | LUN | # |
| 0 | 0 | 0-7 | 0-7 |
| 0 | 1 | 0-7 | 8-15 |
| 0 | 2 | 0-7 | 16-23 |
| 0 | 3 | 0-7 | 24-31 |
| 0 | 4 | 0-7 | 32-39 |
| 0 | 5 | 0-7 | 40-47 |
| 0 | 6 | 0-7 | 48-55 |
| 0 | 7 | 0-7 | 56-63 |
Most error messages start with a line that prints out the drive, controller, slice, and MPU type that has the error. Note that in the following examples the MPU type is MVME187, although it can also be MVME197. If the error is non-recoverable (fatal), the following is the first line of the error message for disks:
ERROR on device at MVME187 SCSI bus address x, slice y
For tapes, the following is the first line:
FATAL ERROR on MVME187 SCSI ctl x, Tape drive y
The following is the next line of the error message:
MVME187 SCSI error on device at SCSI address x where device is one of disk, floppy, tape, or CDROM.
The next line of the error message gives the SCSI Driver Library command that encountered the error. It is of the form:
SDL cmd command failed
There will be up to one additional line describing each of the four types of error codes described above: SCSI Sense Key, SCSI status, SIOP status, and SDL status. If any of these status codes indicate a non-error status, its line will be printed.
The following error messages are associated with streaming tape:
Controller timeout
The MVME187 controller timed out while executing a command. This usually means that the SCSI controller attached to the MVME187 could not be accessed. Check cables and power.
Tape not ready
There may be a problem with the streaming tape cartridge. Check to see whether the cartridge is defective or not in place.
End of media
During write operation, ran off the end of the tape. The last file written to the tape is incomplete and needs to be written to another tape.
End of data
During read operation, tried to read past the last filemark on the tape.
Write protected
Attempted to write to a write protected tape. Remove the tape cartridge from the drive and check the cartridge.
Illegal request
Attempted to execute commands that make no logical sense such as trying to erase the tape beginning in the middle.
Other error codes may indicate serious defects. Report the error code to Motorola Field Service Division/Customer Support.
Miscellaneous Error Messages
Timeout on device at MVME187 SCSI bus address x, slice y
A request sent to SCSI bus address x, drive y was not returned to the driver within the allotted time. This could indicate a software or hardware problem that needs further attention.
Other error codes may indicate serious defects. Report them to Motorola Field Service Division/Customer Support.
There are four types of error codes returned by the MVME187 driver: SCSI Sense Key, SCSI status, SIOP status, and SDL status.
| SCSI Sense Keys | |
| SCSI Sense | Description |
| 0x00 | No sense data available. |
| 0x01 | Recovered error: command was successfully retried. |
| 0x02 | Not ready: device had not spun up before command was issued. |
| 0x03 | Medium error, bad spot: incorrect or unformatted media used. |
| 0x04 | Hardware error: controller reporting a hardware problem. |
| 0x05 | Illegal request: command issued has illegal parameter. |
| 0x06 | Unit attention: removable media changed. |
| 0x07 | Data protect: device is write protected. |
| 0x08 | Blank check: blank spot encountered on tape. |
| 0x09 | Vendor-specfic error. |
| 0x0A | Copy aborted. |
| 0x0B | Aborted command. |
| 0x0C | Equal. |
| 0x0D | Volume overflow. |
| 0x0E | Miscompare. |
| 0x20 | Illegal length. |
| 0x40 | End of Media: encountered end of tape media. |
| 0x80 | File Mark: encountered a tape file mark. |
| SCSI Status Byte Values | |
| SCSI Status | Explanation |
| 0x00 | Good completion. |
| 0x02 | Check condition. |
| 0x04 | Condition met good. |
| 0x08 | Busy. |
| 0x10 | Intermediate good. |
| 0x14 | Intermediate condition met good. |
| 0x18 | Reservation conflict. |
| 0x22 | Command terminated. |
| 0x28 | Queue full. |
| SIOP Status Values | |
| SIOP Status | Explanation |
| 0x00 | Good status. |
| 0x01 | No operation bits were set. |
| 0x02 | Command aborted due to SCSI bus reset. |
| 0x03 | Command aborted due to SCSI device reset. |
| 0x04 | Command aborted due to abort message. |
| 0x05 | Command aborted due to abort tag message. |
| 0x06 | Command aborted due to clear queue message. |
| 0x07 | Data overflow - too much data from device. |
| 0x08 | Data underrun - not enough data from device. |
| 0x09 | Clock faster than 50 MHz. |
| 0x0A | Bad clock parameter. |
| 0x0B | Queue depth too large. |
| 0x0C | Selection timeout - device did not respond. |
| 0x0D | Reselection timeout - device did not respond. |
| 0x0E | Bus error during data phase. |
| 0x0F | Bus error during non-data phase. |
| 0x10 | Illegal NCR script. |
| 0x11 | Command aborted due to unexpected disconnect. |
| 0x12 | Command aborted due to unexpected phase change. |
| 0x13 | SCSI bus hang during command. |
| 0x14 | Data phase not expected by user. |
| 0x15 | Data phase in wrong direction. |
| 0x16 | Incorrect phase following select. |
| 0x17 | Incorrect phase following msg-out. |
| 0x18 | Incorrect phase following data. |
| 0x19 | Incorrect phase following command. |
| 0x1A | Incorrect phase following status. |
| 0x1B | Incorrect phase following rptr message. |
| 0x1C | Incorrect phase following sdptr message. |
| 0x1D | No identify message after re-selection. |
| 0x1E | SIOP failed during script patching. |
| SDL Status Values | |
| SDL Status | Explanation |
| 0x00 | Good status. |
| 0x01 | Early termination with good status. |
| 0x02 | Check condition on request sense command. |
| 0x03 | Illegal retry condition. |
| 0x04 | Unsupported status code. |
| 0x05 | Undefined sense key. |
| 0x06 | Illegal mode parameter page. |
| 0x07 | Attempted access with block mismatch. |
| 0x08 | Maximum block size of CDB exceeded. |
| 0x09 | Unsupported build function. |
| 0x0A | Insufficient inquiry data count. |
| 0x0B | Logical unit has not been attached. |
| 0x0C | Variable block size maximum transfer count exceeded. |
Refer to the ANSI SCSI specification for a complete list of SCSI command codes and sense keys.
MASTER.D PARAMETERS
The following parameters affect the operation of the SCSI1x7 device driver. The following are parameters listed under the SCSI1x7 description:
scsi_host_address
This parameter specifies the SCSI bus address occupied by the host (ncr53c710) SCSI chip.
scsi_bus_reset_delay
This parameter specifies the delay after a SCSI bus reset before issuing commands to any device.
sd_max_cmd_queue_size
This parameter specifies the number of sdl_cmd structures allocated per device. It places an upper limit on the number of simultaneous commands sent to the SCSI Driver Library for a disk device.
sd_default_cmd_queue_size
This parameter specifies the default maximum number of simultaneous commands sent to the SCSI Driver Library for a disk device.
scsi_tape_maxbsize
This parameter specifies the maximum double buffer size for tape transfers.
scsi_len_sglists
This parameter specifies the number of entries in the scatter/gather lists The maximum transfer size to the device is scsi_len_sglists pages when going through the raw I/O interface.
scsi_rescan
This parameter determines if a rescan of the device will be done at open time. If a 0, no rescan will be done; otherwise a rescan will be done.
scsi_max_spl
This parameter sets the maximum number of concurrent special commands. The default value is 8. Special commands are all SCSI commands except reads or writes. Most ioctl() commands are special commands, and special commands are used during open() and close() processing. If this number is too low, some processes will sleep waiting for resources when doing special commands.
scsi_spdkeepsize
This parameter specifies the maximum number of SCSI private areas that the driver keeps for each hard and cdrom disk device. Each SCSI private area is currently 7 bytes. This parameter is used to keep the driver from deadlocking the system when there is no free memory available.
SPECIAL CONSIDERATIONS
When an error occurs while writing or reading a tape, the best course of action in this case is to rewind the tape and repeat the operation.
Removing a cartridge tape during an MTBSF operation hangs the tape drive.
The longest I/O operation which SCSI1x7 host adapters can allow to occur on a tape device operating in variable mode depends on the master.d parameter scsi_len_sglists.
LUN SUPPORT
The SCSI1X7 device driver supports SCSI Logical Unit Numbers (LUN). Up to 8 LUNs per device may be configured on a per SCSI bus basis. By default, the driver will only recognize LUN 0. To enable the driver to support additional LUNs, add an aux-info directive (see edt_data(4) for more information) to the SCSI1X7 driver directive in the /stand/edt_data and then set the first word of the aux-info directive to the number of LUNs required. For performance reasons the number of LUNs should be kept as small as possible.
FILES
/dev/dsk/m187__∗
/dev/rdsk/m187__∗
/dev/rmt/m187__∗
/dev/generic/m187__∗
/dev/dsk/m197__∗
/dev/rdsk/m197__∗
/dev/rmt/m197__∗
/dev/generic/m197__∗
/etc/dskdefs/m∗
/usr/include/sys/dk.h
/usr/include/sys/mtio.h
/usr/include/sys/dsk.h
/usr/include/sys/scsi.h
/usr/include/sys/scsi_cdisk.h
/usr/include/sys/scsi_disk.h
/usr/include/sys/scsi_fdisk.h
/usr/include/sys/scsi_hdisk.h
/usr/include/sys/scsi_tape.h
/usr/include/sys/scsi_space.h
/usr/include/sys/scd_space.h
/usr/include/sys/sfd_space.h
/usr/include/sys/shd_space.h
/usr/include/sys/sot_space.h
/usr/include/sys/st_space.h
/usr/include/sys/pcflio.h
/usr/include/sys/scsi/sbc_scsi/incl/ncr.h
/usr/include/sys/scsi/sbc_scsi/incl/ncr710.h
/usr/include/sys/scsi/sbc_scsi/incl/ncr710db.h
/usr/include/sys/scsi/sbc_scsi/incl/scsi.h
/usr/include/sys/scsi/sbc_scsi/incl/scsi_dbg.h
/usr/include/sys/scsi/sbc_scsi/incl/scsi_err.h
/usr/include/sys/scsi/sbc_scsi/incl/sdl.h
/usr/include/sys/scsi/sbc_scsi/incl/sdl_cnfg.h
/usr/include/sys/scsi/sbc_scsi/incl/sdldb.h
SEE ALSO
mt(1), ddefs(1M), dinit(1M), close(2), ioctl(2), open(2), read(2), write(2), cdrom(7), disk(7), floppy(7), intro(7), tape(7) passthru(7)