This visualizer parses and displays commands and data exchanged by the computer and devices conforming to USB Mass Storage Bulk-Only device class and subclass. Specific commands from USB Mass Storage CBI Transport are also supported. There are two levels of display offered by the visualizer: Mass Storage Level and Command Level. The first one parses Mass Storage-specific structures, while the second one parses commands exchanged between the host and device.
Mass Storage standard allows using several command set, including SCSI Primary Command Set, SCSI Reduced Block Set and SCSI Multimedia Command Set. They are usually commonly referred as SCSI Transparent Command Set.
The visualizer always tries to process the command using the current command set (reported by the device). If it fails, it looks for the command in other supported command sets and parses it. In the latter case, you see the warning displayed next to the parsed command. If multiple command sets include definitions for the single command, it will be parsed using the first one that matches.
Supported Commands
The visualizer conforms to the following standards:
SCSI Primary Command Set 2 (SPC2)
SCSI Multimedia Command Set 2 (MMC2)
SCSI Reduced Block Command Set (RBC)
Below you will find the list of supported commands. If the command has a number next to its name, that means there are several similar commands differing by the transfer length. The user has an option to select the commands the parser processes in the Tools » Settings, Filtering Tab.
MMC
BLANK (0xa1)
FORMAT_UNIT (0x04)
CLOSE_TRACK_SESSION (0x5b)
GET_CONFIGURATION (0x46)
GET_PERFORMANCE (0xac)
LOAD_UNLOAD_MEDIUM (0xa6)
MECHANISM_STATUS (0xbd)
PAUSE_RESUME (0x4b)
PLAY_AUDIO10 (0x45)
PLAY_AUDIO12 (0xa5)
PLAY_AUDIO_MSF (0x47)
READ_BUFFER_CAPACITY (0x5c)
PLAY_CD (0xbc)
READ_CD (0xbe)
READ_CD_MSF (0xb9)
READ_CAPACITY (0x25)
READ_DISC_INFORMATION (0x51)
READ_DVD_STRUCTURE (0xad)
READ_FORMAT_CAPACITIES (0x23)
READ_HEADER (0x44)
READ_MASTER_CUE (0x59)
READ_SUB_CHANEL (0x42)
READ_TOC (0x43)
READ_TRACK_INFO (0x52)
WRITE10 (0x2a)
REPAIR_TRACK (0x58)
REPORT_KEY (0xa4)
RESERVE_TRACK (0x53)
SCAN (0xba)
SEND_CUE_SHEET (0x5d)
SEND_DVD_STRUCTURE (0xbf)
SEND_EVENT (0xa2)
SEND_KEY (0xa3)
SEND_CD_SPEED (0xbb)
SEND_OPC_INFO (0x54)
SET_READ_AHEAD (0xa7)
SET_STREAMING (0xb6)
STOP_PLAY_SCAN (0x4e)
WRITE_AND_VERIFY (0x2e)
READ12 (0xaa)
ERASE10 (0x2c)
GET_EVENT (0x4a)
SPC2
TEST_UNIT_READY (0x00)
REQUEST_SENSE (0x03)
INQUIRY (0x12)
MODE_SENSE6 (0x1a)
MODE_SENSE10 (0x5a)
EXTENDED_COPY (0x83)
LOG_SELECT (0x4c)
LOG_SENSE (0x4d)
MODE_SELECT6 (0x15)
MODE_SELECT10 (0x55)
PERSISTENT_RESERVE_IN (0x5e)
PERSISTENT_RESERVE_OUT (0x5f)
PREVENT_MEDIUM_REMOVAL (0x1e)
READ_BUFFER (0x3c)
RECIEVE_COPY_RESULTS (0x84)
RECEIVE_DIAGNOSTIC_RESULTS (0x1c)
RELEASE10 (0x57)
RELEASE6 (0x17)
REPORT_DEVICE_IDENTIFIER (0xa3)
LUNS(0xa0)
RESERVE10 (0x56)
RESERVE6 (0x16)
SEND_DIAGNOSTICS (0x1d)
SET_DEVICE_IDENTIFIER (0xa4)
WRITE_BUFFER (0x3b)
RBC
READ10 (0x28)
READ_CAPACITY (0x25)
SYNC_CACHE (0x35)
FORMAT_UNIT (0x04)
START_STOP_UNIT (0x1b)
WRITE10 (0x2a)
VERIFY10 (0x2f)
Some devices may use newer command set revisions. In this case one of the following occurs:
The parser will not be able to process the command correctly if its layout changed.
The parser will correctly process the command, but without new fields added in the newer revision.
The parser will not be able to process the command, not defined in the supported revision.
In all of three cases, the warning will be displayed.