The mpt host bus adapter driver is a SCSA compliant nexus driver that supports the LSI 53C1030 SCSI chip.
The mpt driver supports the standard functions provided by the SCSA interface, including tagged and untagged queuing, Narrow/Wide/Fast/Ultra SCSI/Ultra SCSI 2/Ultra SCSI 3/Ultra SCSI 4, and auto request sense. The mpt driver does not support linked commands.
You configure the mpt driver by defining properties in mpt.conf. These properties override the global SCSI settings. The mpt driver supports these modifiable properties: scsi-options, target<n>-scsi-options, scsi-reset-delay, scsi-tag-age-limit, scsi-watchdog-tick, and scsi-initiator-id.
The property target<n>-scsi-options overrides the scsi-options property value for target<n>, where <n> can vary from decimal 0 to 15. The mpt driver supports the following SCSI options: SCSI_OPTIONS_DR, SCSI_OPTIONS_SYNC, SCSI_OPTIONS_TAG, SCSI_OPTIONS_FAST, SCSI_OPTIONS_WIDE, SCSI_OPTIONS_FAST20, SCSI_OPTIONS_FAST40, SCSI_OPTIONS_FAST80, SCSI_OPTIONS_FAST160, and SCSI_OPTIONS_QAS.
After periodic interval scsi-watchdog-tick, the mpt driver searches through all current and disconnected commands for timeouts.
The scsi-tag-age-limit property represents the number of times that the mpt driver attempts to allocate a tag ID that is currently in use after going through all tag IDs in a circular fashion. When encountering the same tag ID used scsi-tag-age-limit times, no additional commands are submitted to the target until all outstanding commands complete or timeout.
Refer to scsi_hba_attach(9F) for details.
Create a file called /kernel/drv/mpt.conf, then add the following line:
The above example disables tagged queuing, Fast/Ultra SCSI, and wide mode for all mpt instances.
name="mpt" parent="/pci@1f,4000" unit-address="3" target1-scsi-options=0x58 scsi-options=0x178 scsi-initiator-id=6;
Note that the default initiator ID in OBP is 7 and that the change to ID 6 occurs at attach time. It may be preferable to change the initiator ID in OBP.
The example above sets scsi-options for target 1 to 0x58 and all other targets on this SCSI bus to 0x178.
You can determine the physical path name of the parent by using the /devices tree or by following the link of the logical device name:
# ls -l /dev/rdsk/c0t0d0s0 lrwxrwxrwx 1 root root 45 May 16 10:08 /dev/rdsk/c0t0d0s0 -> . . / . . /devices/pci@1f,4000/scsi@3/sd@0,0:a,raw
As in the previous example, the parent is /pci@1f,4000 and the unit-address is the number bound to the scsi@3 node.
To set scsi-options more specifically per target, do the following:
target1-scsi-options=0x78; device-type-scsi-options-list = "SEAGATE ST32550W", "seagate-scsi-options" ; seagate-scsi-options = 0x58; scsi-options=0x3f8;
The above sets scsi-options for target 1 to 0x78. All other targets on the SCSI bus are set to 0x3f8 (with the exception of one specific disk type for which scsi-options is set to 0x58).
scsi-options specified per target ID have the highest precedence, followed by scsi-options per device type. Global scsi-options (for all mpt instances) per bus have the lowest precedence.
You must reboot the system for the specified scsi-options to take effect.
To enable some driver features, the target driver must set capabilities in the mpt driver. The following capabilities can be queried and modified by the target driver: synchronous, tagged-qing, wide-xfer, auto-rqsense, qfull-retries, and qfull-retry-interval. All other capabilities are query only.
By default, tagged-qing, auto-rqsense, and wide-xfer capabilities are disabled, while disconnect, synchronous, and untagged-qing are enabled. These capabilities can only have binary values (0 or 1).The default value for qfull-retries is 10, while the default value for qfull-retry-interval is 100. The qfull-retries capability is a uchar_t (0 to 255), while qfull-retry-interval is a ushort_t (0 to 65535).
The target driver must enable tagged-qing and wide-xfer explicitly. The untagged-qing capability is always enabled and its value cannot be modified.
If a conflict exists between the value of scsi-options and a capability, the value set in scsi-options prevails. Only whom != 0 is supported in the scsi_ifsetcap(9F) call.
32–bit ELF kernel module
64-bit ELF kernel module
Optional configuration file
See attributes(5) for descriptions of the following attribute:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
|Architecture||Limited to PCI-based systems with LSI 53c1030 SCSI I/O processors|
prtconf(1M), driver.conf(4), pci(4), attributes(5), scsi_abort(9F), scsi_hba_attach(9F), scsi_ifgetcap(9F), scsi_ifsetcap(9F), scsi_reset(9F), scsi_sync_pkt(9F), scsi_transport(9F), scsi_device(9S), scsi_extended_sense(9S), scsi_inquiry(9S), scsi_pkt(9S)
ANSI Small Computer System Interface-2 (SCSI-2)
SYM53c1030 PCI-SCSI I/O processor Dual Channel Fast-160 — LSI Logic Inc.
The messages described below are logged and may also appear on the system console.
The device was configured with an interrupt level that cannot be used with this mtp driver. Check the PCI device.
The driver was unable to map device registers; check for bad hardware. Driver did not attach to device; SCSI devices are inaccessible.
The driver was unable to map in the configuration registers. Check for bad hardware. SCSI devices will be inaccessible.
The driver was unable to attach; usually preceded by another warning that indicates why attach failed. These can be considered hardware failures.
This is usually a SCSI bus problem. Check cables and termination.
A data transfer hang or DATA-IN phase parity error was detected. The driver attempts to eliminate this problem by reducing the data transfer rate.
A second data transfer hang was detected for this target. The driver attempts to eliminate this problem by reducing the data transfer rate.
A second data phase hang was detected for this target. The driver attempts to eliminate this problem by disabling wide SCSI mode.
The mpt driver supports LSI 53c1030 chips. The LSI 53c1030 chip series support Wide, Fast and Ultra SCSI 4 mode. The maximum LVD SCSI bandwidth is 320 MB/sec.
The mpt driver exports properties indicating the negotiated transfer speed per target (target<n>-sync-speed), whether wide bus is supported (target<n>-wide) for that particular target (target<n>-scsi-options), and whether tagged queuing has been enabled (target<n>-TQ). The sync-speed property value indicates the data transfer rate in KB/sec. The target<n>-TQ and the target<n>-wide property have value 1 (to indicate that the corresponding capability is enabled for that target), or 0 (to indicate that the capability is disabled for that target). See prtconf(1M) (verbose option) for details on viewing the mpt properties.
scsi, instance #4 Driver properties: name='target8-TQ' type=int items=1 dev=none value=00000001 name='target8-wide' type=int items=1 dev=none value=00000001 name='target8-sync-speed' type=int items=1 dev=none value=00013880 name='target5-TQ' type=int items=1 dev=none value=00000001 name='target5-wide' type=int items=1 dev=none value=00000001 name='target5-sync-speed' type=int items=1 dev=none value=00013880 name='target4-TQ' type=int items=1 dev=none value=00000001 name='target4-wide' type=int items=1 dev=none value=00000001 name='target4-sync-speed' type=int items=1 dev=none value=00013880 name='pm-components' type=string items=3 dev=none value='NAME=mpt4' + '0=Off (PCI D3 State)' + '3=On (PCI D0 State) ' name='scsi-selection-timeout' type=int items=1 dev=(238,0) value=000000fa name='scsi-options' type=int items=1 dev=(238,0) value=00103ff8 name='scsi-watchdog-tick' type=int items=1 dev=(238,0) value=0000000a name='scsi-tag-age-limit' type=int items=1 dev=(238,0) value=00000002 name='scsi-reset-delay' type=int items=1 dev=(238,0) value=00000bb8