mvme328(7) — SPECIAL FILES AND DEVICES
NAME
mvme328 − MVME328 SCSI Host Adapter
DESCRIPTION
The MVME328 driver controls up to a total of 8 MVME328, MVME328S, or MVME328XT (herein both refered to as an MVME328 unless explicitly noted otherwise) SCSI host adapters. Each MVME328 SCSI host adapter can have one or two SCSI buses.
The MVME328 and MVME328S are SCSI-1 host adapters and are limited to a maximum of 7 devices per bus.
The MVME328XT is a SCSI-2 host adapter. If wide addressing support is present a bus is limited to 15 devices. If wide addressing support is not present (narrow) a bus is limited to 7 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.
For information on devices supported and general information about the SCSI sub-system refer to the scsi man page.
MINOR NUMBERS
The MVME328 device driver interprets the minor number of a device using the standard SCSI-1 minor mapping.
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: primary board OK test 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: powerup diagnostics test failed: 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: memory initialization test failed: 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: map-in test failed
The operating system was unable to map the memory of the specified MVME328 controller for the driver. Devices attached to the specified controller will be inaccessible.
mvme328: ctlr %d: primary identification test failed: type 0x%x
The identification information from the specified board was not identifiable. Devices attached to the specified controller will be inaccessible.
mvme328: ctlr %d: controller initialization test 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: secondary identification test failed: type 0x%x
The identification information from the specified board was not identifiable. Devices attached to the specified controller will be inaccessible.
mvme328: ctlr %d: firmware identification test failed
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: work queue initialization test 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: start queue mode test 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: memory allocation failed
The driver’s attempt to dynamically allocate the memory required for its internal data structures failed. All MVME328 devices will be inaccessible.
mvme328: all controllers failed to initialize
For various reasons, all the MVME328s in the system failed to initialize. All MVME328 devices will be inaccessible.
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_imaj
Specifys the major number to the driver.
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_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_xt_vme_cnt
This parameter specifies the VMEBUS burst transfer count for the MVME328 and MVME328S. 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.
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.
SCSI-2 WIDE TRANSFERS AND WIDE (EXTENDED) ADDRESSING
The SCSI-2 specification allows for up to 15 devices per SCSI bus to be support if the WIDE (16 bit) transfers option is supported. This is known as WIDE or EXTENDED addressing. For MVME328XT boards with WIDE transfer capability, either on the first or second SCSI bus, the WIDE or EXTENDED addressing capability will only be enabled if the amount of MVME328XT system memory is 256KB or more.
If WIDE (EXTENDED) addressed devices are mixed with SCSI-2 NARROW or SCSI-1 devices it is critical that the SCSI bus host ID be less than 8 and that all of the peripherals have addresses that are less than 8.
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), scsi(7)