Visual SCSI Explorer screenshot

December 21, 2022
Visual SCSI Explorer version 2.9 is available.

May 23, 2021
Visual SCSI Explorer version 2.9 is being prepared for release.

March 31, 2021
Virtual Storage Device Emulator version 1.3 is available.

Subscribe for product news

Visual SCSI Explorer overview

 

Visual SCSI Explorer screenshot Visual SCSI Explorer application runs on Windows operating system platforms and is intended for advanced SCSI device testing. The application can handle SCSI devices connected to the host computer through such storage buses as Parallel SCSI, Fibre Channel (FC), Internet SCSI (iSCSI), Serial Attached SCSI (SAS), Storage Area Network (SAN), virtual, and others.

Application visualizes the host SCSI controller and device configuration as controller-device tree and properties. It is possible to rescan SCSI buses and to dynamically update the SCSI device list. Application functional interface is optimized for Direct Access (Disk), Sequential Access (Tape Drive), Multi-Media (CD/DVD/BD), Optical Memory (Magneto-optical), Media Changer (jukebox), Processor, and SCSI Enclosure Services devices. Raw CDB feature allows user to execute any SCSI command for SCSI device of any type. Application visualizes the process of SCSI command execution, logs the command parameters, the outbound and inbound command data and parses them.

Application automates routine SCSI device test tasks by using JScript and VBScript scripting languages, service procedures, and test procedures. The scripting helps to automate the execution of arbitrary SCSI command sequence for the complex testing tasks. Service procedures implement the predefined sequence of SCSI commands for the simple and typical servicing/testing tasks. Test procedures combine multiple scripts as test modules and offer the highest level of automation of test process. Application can run multiple scripts, service procedures, and test procedures for different devices at the same time.

The range of the potential customers includes the next main groups.

 

Supported platforms

 

The following Windows operating system platforms are supported:

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

 

System requirements

 

Hardware requirements:

Software requirements:

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

 

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.

 

Primary commands and parameters support

 

The following commands from the primary command set (SPC) 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.

 

Direct access device commands and parameters support

 

The following commands from the direct access device (disk) command set (SBC) are supported.

The following commands for the optical memory (magneto optical) devices are supported.

The following direct access device (disk) vital product data pages are supported.

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

The following direct access device (disk) mode pages are supported.

 

Sequential access device commands and parameters support

 

The following commands from the sequential access device (tape drive) command set (SSC) are supported.

The following sequential access device (tape drive) vital product data pages are supported.

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

The following sequential access device (tape drive) mode pages are supported.

 

Media Changer commands and parameters support

 

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

The following media changer vital product data pages are supported.

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

The following media changer mode pages are supported.

 

Multi-media commands and parameters support

 

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

The following multi-media mode pages are supported.

 

Processor commands and parameters support

 

The following commands from the processor command set (SPC-2) are supported.

 

SCSI Enclosure Services commands and parameters support

 

The following SCSI enclosure services diagnostic parameters are supported (only for Receive Diagnostic Results (1Ch) command).

The following SCSI enclosure services mode pages are supported.

 

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.

 

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.

 

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.

 

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. In some cases when specific third party application installs non-standard proprietary drivers for SCSI devices the devices remain accessible.

The application supports SCSI Pass Through initiator interface. The SCSI Pass Through (SPT) interface is a native Windows interface to SCSI controllers and devices provided for the user-mode and kernel-mode components and applications.

The SCSI controllers and devices are accessed through special hardware management user-mode service using the user-mode SCSI Pass Through interface. The hardware management service is installed by the Visual SCSI Explorer product.

 

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.

 

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.

 

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.

 

Test procedures

 

Test procedure is a sequence of test modules. The test module refers to the script module or service procedure. Each test module performs certain number of testing operations for the device being tested. When test procedure is running the test modules are being executed sequentially in the same order as they are present in the list. After the test procedure finishes the result of execution of test modules is indicated in the status column for each module. The test procedure execution can either be terminated immediately on first test module failure or can run to the end regardless to the result of test module execution. Multiple test procedures can be running for different devices at the same time. Application provides test procedure window that allows the user to manage the test procedure. It is possible to save the test procedure to the file and open it later for editing and/or execution.

 

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.

 

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.

 

Text editor for script editing

 

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

 

Parallel execution of multiple service procedures and scripts

 

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.

 

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.

 

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.

 

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.

 

Task management function support

 

The following task management functions are supported.

 

Control byte fields support

 

The script can set Link, Flag, NACA, and Vendor Specific fields in Control byte in CDB for all commands. The script can dynamically disable and enable Control byte setting in order to pass arbitrary values for Control byte in raw and custom CDBs.

 

Unicode file encoding support

 

Unicode file encoding is supported for script device log, and test files. User can change file encoding settings in program options dialog box. One can save files in ANSI, Unicode, UTF-8, and UTF-16LE encodings.

 

Interactive tools

 

The product includes the set of interactive tools:

 

Additional information

 

Product PAD-file is located here.