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(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.
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" unit-address="3" target1-scsi-options=0x58 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:
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.
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.
See attributes(5) for descriptions of the following attribute:
eeprom(1M), prtconf(1M), stmsboot(1M), driver.conf(4), pci(4), attributes(5), scsi_vhci(7D), 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) (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
Map setup failed
Cannot map configuration space
Connected command timeout for Target <id>.
Target <id> reducing sync. transfer rate
Target <id> reverting to async. mode
Target <id> disabled 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 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