Go to main content

man pages section 7: Device and Network Interfaces

Exit Print View

Updated: July 2017



mpt - SCSI host bus adapter driver




The mpt host bus adapter driver is a SCSA compliant nexus driver that supports the LSI 53C1030 SCSI, SAS1064, SAS1068 and Dell SAS 6i/R controllers.

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. The mpt driver also supports SATA and Serial-Attached SCSI devices when connected to LSI SAS1064 (PCI-X), SAS1068 and Dell SAS 6i/R (PCI-Express) controllers.


The mpt driver obtains configuration parameters from the /kernel/drv/mpt.conf file. These parameters can override global SCSI settings.

The following configurable properties are applicable for parallel SCSI controllers and devices: 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 for parallel SCSI operations. The mpt driver supports the following parallel 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. To view the numeric values of these options, see /usr/include/sys/scsi/conf/autoconf.h.

The scsi-reset-delay and scsi-watchdog-tick properties are applicable for Serial-Attached SCSI (SAS) controllers and SAS or SATA devices.

After periodic interval scsi-watchdog-tick, the mpt driver searches through all current and disconnected commands for timeouts.

The scsi-tag-age-limit property is ignored by mpt, regardless of controller or devices type. Refer to scsi_hba_attach_setup(9F) for more details of parallel SCSI properties and flags.

When supported, multipath-capable storage is attached with Serial-Attached SCSI or SATA. Solaris I/O Multipathing may be enabled for mpt instances. This feature is configured with the mpxio-disable property in the mpt.conf file. To perform mutipathing tasks, we recommend that you use stmsboot(1M). Specifying mpxio-disable="no" enables the feature, while specifying mpxio-disable="yes" disables the feature. Solaris I/O Multipathing may be enabled or disabled on a per-controller basis. The following example shows how to disable multipathing on a controller whose parent is /pci@7c0/pci@0/pci@9 and unit-address is 0:

 name="mpt" parent="/pci@7c0/pci@0/pci@9" unit-address="0" mpxio-disable="yes";

Currently, mpt supports the mpt_offline_delay property. This property delays the offlining of a device until the timer has expired. The default value is 20 seconds.

mpt supports the mpt-on-bus-time property, which controls a timer that resets a bus when a bus connection exceeds the timer value. The default value of mpt-on-bus-time is 15 seconds. A value of 0 disables this feature. The property can be configured in /kernel/drv/mpt.conf as mpt-on-bus-time. In the following example, the timeout is disabled for unit 4 and set to two minutes for unit 4,1:

name="mpt" parent="/pci@1d,700000"
name="mpt" parent="/pci@1d,700000"

Values have the following effect:

No property configured: Default, 15 second timeout
n = 0: Disables bus timeout feature
0 < n <= 15: Minimum (and default), 15 seconds
15 < n <= 3435: The actual value in seconds
3435 < n: Maximum, 3435 seconds


Example 1 Using the mpt Configuration File

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. The property value is calculated by or-ing the individual SCSI_OPTIONS_xxx values defined in /usr/include/sys/scsi/conf/autoconf.h.

The following example disables an option for one specific parallel SCSI mpt device. See driver.conf(4) and pci(4) for more details.

 name="mpt" parent="/pci@1f,4000"
	scsi-options=0x178 scsi-initiator-id=6;

Note that the default initiator ID is 7 and that the change to ID 6 occurs at attach time. It may be preferable to change the initiator ID with eeprom(1M).

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 3.

To set scsi-options more specifically per target, do the following:

device-type-scsi-options-list =
    "SEAGATE ST32550W", "seagate-scsi-options" ;
seagate-scsi-options = 0x58;

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.

SCSI Transport Capabilities

SCSI transport capabilities as set by the target 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.

Refer to scsi_ifsetcap(9F) and scsi_ifgetcap(9F) for details.



64–bit SPARC ELF kernel module


64–bit x86 ELF kernel module


Optional configuration file


See attributes(5) for descriptions of the following attribute:

x86, SPARC (Limited to systems with LSI Fusion family SCSI I/O processors).

See Also

eeprom(1M), prtconf(1M), stmsboot(1M), driver.conf(4), pci(4), attributes(5), scsi_vhci(7D), scsi_abort(9F), scsi_hba_attach_setup(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)

Writing Device Drivers for Oracle Solaris 11.3

ANSI Small Computer System Interface-2 (SCSI-2) (and later revisions).

ANSI Serial-Attached SCSI-2 (SAS2)

SYM53c1030 PCI-SCSI I/O processor Dual Channel Fast-160 — LSI Logic Inc.

LSISASI1064 PCI-X to 4-port 3 Gb/s SAS Controller - LSI Logic Inc.

LSISASI1068/E 4-Port PCI Express to 3 Gb/s SAS Controller - LSI Logic Inc.

Sun StorEdge Traffic Manager Installation and Configuration Guide


The messages described below are logged and may also appear on the system console.

Device is using a hilevel intr

The device was configured with an interrupt level that cannot be used with this mtp driver. Check the PCI device.

Map setup failed

The driver was unable to map device registers; check for bad hardware. Driver did not attach to device; SCSI devices are inaccessible.

Cannot map configuration space

The driver was unable to map in the configuration registers. Check for bad hardware. SCSI devices will be inaccessible.

Attach failed

The driver was unable to attach; usually preceded by another warning that indicates why attach failed. These can be considered hardware failures.

Connected command timeout for Target <id>.

This is usually a SCSI bus problem. Check cables and termination.

Target <id> reducing sync. transfer rate

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.

Target <id> reverting to async. mode

A second data transfer hang was detected for this target. The driver attempts to eliminate this problem by reducing the data transfer rate.

Target <id> disabled wide SCSI mode

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 the parallel SCSI LSI 53c1030 controller. The LSI 53c1030 controller series supports 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
        name='target8-wide' type=int items=1 dev=none
        name='target8-sync-speed' type=int items=1 dev=none
        name='target5-TQ' type=int items=1 dev=none
        name='target5-wide' type=int items=1 dev=none
        name='target5-sync-speed' type=int items=1 dev=none
        name='target4-TQ' type=int items=1 dev=none
        name='target4-wide' type=int items=1 dev=none
        name='target4-sync-speed' type=int items=1 dev=none
        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)
        name='scsi-options' type=int items=1 dev=(238,0)
        name='scsi-watchdog-tick' type=int items=1 dev=(238,0)
        name='scsi-tag-age-limit' type=int items=1 dev=(238,0)
        name='scsi-reset-delay' type=int items=1 dev=(238,0)