Software Tools for SCSI/FC/iSCSI/SAS Device Testing

July 29, 2017
Chobik SCSI Programming Interface version 1.0 is available

August 8, 2016
Virtual Storage Device Emulator version 1.0 is available

November 15, 2015
Visual SCSI Explorer version 2.5 is available

Subscribe for product news

Visual SCSI Explorer overview

 

1. Supported platforms

2. System requirements

3. Product features

  3.1. SCSI-3 support

  3.2. Primary commands and parameters support

  3.3. Disk commands and parameters support

  3.4. Tape Drive commands and parameters support

  3.5. Media Changer commands and parameters support

  3.6. Multi-Media commands and parameters support

  3.7. Raw CDB

  3.8. Hardware configuration view

  3.9. Rescanning of SCSI bus

  3.10. Transparent access to all SCSI devices

  3.11. Manual mode of SCSI command execution

  3.12. Automated (scripting) mode of SCSI command execution

  3.13. Service procedures

  3.14. Asynchronous SCSI command execution

  3.15. Detailed logging

  3.16. Text editor for script editing

  3.17. Running multiple service procedures and scripts in parallel

  3.18. Sample script library

  3.19. Large integer support for scripting

  3.20. Large CDB and bidirectional data transfer support

  3.21. Task management function support

4. Additional information

 

1. Supported platforms

 

The following Windows operating system platforms are supported:

NOTE: 64-bit operating system platforms are supported only for AMD64 (x64) processor architecture.

 

Back to contents

 

2. System requirements

 

Hardware requirements:

Software requirements:

NOTE: It is recommended to install all system patches from Windows Update site.

 

Back to contents

 

3. Product features

 

3.1. SCSI-3 support

 

The application supports the SCSI commands and the device parameters as described in the SCSI-3 standards documents. The implementation is based on the following standards documents.

Some features from the latest standards documents are also implemented. The application supports mandatory SCSI commands and device parameters, and some optional commands and device parameters.


Back to contents

3.2. Primary commands and parameters support

 

The following commands from the primary command set are supported.

The following shared vital product data pages are supported.

The following shared log pages are supported (only for Log Sense (4Dh) command).

The following shared mode pages are supported.

Back to contents

3.3. Disk commands and parameters support

 

The following commands from the disk command set are supported.

The following commands for the optical disk devices are supported.

The following disk vital product data pages are supported.

The following disk log pages are supported (only for Log Sense (4Dh) command).

The following disk mode pages are supported.

Back to contents

3.4. Tape Drive commands and parameters support

 

The following commands from the tape drive command set are supported.

The following tape drive log pages are supported (only for Log Sense (4Dh) command).

The following tape drive mode pages are supported.

Back to contents

3.5. Media Changer commands and parameters support

 

The following commands from the media changer command set are supported.

The following media changer log pages are supported (only for Log Sense (4Dh) command).

The following media changer mode pages are supported.

Back to contents

3.6. Multi-Media commands and parameters support

 

The following commands from the multi-media command set are supported.

The following multi-media mode pages are supported.

Back to contents

3.7. Raw CDB

 

Application supports so-called "raw" CDB for manual and automated (scripting) SCSI command execution modes. User can make CDB manually using the binary editor. Also if command has outbound data, they can also be edited in binary data editor. Application offers well developed dialog box for the manual command mode. This feature makes it possible to execute arbitrary command and to set the reserved fields in the CDB and command data.


Back to contents

3.8. Hardware configuration view

 

The host SCSI hardware is represented in the hardware configuration window as adapter-device tree. Each SCSI adapter is represented as top level item in the tree. All devices that are connected to this adapter are represented as child items in the tree. When the adapter or device item is selected in the tree the properties of the selected item are shown in the properties window.

If the SCSI adapter item is selected in the hardware configuration window the following properties are displayed in the properties window.

If the SCSI device item is selected in the hardware configuration window the device properties are displayed in the properties window together with the property group selector.

If the SCSI property group is selected the following properties are displayed.

If the Command property group is selected the list of active and pending SCSI commands is displayed. The list includes only those SCSI commands that were issued manually from the Visual SCSI Explorer application. The list includes the command name and formatted command parameters.

If the Script property group is selected the list of the active scripts is displayed. The list includes the scripts that are running for the device. The list item includes the script name and the full path to the script file.

If the Service property group is selected the list of the active service procedures is displayed. The list includes the service procedures that are running for the device. The list item includes the procedure name, the formatted parameter string, and the status string.


Back to contents

3.9. Rescanning of SCSI bus

 

User can rescan the SCSI bus of selected adapter. After the rescanning the application updates the list of devices that are attached to the selected adapter and reflects the changes immediately in the hardware configuration view. It is possible to enable automatic rescanning of the SCSI buses for all adapters during the application startup.


Back to contents

3.10. Transparent access to all SCSI devices

 

Application allows the SCSI command execution for all SCSI devices that are currently present in the host hardware configuration even if the operating system has installed the class drivers for those devices.

