Visual SCSI Explorer product overview
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.
Supported platforms
The following Windows operating system platforms are supported:
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows 10 32-bit and 64-bit
- Windows 8.1 32-bit and 64-bit
- Windows Server 2012 64-bit
- Windows 8 32-bit and 64-bit
- Windows 7 32-bit and 64-bit
- Windows Server 2008 32-bit and 64-bit
- Windows Vista 32-bit and 64-bit
- Windows Server 2003 32-bit and 64-bit
- Windows XP 32-bit and 64-bit
NOTE: 64-bit operating system platforms are supported only for AMD64 (x64) processor architecture.
System requirements
Hardware requirements:
- 800 MHZ or faster Inter Pentium TM or equivalent CPU.
- 256 MB RAM. The optimal size of RAM depends on the installed Windows operating system.
- 10GB hard disk. The optimal size of hard disk depends on the installed Windows operating system.
- 15" or greater SVGA display.
- Standard keyboard and mouse.
- One or more host bus adapters.
Software requirements:
- Supported Windows operating system with the necessary service pack installed.
- Internet Explorer version 5.5 or higher.
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.
- SCSI Architecture Model - 3 (SAM-3)
- SCSI Primary Commands - 3 (SPC-3)
- SCSI Block Commands -3 (SBC-3)
- SCSI Stream Commands - 4 (SSC-4)
- Processor Commands (SPC-2)
- Multi-Media Commands - 6 (MMC-6)
- SCSI Media Changer Commands - 2 (SMC-2)
- SCSI Enclosure Services - 4 (SES-4)
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.
Raw CDB support
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
properties specific for SCSI adapter are displayed in the properties window.
If the SCSI device item is selected in the hardware configuration window the device specific properties are displayed in the properties window together with the property group selector.
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 service procedures are implemented for the following device types.
- All device types - common service procedures.
- Direct access (disk) device type.
- Sequential access (tape) device type.
- Media changer (jukebox) device type.
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 of SCSI command execution
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.
- SCSI Bus Reset. Resets the SCSI bus for adapter that is selected in the hardware configuration tree. SCSI bus is selected by number in case when adapter supports multiple buses.
- Device Bus Reset. Resets the SCSI bus the selected device is connected to.
- Target Device Reset. Resets the SCSI target for the selected device.
- Logical Unit Reset. Resets the logical unit for the selected device.
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 for device management
The product includes the set of interactive tools for advanced device management:
- Hex-to-decimal converter.
- Binary data editor.
- Disk block editor.
- Changer management.
Additional product information
Visual SCSI Explorer Technical Description
provides detailed description of the product features.
Product PAD-file is located here.