busTRACE This WEB page comes from the busTRACE 9.0 User's Manual. (Table of Contents)

Previous Topic Next Topic
 

busCHECK is an application that automates the detection of I/O subsystem defects in CDB processing devices (i.e. storage devices). The primary purpose of this tool is to detect device firmware bugs. Secondarily, it can also be used to detect miniport driver bugs.

The various specifications that define how CDBs should be processed (e.g. SPC, SBC, MMC, SSC, Mt. Fuji, etc.) can oven be very complicated. It is not uncommon for devices to ship firmware that does not meet the requirements of the command specifications. That is where busCHECK steps in. busCHECK will automatically communicate with your storage device and look for common firmware bugs. The results are then stored into a busTRACE capture file where you can analyze the results.

To gain access to this application, simply run the busTRACE Start Menu and choose the Check for device and I/O subsystem defects option.

Select device to test

This section shows you the devices you can run tests against. Simply select the device you want to test.

Select tests to run

Once you have selected the device you want to test, the list of available tests will appear in this window. Place a checkmark on any test you would like to run. Select the parent tree item if you want to recursively enable or disable specific device tests.

Application Settings

In this section, you can adjust various application settings.

Enumeration Method

You can configure how busCHECK will scan your system for CDB capable devices.

All Devices

This method will scan for devices using all available techniques including searching for Plug and Play (PnP) devices and non PnP devices (i.e. unclaimed devices). This is the default setting.

Plug and Play Only

This method will only scan for Plug and Play devices.

Legacy Method 1

This method will only scan for unclaimed devices using IOCTL_SCSI_GET_INQUIRY_DATA.

Legacy Method 2

This method will scan for unclaimed devices by checking each Path ID, Target ID, and LUN for a potential device.

Legacy Method 3 This method is a combination of "Legacy Method 2" and "Plug and Play Only"
Show Drive Letters

Place a checkmark on this option if you want busCHECK to show you the drive letter(s) currently allocated to the storage device. The drive letters will appear in the Device Tree.

Show Device Serial Number

Place a checkmark on this option if you want busCHECK to show you the device serial number (if available) for a given storage devie. The serial numbers will appear in the Device Tree

Checks to Perform

When busCHECK completes its tests, it will scan through the captured I/O activity looking for any I/O subsystem defects (i.e. firmware bugs / driver bugs). You can specify here which defect checks to perform.

Perform all Checks

If you select this option, busCHECK will check for all possible defects. Refer to the busTRACE defect analysis options for the available defect checks.

Use busTRACE Settings

If you select this option, busCHECK will use your currently configured busTRACE defect checks. This is the default.

Perform NO Checks

If you select this option, NO defect checks will be performed by busCHECK. You will still be able to save the results to a busTRACE capture file where you can bring the capture file in for detailed analysis. No defect information is lost. It will all be stored in the capture file and is viewable within busTRACE.

Test Settings

In this section, you can adjust various test settings.

Read/Write Capture Size

When busCHECK performs its tests, it saves the results to a busTRACE capture file. All of the data in/out is captured along with the data.

The one exception to this rule is for read/write CDBs (e.g. Read 6, Write 6, Read 10, Write 10, etc.). For these CDBs, which can transfer a LOT of data, you can adjust this setting to tell busCHECK how much of the data in or data out you would like to capture.

Running the test

Once you have configured busCHECK, you simply click on the Run Tests button to run the selected tests.

See Also: