Inquiry - 12h
In response to this command the library returns static data that describes various subsystem parameters. Each controller device and media changer device logical unit will return its own Inquiry data. If an INQUIRY command is received from an initiator with a pending unit attention condition, the library will perform the INQUIRY command and will not clear the unit attention condition. An INQUIRY command will respond with a Check Condition status only when it cannot return the requested Inquiry data.
This command would normally only be issued once for each logical unit as desired by the initiator to facilitate the initialization process.
The INQUIRY CDB format is shown in the following table.
Table 1: INQUIRY CDB format
|
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
Op Code (12h) |
|||||||
|
1 |
Reserved |
Obsolete | EVPD | |||||
|
2 |
Page Code | |||||||
|
3 |
Reserved |
|||||||
|
4 |
Allocation Length | |||||||
|
5 |
Control | |||||||
| Field | Description |
|---|---|
|
Enable Vital Product Data (EVPD) |
An EVPD value of 1 indicates that the vital product data specified by the Page Code should be returned. A value of 0 indicates that standard inquiry data should be returned. |
|
Page Code |
This field specifies which vital product data page to return if the EVPD bit is set to 1. If the EVPD bit is set to 0, the Page Code must be 00h. The library supports the following page codes:
|
|
Allocation Length |
The Allocation Length field specifies the maximum number of bytes that the initiator allocated for returned inquiry data. An Allocation Length of 0 indicates that no inquiry data is to be transferred (this condition is not considered an error). The library terminates the data transfer when it has transferred the lesser of either the number of bytes specified by the Allocation Length field or all of the available inquiry data. |
Table 2:
|
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
Peripheral Qualifier |
Peripheral Device Type |
||||||
| 1 | RMB | LU_CONG | Reserved | |||||
|
2 |
Version |
|||||||
|
3 |
Reserved |
Reserved |
NormACA |
HiSup |
Response Data Format |
|||
|
4 |
Additional Length n-4 |
|||||||
|
5 |
SCCS |
ACC |
TPGS |
3PC |
Reserved |
PROTECT |
||
|
6 |
Obsolete |
EncServ |
BarC |
MultiP |
Obsolete |
Reserved |
Reserved |
Addr16 |
|
7 |
Obsolete |
Reserved |
Wbus16 |
Sync |
Obsolete |
Reserved |
CmdQue |
SftRe |
|
8 : 15 |
Vendor Identification |
|||||||
|
16 : 31 |
Product Identification |
|||||||
|
32 : 35 |
Firmware Revision Level |
|||||||
|
36 : 54 |
Full Firmware Revision Level |
|||||||
|
55 |
Reserved |
BarC |
||||||
|
56* |
Reserved |
Clocking |
QAS |
IUS |
||||
|
57* |
Reserved |
|||||||
| 58* | Optional Version Descriptor 1 | |||||||
| 59* | ||||||||
|
72* |
Optional Version Descriptor 8 |
|||||||
|
73* |
||||||||
| 75* | Reserved | |||||||
| ... | ||||||||
| 95* | ||||||||
|
96*
|
Vendor Specific (not supported) |
|||||||
| ... | ||||||||
|
n* |
||||||||
|
* When requesting a standard inquiry response from a media changer device logical unit hosted by a DA blade, only data for bytes 0 to 55 will be returned. Bytes 56 and all following bytes are not returned by media changer device logical units hosted by a DA blade. |
||||||||
Note: For Scalar i2000 and i6000 libraries - Once a library control firmware update gets scheduled, the library will not show the firmware revision of the installed library firmware bundle in the standard inquiry response if the library is operating in an emulation mode, but rather emulates a firmware version for the emulated device.
| Field | Description |
|---|---|
|
Peripheral Qualifier |
A return value of 000b indicates that the library supports the peripheral device type at the specified LUN. A return value of 001b indicates that the library is capable of supporting the peripheral device type at the specified LUN, however the device is not currently connected to it. A return value of 011b indicates no peripheral device types are supported at that LUN. |
|
Peripheral Device Type |
For media changer device logical units, this field returns 01000b (08h) to indicate it is a media changer device. For the DA blade controller device logical unit, this field returns 01100b (0Ch) to indicate it is a controller device. If an unsupported LUN was specified, this field returns 11111b (1Fh), which indicates that the device type is unknown. |
|
Removable Medium Bit (RMB) |
For media changer device logical units, this field returns 1, indicating media is removable. For the DA blade controller device logical unit it returns 0. |
| LU_CONG | This field returns a 0 to indicate that the Logical Unit is not part of a logical unit conglomerate |
|
Version |
This field returns 03h, indicating compliance with the SCSI-3 standard. Note that this field will report SCSI-3 standard compliance despite support of various SMC-x defined command and response information for certain SCSI commands, or this field returns the value 06h to indicate compliance with the SPC-4 standard (Scalar i7 RAPTOR only). |
|
Normal ACA Supported (NormACA) |
If the media changer device is configured through a control path drive, the NACA bit is not supported and this field returns 0. |
|
Hierarchical Support (HiSup) |
This field returns a 1, indicating that the hierarchical addressing model is used to assign LUNs, and that the REPORT LUNs command is supported. |
|
Response Data Format |
Returned as 0010b, indicating response data is in standard SCSI format. |
|
Additional Length |
|
|
SCC Supported (SCCS) |
For the media changer device logical units, this field returns a 0. For the DA blade controller device logical unit, this field returns a 1. |
|
Target Port Groups Supported (TPGS) |
If the media changer device control path is hosted by a DA blade, this field is set to 0. If the media changer device control path is hosted by a tape drive, this field is filled in by the tape drive hosting the interface and may be set to 1 if the REPORT TARGET PORT GROUPS command is supported. |
|
Third Party Copy (3PC) |
This field is set to 0 to indicate that third party copy is not supported. |
|
PROTECT |
This field is set to 0 to indicate that protection information is not supported. |
|
Enclosure Services (EncServ) |
Returned as 0, indicating an enclosure services component is not included. |
|
Bar Code (BarC) |
For media changer device logical units, this field returns a 1, indicating a bar code scanner or imaging device is installed (also returned in byte 55 below). For the controller device logical unit, this field returns a 0. |
|
Multi Port (MultiP) |
Returned as 0 if the device providing the medium changer interface supports a single port; returned as 1 if the device providing the medium changer interface supports 2 or more ports. |
|
Wide SCSI Address 16 (Addr16) |
Returned as 0, indicating 16-bit wide SCSI addresses are supported (applies to parallel SCSI only). |
|
Wide Bus 16 (Wbus16) |
Returned as 0, indicating 16 bit transfers are supported (applies to parallel SCSI only). |
|
Synchronous Transfer (Sync) |
Returned as 0, indicating synchronous transfers are supported (applies to parallel SCSI only). |
|
Linked Commands (Linked) |
Returned as 0, indicating linked commands are not supported. |
|
Command Queuing (CmdQue) |
For Fibre Channel, this is returned as 1, indicating command queuing is supported. For SCSI and SAS, this is returned as 0, indicating no command queuing is supported. |
|
Soft Reset (SftRe) |
Returned as 0, indicating a soft reset is not supported. |
|
|
Returned as one of the following (space filled to 8 bytes):
|
|
Product Identification |
|
|
Firmware Revision Level |
Returned as the ASCII representation of the revision level, such as “100A” or “203G”. The remaining fields are only returned for media changer device logical units. |
|
|
Same as the firmware revision level, but extended to include the build number (if available). |
|
|
|
|
Clocking |
This field is only returned for media changer device logical units controlled via parallel SCSI; otherwise, this field is reserved. This field does not apply to asynchronous transfers and is defined as:
|
|
QAS |
This field is only returned for media changer device logical units controlled via parallel SCSI; otherwise, this field is reserved. A quick arbitration and selection supported (QAS) bit of one indicates that the target port supports quick arbitration and selection. A value of zero indicates that the target port does not support quick arbitration and selection. |
|
IUS |
This field is only returned for media changer device logical units controlled via parallel SCSI; otherwise, this field is reserved. An information units supported (IUS) bit of one indicates that the SCSI target device supports information unit transfers. A value of zero indicates that the SCSI target device does not support information unit transfers. |
|
|
Optional Version Descriptors indicate SCSI command compliance with certain standards. The data transfer element hosting the interface may add/insert version descriptors for the tape drive transport protocol reporting which physical layer and transport layer revisions are claimed for any FC or SAS transport protocols. The Scalar i7 RAPTOR tape library reports the following SCSI Medium Changer version descriptors in the optional version descriptors 1 , 2 and 3.:
|
The collection of Vital Product Data pages is as follows:
Contains a list of all supported vital product data page codes.
Table 3: Supported Vital Product Data Page (00h)
|
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
Peripheral Qualifier |
Peripheral Device Type |
||||||
|
1 |
Page Code (00h) |
|||||||
|
2 |
Reserved |
|||||||
|
3 |
Page Length |
|||||||
|
4 |
First Page Code Supported |
|||||||
|
5 |
Second Page Code Supported |
|||||||
|
6 |
Third Page Code Supported |
|||||||
|
7 |
Fourth Page Code Supported |
|||||||
|
8 |
Fifth Page Code Supported |
|||||||
| Field | Description |
|---|---|
|
Peripheral Qualifier |
The return value 000b indicates that the library supports the peripheral device type at the specified LUN. This field returns 011b if no peripheral device types are supported at that LUN. |
|
Peripheral Device Type |
For media changer device logical units, this field returns 01000b (08h) to indicate it is a media changer device. For the controller device logical unit, this field returns 01100b (0Ch) to indicate it is a controller device. If an unsupported LUN was specified, this field returns 11111b (1Fh), which indicates that the device type is unknown. |
|
Page Code |
Returned as 00h, indicating this page. |
|
Page Length |
Returns the number of bytes following this field. |
|
First Page Code Supported |
Returned as 00h, indicating support for the Supported Vital Product Data Page. |
|
Second Page Code Supported |
Returned as 80h, indicating support for the Unit Serial Number Page. |
|
Third Page Code Supported |
Returned as 83h, indicating support for the Device Identification Page. |
|
Fourth Page Code Supported |
Returned as 85h, indicating support for the Management Network Addresses Page. |
|
Fifth Page Code Supported |
Returned as C8h, indicating support for Vendor Specific Device Capabilities Page. |
Second page code supported. Returns system serial number.
Table 4: Unit Serial Number Page (80h)
|
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
Peripheral Qualifier |
Peripheral Device Type |
||||||
|
1 |
Page Code (80h) |
|||||||
| 2 | (MSB) | Page Length (n-3) | (LSB) | |||||
| 3 | ||||||||
|
4 : 27 |
Serial Number |
|||||||
| Field | Description |
|---|---|
| Peripheral Qualifier |
The return value 000b indicates that the library supports the peripheral device type at the specified LUN. This field returns 011b if no peripheral device types are supported at that LUN. |
|
|
For media changer logical units, this field returns 01000b (08h) to indicate it is a media changer device. For the controller device logical unit, this field returns 01100b (0Ch) to indicate it is a controller device. If an unsupported LUN was specified, this field returns 11111b (1Fh), which indicates that the device type is unknown. |
| Page Code |
Returned as 80h, indicating this page. |
|
|
Returned as 18h, indicating the remaining number of bytes following this field. |
|
The value returned for this field is the serial number for the system, prefixed with the vendor identification. The serial number is padded with trailing spaces as needed to complete the 24 bytes.
|
Third page code supported. Returns device identification descriptors.
Table 5: Device Identification Page (83h)
|
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
Peripheral Qualifier |
Peripheral Device Type |
||||||
|
1 |
Page Code (83h) |
|||||||
| 2 | (MSB) | Page Length (n-3) | (LSB) | |||||
| 3 | ||||||||
|
Identification Descriptors (see Table 6) |
||||||||
|
4 : |
First Identification Descriptor |
|||||||
|
: |
||||||||
|
: n |
Last Identification Descriptor |
|||||||
| Field | Description |
|---|---|
| Peripheral Qualifier |
The return value 000b indicates that the library supports the peripheral device type at the specified LUN. This field returns 011b if no peripheral device types are supported at that LUN. |
| Peripheral Device Type |
For media changer device logical units, this field returns 01000b (08h) to indicate it is a media changer device. For the controller device logical unit, this field returns 01100b (0Ch) to indicate it is a controller device. If an unsupported LUN was specified, this field returns 11111b (1Fh), which indicates that the device type is unknown. |
| Page Code |
Returned as 83h, indicating this page. |
| Page Length |
Returns the remaining number of bytes following this field. |
Identification Descriptors
The general format of identification descriptors are in the table below.
Table 6: Identification Descriptors
|
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
Protocol Identifier |
Code Set |
||||||
|
1 |
PIV |
Rsvd |
Association |
Identifier Type |
||||
|
2 |
Identifier Length (n-3) |
|||||||
|
3 |
||||||||
|
4 : n |
Identifier |
|||||||
| Field | Description |
|---|---|
| Protocol Identifier |
The PROTOCOL IDENTIFIER field may indicate the SCSI transport protocol to which the identifier type applies. If the ASSOCIATION field contains a value other than 01b (i.e., target port) or 10b (i.e., SCSI target device) or the PIV bit is set to zero, then the PROTOCOL IDENTIFIER field contents are reserved. If the ASSOCIATION field contains a value of 01b or 10b and the PIV bit is set to one, then the PROTOCOL IDENTIFIER field shall contain one of the values shown below to indicate the SCSI transport protocol to which the identifier type applies.
|
| Code Set |
This field returns the following values:
|
| PIV |
A protocol identifier valid (PIV) bit set to zero indicates the PROTOCOL IDENTIFIER field contents are reserved. If the ASSOCIATION field contains a value of 01b or 10b then a PIV bit set to one indicates the PROTOCOL IDENTIFIER field contains a valid protocol identifier. If the ASSOCIATION field contains a value other than 01b or 10b, then the PIV bit contents are reserved. |
| Association |
This field returns the following values:
|
| Identifier Type |
This field returns the following values:
|
| Identifier Length |
This is the length of the Identifier field, and will vary by identifier type. |
| Identifier |
This is the identifier as described by the Code Set, Association, and Identifier Type fields. |
Identification Descriptors
The media changer device logical unit returns the T10 Device Identification Descriptor (type 1h) as well as the NAA Device Identification Descriptor (type 3h). The data transfer element hosting the interface will add a NAA Port Identification Descriptor (type 3h), and a Relative Target Port Identifier (type 4h) and may modify which descriptor is reported depending on the medium changer reporting as its own device at LUN 0, or just a LUN behind the data transfer element device.
Media Changer Identification Descriptor
Media changer logical units report only a single identifier. They will report the same identifier on either SCSI or Fibre Channel.
Table 7:
|
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
Protocol Identifier |
Code Set = 2h |
||||||
|
1 |
PIV
|
Rsvd |
Association = 0h |
Identifier Type= 1h |
||||
|
2 |
Identifier Length = 20h (32) |
|||||||
|
3 |
||||||||
|
4
11 |
Vendor Identification (as reported in the Standard Inquiry response) |
|||||||
|
12
35 |
Serial Number (as reported in the Unit Serial Number page without Vendor Identification prefix) |
|||||||
Controller Device Identification Descriptors
On the parallel SCSI and SAS interface, the controller device logical unit will return the same identification descriptor as the media changer devices, as shown in Table 7.
On the Fibre Channel interface, the controller device logical unit will return three different identification descriptors as shown Table 8, Table 9, and Table 11.
The first two descriptors describe the World Wide Node Name and World Wide Port Name.
Table 8: Controller Device Node Identification Descriptor
Bit Byte | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | Protocol Identifier | Code Set = 1h | ||||||
1 | PIV | Rsvd | Association = 0h | Identifier Type= 3h | ||||
2 | Identifier Length = 08h | |||||||
3 | ||||||||
4 : 11 | World Wide Node Name (WWNN) | |||||||
Table 9: Controller Device Port Identification Descriptor
|
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
Protocol Identifier |
Code Set = 1h |
||||||
|
1 |
PIV |
Rsvd |
Association = 1h |
Identifier Type= 3h |
||||
|
2 |
Identifier Length = 08h |
|||||||
|
3 |
||||||||
|
4 : 11 |
World Wide Port Name (WWPN) |
|||||||
The eight-byte Node and Port Worldwide Names have the following format:
Table 10: Node and Port Worldwide Names
|
MSB LSB |
||
|
4-bit NAA ID |
24-bit Company ID |
36-bit Vendor Specified Identifier |
|
5h |
00 30 8C - Quantum Corporation (Default Vendor ID, formerly ADIC) 00 50 84 - Quantum Corporation (reassigned by IEEE as of 09/03/2019) 00 0E A4 - Quantum Corporation (reassigned by IEEE as of 09/03/2019) |
Assigned per library |
The third descriptor (see table below) describes the relative target port.
Table 11: Relative Target Port Identification Descriptor
|
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
Protocol Identifier |
Code Set = 1h |
||||||
|
1 |
PIV |
Rsvd |
Association = 1h |
Identifier Type= 4h |
||||
|
2 |
Identifier Length = 04h |
|||||||
|
3 |
||||||||
|
4 : 7 |
Port Number (Starting with 1) |
|||||||
Fourth page code supported. Returns system network configurations.
Table 12: Network Address Page
|
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
Peripheral Qualifier |
Peripheral Device Type |
||||||
|
1 |
Page Code (85h) |
|||||||
|
2
3 |
(MSB) |
|
||||||
|
Page Length (n-3) |
(LSB) |
|||||||
|
|
||||||||
|
4 |
(MSB) |
Network services descriptor (first) |
(LSB) |
|||||
|
|
||||||||
|
n |
(MSB) |
Network services descriptor (last)
|
(LSB) |
|||||
Each network service descriptor contains information about one management service.
Table 13: Network Services Descriptor
|
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
Rsvd |
Association |
Service Type |
|||||
|
1 |
Reserved |
|||||||
|
2
3 |
(MSB) |
|
||||||
|
Network Address Length (n-3) |
(LSB) |
|||||||
|
4 . . N |
Network Address |
|||||||
| Field | Description |
|---|---|
| Association |
The association shall always be set to 00h "The Identifier field is associated with the addressed logical unit." |
| Service Type |
The service type defines the library access and protocol methodologies. Scalar libraries only support service type 03h to indicate remote UI, CLI, or Web Services support. |
| Network Address Length |
The network address length field contains the length in bytes of the network address field. This length reported in this field is a multiple of 4 bytes. |
| Network Address |
The network address is a null-terminated, null-padded URL. The table above lists the defined network addresses which may be returned. Other vendor unique network addresses may also be returned, although only service type 03h is supported at this time. The network address conforms to RFC 2396 and is of the form "scheme://host:port/path". The host field contains the numeric IP address of the referenced host. The service type and scheme identifies the unique service that the library may report. For HTTP communication this path may be a redirect but for all others it is a direct path. The port may be vendor specific unless otherwise designated in the specification for that service. |
Table 14: Service Types
|
Service Type |
Service Type Name |
Description |
Protocol |
Scheme |
|
00h |
Reserved |
|
|
|
|
01h |
Reserved |
|
|
|
|
02h |
Diagnostics |
Service Web Interface |
HTTP |
service |
|
02h |
Diagnostics |
Secure Service Web Interface |
HTTPS |
service |
|
03h |
Management/Status¹ |
Library Web Interface |
HTTP |
http |
|
03h |
Management/Status |
Secure Library Web Interface |
HTTPS |
https |
|
03h |
Status |
Vendor Command Line Interface |
Telnet |
telnet |
|
03h |
Status |
Secure Vendor Command Line Interface |
SSH |
ssh |
|
04h |
Reserved |
|
|
|
|
05h |
Code Download² |
Library Firmware Download |
FTP |
ftp |
|
05h |
Code Download |
Library Firmware Download |
TFTP |
tftp |
|
05h |
Code Download |
Library Firmware Download |
SFTP |
sftp |
|
05h |
Code Download |
Drive Firmware Download |
FTP |
dftp |
|
05h |
Code Download |
Drive Firmware Download |
TFTP |
dtftp |
|
05h |
Code Download |
Drive Firmware Download |
FTP |
dsftp |
Fifth page code supported. Indicates if device server supports advanced failover or basic failover.
Note: This page may not be supported by all library models.
Table 15: Vendor Specific Device Capabilities Page
|
Bit Byte |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
0 |
Peripheral Identifier |
Peripheral Device Type |
||||||
|
1 |
Page Code (C8h) |
|||||||
|
2 |
MSB |
Page Length (4) |
LSB |
|||||
|
3 |
||||||||
|
4 |
Reserved |
ADVFO |
BASICFO |
RSVD |
||||
|
5 |
Reserved |
Reserved |
||||||
|
6 |
Reserved |
Reserved |
||||||
|
7 |
Reserved |
|||||||
| Field | Description |
|---|---|
| Peripheral Qualifier |
The return value of 000b indicates that the library is a single LUN device. If a LUN other than 00000b was specified, this field returns 011b which indicates that only LUN 0 is supported. |
| Peripheral Device Type |
For media changer device logical units, this field returns 01000b (08h) to indicate it is a media changer device. Any LUN other than 0 returns 11111b which indicates that the device is unknown. |
| Page Code |
Returned as C8h, indicating this page. |
| Page Length |
Returns 4, indicating the remaining number of bytes following this field. |
| ADVFO |
An advanced failover (ADVFO) bit set to one indicates the device server supports advanced path failover. An advanced failover (ADVFO) bit set to zero indicates the device server does not support advanced path failover. |
| BASICFO |
– A basic failover (BASICFO) bit set to one indicates the device server supports basic path failover. A BASICFO bit set to zero indicates support for basic path failover is not supported. |