The application supports the following SCSI initiator interfaces.

The SCSI Pass Through (SPT) interface is a native Windows interface to SCSI controllers and devices that is provided for the user-mode and kernel-mode components. The VseKmd.sys is the special auxiliary kernel-mode driver that is installed by the Visual SCSI Explorer product.

The interface type can be selected on the SCSI options page of the application options dialog box. Refer to the application help system for more detailed information about the supported SCSI interfaces.


Back to contents

3.11. Manual mode of SCSI command execution

 

User can execute SCSI commands in manual mode using the application window menus. If SCSI command has additional parameters the suitable dialog box is shown that allows the user to specify additional command parameters like page code, allocation length, etc. The process of the command execution is reflected in the device log window. If the SCSI command succeeds the received data (if any) are parsed. If the SCSI command fails the parsed sense data (if available) are logged together with the status values.


Back to contents

3.12. Automated (scripting) mode of SCSI command execution

 

The scripting helps to automate the execution of SCSI command sequence for the complex testing tasks. Application can run the scripts that are written for such popular scripting languages as JScript and VBScript. The script is being executed on the script engine. The application creates separate instance of the script engine for each active (running) script. The scripts and script engines are running in the context of the application. The script can be executed in two different modes: the script editor mode and the device mode. It is possible to terminate the script execution at any time. The list of the active scripts is shown in the device properties.

It is possible to define so-called startup arguments for the script. The script can get the values of the startup arguments while executing. Startup arguments allow further customization of tasks that can be executed by single script module.

It is possible to specify additional script files to be included before the first line of the main script file. This feature may be used to move common definitions and frequently used functions to separate files and to leave in main script file only code that is specific to task. This feature also simplifies the use of previously developed script libraries.


Back to contents

3.13. Service procedures

 

The service procedure is the predefined sequence of SCSI commands that can be executed once or in the loop. Each service procedure implements some useful function like firmware upload or simple testing tasks. If service procedure has additional parameters the suitable dialog box is shown that allows the user to specify additional procedure parameters like number of iterations, data file path, etc. It is possible to run multiple service procedures for single or multiple devices. It is possible to terminate the service procedure execution at any time. The list of the active service procedures together with the procedure status is shown in the device properties.

The following service procedures are implemented for all device types.

The following service procedures are implemented for Disk devices.

The following service procedures are implemented for Tape Drive devices.

The following service procedures are implemented for Media Changer devices.


Back to contents

3.14. Asynchronous SCSI command execution

 

All SCSI commands are being executed asynchronously. When user selects the SCSI command in the menu for execution the SCSI command is queued for execution on the device. If no other commands are queued previously, the execution of current SCSI command is being started immediately. Otherwise the command is put to the queue and will be executed later when the previously queued commands are completed. It is possible to queue multiple SCSI commands while the first command is being executed. Also one can execute SCSI commands manually while the service procedure(s) and/or script(s) are also executing SCSI commands for the same device. The list of the active and pending SCSI commands is shown in the device properties.


Back to contents

3.15. Detailed logging

 

Various types of information are being logged during the SCSI command execution. Each device has its own message log. When SCSI device is selected in the hardware configuration window, the device's log is shown in the log window.

When SCSI command is being executed, the application logs the CDB itself and its parameters, any outbound or inbound data, and the completion status. If the data are known, the application parses the data and logs the values of the data fields. If the command is completed with CHECK CONDITION SCSI status, the application logs SCSI sense data.

The scripts and service procedures also log various messages.

The content of the log window can be saved into the text file for further analysis.


Back to contents

3.16. Text editor for script editing

 

Application has well developed text editor for editing the script text.


Back to contents

3.17. Running multiple service procedures and scripts in parallel

 

Multiple service procedures and scripts can be running for single device at the same time. Single service procedure or script can be running in multiple instances for multiple devices.


Back to contents

3.18. Sample script library

 

There is a library of sample JScript and VBScript script that illustrate the use of all properties and methods of exported Device and Application objects. Application help system has detailed description of arguments and returned values for each method and property.


Back to contents

3.19. Large integer support for scripting

 

Basic large integer (8-byte) arithmetic and comparison operations are supported for scripting. Large integer values are used as parameters for some SCSI commands. Also large integer values might be necessary while making and parsing device parameters and other binary data.


Back to contents

3.20. Large CDB and bidirectional data transfer support

 

Application supports large CDB with length greater than 16 bytes and bidirectional data transfer. The length of large CDB is limited by 256 bytes. The operating system platform and HBA device/driver must support storage request block in order to utilize this feature. Windows 8 operating system platform and later support storage request block. Support of storage request block for HBA is reflected in the list of properties. If Request type property has non-zero value the HBA supports large CDB and bidirectional data transfer. This feature is supported for all command execution modes: manual, service procedure, and scripting.


Back to contents

3.21. Task management function support

 

The following task management functions are supported.


Back to contents

4. Additional information

 

Product PAD-file is located here.


Back to contents