mvme328(7) — SPECIAL FILES AND DEVICES
NAME
mvme328 − MVME328 SCSI Host Adapter
DESCRIPTION
The MVME328 driver controls up to a total of 8 MVME328 SCSI host adapters. Each MVME328 SCSI host adapter can have one or two SCSI buses. Each SCSI-1 or SCSI-2 (fast) bus supports up to seven SCSI devices while a SCSI-2 (fast/wide) bus supports up to fifteen SCSI devices.
Assuming the necessary system resources are available, the MVME328 driver will send each command to the controller as soon as it receives the command from an application.
The MVME328 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 |
| 135MB FUJITSU M2613 | mfuj2613 | Hard |
| 180MB FUJITSU M2614 | mfuj2614 | Hard |
| 330MB FUJITSU M2622 | mfuj2622 | Hard |
| 525MB FUJITSU M2624 | mfuj2624 | Hard |
| 1.0GB SEAGATE ST11200 | msea11200 | Hard |
| 2.0GB SEAGATE ST12400 | msea12400 | 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 MVME328 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 MVME328 device driver interprets the minor number of a device using the standard SCSI-1 minor mapping.
DISK SUPPORT
During system initialization, the MVME328 device driver will spin-up any disks that are strapped to spin-up.
The hard disk drives supported by the MVME328 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 MVME328 device driver complies with the disk support standard specified on the disk(7) man page with the following exceptions:
DKGETCFG ioctl command
The MVME328 driver returns only the parameters that are relevant to the MVME328 driver and controller.
DKGETINFO ioctl command
The MVME328 driver returns only the parameters that are relevant to the MVME328 driver and controller.
DKSETCFG ioctl command
The MVME328 driver sets only the parameters that are relevant to the MVME328 driver and controller.
DKSETINFO ioctl command
The MVME328 driver sets only the parameters that are relevant to the MVME328 driver and controller.
DKFORMAT ioctl command
The SCSI FORMAT command is used to format the device. The argument arg is not used. Because the bad block strategy is perfect, no defect list is passed to the drive. 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. Refer to the description of the controller attribute word on the disk(7) man page for more information.
TAPE SUPPORT
The MVME328 device driver complies with the tape support standard specified on the tape(7) man page with no exceptions.
FLOPPY DISK SUPPORT
The MVME328 supported floppy drives provide level one support as defined by the 88open PC Floppy Emulation Supplement to the Binary Compatibility Standard.
The MVME328 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 always returns EINVAL.
DKGETCFG ioctl command
The MVME328 driver returns only the parameters that are relevant to the MVME328 driver and controller.
DKGETINFO ioctl command
The MVME328 driver returns only the parameters that are relevant to the MVME328 driver and controller.
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.
DKSETSLC ioctl command
This command performs no operation; it returns with no effect and no error.
FL_PC_LEVEL ioctl command
The MVME328 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. Please refer to the supported floppy tables at the beginning of this man page for more information.
Bad blocks may not be mapped out on a floppy disk. A bad block on a floppy disk make the entire floppy unacceptable.
CDROM SUPPORT
The MVME328 device driver will not spin-up CDROM devices at system initialization time. The MVME328 device driver complies with the CDROM support standard specified on the cdrom(7) manual page with the following exceptions:
DKGETCFG ioctl command
The MVME328 driver returns only the parameters that are relevant to the MVME328 driver and controller.
DKGETINFO ioctl command
The MVME328 driver returns only the parameters that are relevant to the MVME328 driver and controller.
DKGETCFG ioctl command
The MVME328 driver returns only the parameters that are relevant to the MVME328 driver and controller.
PASSTHRU SUPPORT
The MVME328 device driver complies with the passthru support standard specified on the passthru(7) man page with no exceptions.
ERROR MESSAGES
The MVME328 driver will print the following messages on the system console if an error occurs during system initialization:
mvme328: ctlr %d: board OK not found
There may be a problem with the MVME328, its firmware, cabling, or a device attached to the specified controller. Devices attached to the specified controller will be inaccessible.
mvme328: ctlr %d: failed powerup diagnostics MSR=0x%x
There may be a problem with the MVME328, its firmware, cabling, or a device attached to the specified controller. Devices attached to the specified controller will be inaccessible.
mvme328: ctlr %d: CRBV bit not found, CRSW = 0x%x
There may be a problem with the MVME328, its firmware, cabling, or a device attached to the specified controller. Devices attached to the specified controller may be inaccessible.
mvme328: ctlr %d: CRSW = 0x%x, mask = 0x%x
There may be a problem with the MVME328, its firmware, cabling, or a device attached to the specified controller. Devices attached to the specified controller may be inaccessible.
mvme328: ctlr %d: initialization failed
There may be a problem with the MVME328, its firmware, cabling, or a device attached to the specified controller. Devices attached to the specified controller will be inaccessible.
mvme328: ctlr %d: unknown variation/firmware
The specified MVME328 is unknown or contains firmware not recognized by the device driver. Devices attached to the specified controller will be inaccessible.
mvme328: ctlr %d: no timeouts available
The specified MVME328 is using firmware that disables the device drivers ability to monitor each device and detect hung devices or commands. The device attached to the specified controller will be accessible but the above feature will not be used.
mvme328: initialize work queue failed on %s
There may be a problem with the MVME328, its firmware, cabling, or a device attached to the specified controller. The specified device will not be accessible.
mvme328: can’t allocate work area
The driver’s attempt to dynamically allocate the memory required for its internal data structures failed. All MVME328 devices will be inaccessible.
mvme328: ctlr %d: mapping failed
The specified MVME328 could not be mapped into the kernel. Devices attached to the specified controller will be inaccessible.
mvme328: ctlr %d: queue mode start failed
There may be a problem with the MVME328, its firmware, cabling, or a device attached to the specified controller. Devices attached to the specified controller will be inaccessible.
The MVME328 driver will occasionally print error or warning messages about problems or conditions it detects during normal operations.
mvme328: Non-Motorola VID on device-name (disk)
The specified disk does not contain a Motorola Volume ID.
mvme328: Non-Motorola VID on device-name (CDROM)
The specified CDROM does not contain a Motorola Volume ID.
mvme328: Invalid VID on device-name (disk)
The specified disk does not contain the correct VID signature.
mvme328: Invalid VID on device-name (CDROM)
The specified CDROM does not contain the correct VID signature.
mvme328: Invalid VTOC on device-name (disk)
The specified disk does not contain a valid Volume Table of Contents.
mvme328: Invalid VTOC on device-name (CDROM)
The specified CDROM does not contain a valid Volume Table of Contents.
mvme328: Attempting spin up on device-name
This message occurs during system initialization. The specified disk device is strapped for spin up using software commands. The MVME328 driver is attempting to spin up the drive.
mvme328: Device not ready on device-name
This message occurs during system initialization. The specified disk could not be brought on-line.
mvme328: Device write protected on device-name (tape)
The specified tape contains write protected media.
mvme328: Device not ready on device-name (tape)
The specified tape is either off-line or does not contain media.
mvme328: Error from r4dbufopen on device-name (tape)
The specified tape failed to initialize its double buffering information correctly.
Additionally, the MVME328 device driver may report problems via the standard error logging mechanism. These messages will clearly indicate the device name, attempted command name, and the final status of the command. If the problem occurs on a disk device (e.g. disk, floppy, or CDROM) the block number of the disk that the error occurred on will also be reported.
Two possible outcomes are common: FATAL ERROR and RECOVERED ERROR.
Fatal error status means that the drive was not able to complete the command successfully.
Recovered error status means that the drive was able to complete the command successfully after some recovery action.
MASTER.D PARAMETERS
The following parameters affect the operation of the MVME328 device driver. The following are parameters listed under the MVME328 description:
m328_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 (e.g. tape rewinds and disk formats). 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.
m328_max_rbufs
This parameter specifies the number of 64K byte buffers that will be allocated if any MVME328 host adapters have revision XAM firmware. The default number is 1. These buffers are used to work around a problem in the firmware that affect raw I/O. Tuning this parameter higher when XAM firmware is present will result in improved raw I/O performance, however, the tuning is no replacement for obtaining a firmware upgrade.
m328_max_sglists
This parameter specifies the number of special scatter/gather lists that are available for use within the driver. It should be set to at least the number of processors plus 2; the default number is 8.
m328_vme_to
This parameter specifies the VMEBUS transfer time out in 32 millisecond ticks.
m328_vme_cnt
This parameter specifies the VMEBUS burst transfer count. On systems with a large number of disks and/or MVME328 host adapters this number may have to be lowered to avoid DMA problems.
m328_timeout_enable
This parameter enables or disables an activity watchdog timer. If this value is zero, no watchdog timer will be started. If this value is not zero, a watchdog timer will be started and the value specifies the period (in seconds) of the timeout checking.
m328_scsi_bus_reset_delay
This parameter specifies the number of seconds to wait after a SCSI bus reset is issued before a bus will have any commands issued to it. The minimum value is 2 seconds, and the SCSI-2 specification specifies that all devices should be available within 10 seconds after a reset.
m328_noisy_disk_open
This parameter controls the printing of error messages on the console when disk devices do not have valid Motorola identification in them. If this parameter is non-zero, messages will be printed; zero, no messages will be printed.
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.
An incorrect transfer count may be returned by the MVME328 device driver when using variable mode tape devices (e.g. 9-tracks, EXABYTE) in variable mode. This is due to a BUG in the XAM firmware and it is not found in any later firmware.
The problem shows itself when an odd length read is used to read a tape that contains even length records. The returned transfer count will be one less than it should be. The work-around is to read tapes with even length reads equal to or larger than the maximum size of the records found on the tape.
The longest I/O operation which MVME328 host adapters can allow to occur on a tape device operating in variable mode depends on two factors. If the MVME328 host adapter is using revision XAM firmware, the maximum length is 65535 bytes. For all other boards and firmware combinations, the maximum length will vary from a minimum of 252K bytes (worst case page alignment) to 256K bytes (page aligned). The actual maximum length may be either larger or smaller than the MVME328 host adapter may support. Refer to the device’s documentation for more information.
LUN SUPPORT
The MVME328 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, determine which controllers and SCSI bus have devices which require additional LUNs. Then add an aux-info directive (see edt_data(4) for more information) to the driver directives in the /stand/edt_data for the affected controllers. Finally, set the first and/or second words of the aux-info directive to the number of LUNs required by the first and second SCSI buses respectively.
WARNING
When an ARCHIVE 2150 or 2525 tape device is opened for the first time and a tape is present in the drive, the tape will be rewound. This occurs because this is the only way to insure that drive has its parameters set properly.
FILES
/dev/dsk/m328_∗
/dev/rdsk/m328_∗
/dev/rmt/m328_∗
/dev/generic/m328_∗
/etc/dskdefs/m∗
/usr/include/sys/dk.h
/usr/include/sys/mtio.h
/usr/include/sys/m328scsi.h
/usr/include/sys/m328sio.h
/usr/include/sys/m328space.h
/usr/include/sys/mvme328.h
/usr/include/sys/pcflio.h
SEE ALSO
mt(1), ddefs(1M), dinit(1M), close(2), ioctl(2), open(2), read(2), write(2), edt_data(4), cdrom(7), disk(7), floppy(7), intro(7), tape(7), passthru(7)