Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ scsi1x7(7) — Motorola System V 88k Release 4 Version 4.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

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)

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)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026