Debug.cpp revision 7d7f185993037cb3c70689ee47902d4bb0daeb3e
2N/A * VBox storage devices: debug helpers 2N/A * Copyright (C) 2008 Oracle Corporation 2N/A * This file is part of VirtualBox Open Source Edition (OSE), as 2N/A * you can redistribute it and/or modify it under the terms of the GNU 2N/A * General Public License (GPL) as published by the Free Software 2N/A * Foundation, in version 2 as it comes in the "COPYING" file of the 2N/A * VirtualBox OSE distribution. VirtualBox OSE is distributed in the 2N/A * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. 2N/A "CFA REQUEST EXTENDED ERROR CODE",
/* 0x03 */ 2N/A "DATA SET MANAGEMENT",
/* 0x06 */ 2N/A "DEVICE RESET",
/* 0x08 */ 2N/A "RECALIBRATE",
/* 0x10 */ "READ SECTORS",
/* 0x20 */ "READ SECTORS WITHOUT RETRIES",
/* 0x21 */ "READ LONG WITHOUT RETRIES",
/* 0x23 */ "READ SECTORS EXT",
/* 0x24 */ "READ DMA EXT",
/* 0x25 */ "READ DMA QUEUED EXT",
/* 0x26 */ "READ NATIVE MAX ADDRESS EXT",
/* 0x27 */ "READ MULTIPLE EXT",
/* 0x29 */ "READ STREAM DMA EXT",
/* 0x2a */ "READ STREAM EXT",
/* 0x2b */ "READ LOG EXT",
/* 0x2f */ "WRITE SECTORS",
/* 0x30 */ "WRITE SECTORS WITHOUT RETRIES",
/* 0x31 */ "WRITE LONG WITHOUT RETRIES",
/* 0x33 */ "WRITE SECTORS EXT",
/* 0x34 */ "WRITE DMA EXT",
/* 0x35 */ "WRITE DMA QUEUED EXT",
/* 0x36 */ "SET MAX ADDRESS EXT",
/* 0x37 */ "CFA WRITE SECTORS WITHOUT ERASE",
/* 0x38 */ "WRITE MULTIPLE EXT",
/* 0x39 */ "WRITE STREAM DMA EXT",
/* 0x3a */ "WRITE STREAM EXT",
/* 0x3b */ "WRITE VERIFY",
/* 0x3c */ "WRITE DMA FUA EXT",
/* 0x3d */ "WRITE DMA QUEUED FUA EXT",
/* 0x3e */ "WRITE LOG EXT",
/* 0x3f */ "READ VERIFY SECTORS",
/* 0x40 */ "READ VERIFY SECTORS WITHOUT RETRIES",
/* 0x41 */ "READ VERIFY SECTORS EXT",
/* 0x42 */ "WRITE UNCORRECTABLE EXT",
/* 0x45 */ "READ LOG DMA EXT",
/* 0x47 */ "FORMAT TRACK",
/* 0x50 */ "CONFIGURE STREAM",
/* 0x51 */ "WRITE LOG DMA EXT",
/* 0x57 */ "TRUSTED RECEIVE",
/* 0x5c */ "TRUSTED RECEIVE DMA",
/* 0x5d */ "TRUSTED SEND",
/* 0x5e */ "TRUSTED SEND DMA",
/* 0x5f */ "READ FPDMA QUEUED",
/* 0x60 */ "WRITE FPDMA QUEUED",
/* 0x61 */ "CFA TRANSLATE SECTOR",
/* 0x87 */ "EXECUTE DEVICE DIAGNOSTIC",
/* 0x90 */ "INITIALIZE DEVICE PARAMETERS",
/* 0x91 */ "DOWNLOAD MICROCODE",
/* 0x92 */ "STANDBY IMMEDIATE ALT",
/* 0x94 */ "IDLE IMMEDIATE ALT",
/* 0x95 */ "STANDBY ALT",
/* 0x96 */ "CHECK POWER MODE ALT",
/* 0x98 */ "IDENTIFY PACKET DEVICE",
/* 0xa1 */ "DEVICE CONFIGURATION OVERLAY",
/* 0xb1 */ "CFA ERASE SECTORS",
/* 0xc0 */ "READ MULTIPLE",
/* 0xc4 */ "WRITE MULTIPLE",
/* 0xc5 */ "SET MULTIPLE MODE",
/* 0xc6 */ "READ DMA QUEUED",
/* 0xc7 */ "READ DMA WITHOUT RETRIES",
/* 0xc9 */ "WRITE DMA WITHOUT RETRIES",
/* 0xcb */ "WRITE DMA QUEUED",
/* 0xcc */ "CFA WRITE MULTIPLE WITHOUT ERASE",
/* 0xcd */ "WRITE MULTIPLE FUA EXT",
/* 0xce */ "CHECK MEDIA CARD TYPE",
/* 0xd1 */ "GET MEDIA STATUS",
/* 0xda */ "ACKNOWLEDGE MEDIA CHANGE",
/* 0xdb */ "BOOT POST BOOT",
/* 0xdc */ "BOOT PRE BOOT",
/* 0xdd */ "MEDIA UNLOCK",
/* 0xdf */ "STANDBY IMMEDIATE",
/* 0xe0 */ "IDLE IMMEDIATE",
/* 0xe1 */ "READ BUFFER",
/* 0xe4 */ "CHECK POWER MODE",
/* 0xe5 */ "FLUSH CACHE",
/* 0xe7 */ "WRITE BUFFER",
/* 0xe8 */ "FLUSH CACHE EXT",
/* 0xea */ "IDENTIFY DEVICE",
/* 0xec */ "MEDIA EJECT",
/* 0xed */ "IDENTIFY DMA",
/* 0xee */ "SET FEATURES",
/* 0xef */ "SECURITY SET PASSWORD",
/* 0xf1 */ "SECURITY UNLOCK",
/* 0xf2 */ "SECURITY ERASE PREPARE",
/* 0xf3 */ "SECURITY ERASE UNIT",
/* 0xf4 */ "SECURITY FREEZE LOCK",
/* 0xf5 */ "SECURITY DISABLE PASSWORD",
/* 0xf6 */ "READ NATIVE MAX ADDRESS",
/* 0xf8 */ "TEST UNIT READY",
/* 0x00 */ "REZERO UNIT",
/* 0x01 */ "REQUEST SENSE",
/* 0x03 */ "FORMAT UNIT",
/* 0x04 */ "READ BLOCK LIMITS",
/* 0x05 */ "REASSIGN BLOCKS",
/* 0x07 */ "READ REVERSE (6)",
/* 0x0f */ "READ FILEMARKS (6)",
/* 0x10 */ "RECOVER BUFFERED DATA",
/* 0x14 */ "MODE SELECT (6)",
/* 0x15 */ "RESERVE (6)",
/* 0x16 */ "RELEASE (6)",
/* 0x17 */ "MODE SENSE (6)",
/* 0x1a */ "START STOP UNIT",
/* 0x1b */ "RECEIVE DIAGNOSTIC RESULTS",
/* 0x1c */ "SEND DIAGNOSTIC",
/* 0x1d */ "PREVENT ALLOW MEDIUM REMOVAL",
/* 0x1e */ "READ FORMAT CAPACITIES",
/* 0x23 */ "READ CAPACITY",
/* 0x25 */ "READ GENERATION",
/* 0x29 */ "READ UPDATED BLOCK",
/* 0x2d */ "WRITE AND VERIFY (10)",
/* 0x2e */ "VERIFY (10)",
/* 0x2f */ "SEARCH DATA HIGH (10)",
/* 0x30 */ "SEARCH DATA EQUAL (10)",
/* 0x31 */ "SEARCH DATA LOW (10)",
/* 0x32 */ "SET LIMITS (10)",
/* 0x33 */ "PRE-FETCH (10)",
/* 0x34 */ "SYNCHRONIZE CACHE (10)",
/* 0x35 */ "LOCK UNLOCK CACHE (10)",
/* 0x36 */ "READ DEFECT DATA (10)",
/* 0x37 */ "MEDIUM SCAN",
/* 0x38 */ "COPY AND VERIFY",
/* 0x3a */ "WRITE BUFFER",
/* 0x3b */ "READ BUFFER",
/* 0x3c */ "UPDATE BLOCK",
/* 0x3d */ "READ LONG (10)",
/* 0x3e */ "WRITE LONG (10)",
/* 0x3f */ "CHANGE DEFINITION",
/* 0x40 */ "WRITE SAME (10)",
/* 0x41 */ "READ SUBCHANNEL",
/* 0x42 */ "REPORT DENSITY SUPPORT",
/* 0x44 */ "PLAY AUDIO (10)",
/* 0x45 */ "GET CONFIGURATION",
/* 0x46 */ "PLAY AUDIO MSF",
/* 0x47 */ "GET EVENT STATUS NOTIFICATION",
/* 0x4a */ "XDWRITE (10)",
/* 0x50 */ "READ DISC INFORMATION",
/* 0x51 */ "READ TRACK INFORMATION",
/* 0x52 */ "RESERVE TRACK",
/* 0x53 */ "SEND OPC INFORMATION",
/* 0x54 */ "MODE SELECT (10)",
/* 0x55 */ "RESERVE (10)",
/* 0x56 */ "RELEASE (10)",
/* 0x57 */ "REPAIR TRACK",
/* 0x58 */ "MODE SENSE (10)",
/* 0x5a */ "READ BUFFER CAPACITY",
/* 0x5c */ "SEND CUE SHEET",
/* 0x5d */ "PERSISTENT RESERVE IN",
/* 0x5e */ "PERSISTENT RESERVE OUT",
/* 0x5f */ "WRITE FILEMARKS (16)",
/* 0x80 */ "READ REVERSE (16)",
/* 0x81 */ "REGENERATE (16)",
/* 0x82 */ "EXTENDED COPY",
/* 0x83 */ "RECEIVE COPY RESULTS",
/* 0x84 */ "ATA COMMAND PASS THROUGH (16)",
/* 0x85 */ "ACCESS CONTROL IN",
/* 0x86 */ "ACCESS CONTROL OUT",
/* 0x87 */ "READ ATTRIBUTE",
/* 0x8c */ "WRITE ATTRIBUTE",
/* 0x8d */ "WRITE AND VERIFY (16)",
/* 0x8e */ "VERIFY (16)",
/* 0x8f */ "PRE-FETCH (16)",
/* 0x90 */ "SYNCHRONIZE CACHE (16)",
/* 0x91 */ "LOCK UNLOCK CACHE (16)",
/* 0x92 */ "WRITE SAME (16)",
/* 0x93 */ "SERVICE ACTION IN (16)",
/* 0x9e */ "SERVICE ACTION OUT (16)",
/* 0x9f */ "REPORT LUNS",
/* 0xa0 */ "PLAY AUDIO (12)",
/* 0xa5 */ "SET READ AHEAD",
/* 0xa7 */ "SERVICE ACTION OUT (12)",
/* 0xa9 */ "SERVICE ACTION IN (12)",
/* 0xab */ "GET PERFORMANCE",
/* 0xac */ "READ DVD STRUCTURE",
/* 0xad */ "WRITE AND VERIFY (12)",
/* 0xae */ "VERIFY (12)",
/* 0xaf */ "SEARCH DATA HIGH (12)",
/* 0xb0 */ "SEARCH DATA EQUAL (12)",
/* 0xb1 */ "SEARCH DATA LOW (12)",
/* 0xb2 */ "SET LIMITS (12)",
/* 0xb3 */ "READ ELEMENT STATUS ATTACHED",
/* 0xb4 */ "REQUEST VOLUME ELEMENT ADDRESS",
/* 0xb5 */ "SET STREAMING",
/* 0xb6 */ "READ DEFECT DATA (12)",
/* 0xb7 */ "READ ELEMENT STATUS",
/* 0xb8 */ "READ CD MSF",
/* 0xb9 */ "SET CD SPEED",
/* 0xbb */ "MECHANISM STATUS",
/* 0xbd */ "SEND DVD STRUCTURE",
/* 0xbf */ {
0x67,
0x02,
"A ADD LOGICAL UNIT FAILED" },
{
0x13,
0x00,
"ADDRESS MARK NOT FOUND FOR DATA FIELD" },
{
0x12,
0x00,
"ADDRESS MARK NOT FOUND FOR ID FIELD" },
{
0x27,
0x03,
"ASSOCIATED WRITE PROTECT" },
{
0x67,
0x06,
"ATTACHMENT OF LOGICAL UNIT FAILED" },
{
0x00,
0x11,
"AUDIO PLAY OPERATION IN PROGRESS" },
{
0x00,
0x12,
"AUDIO PLAY OPERATION PAUSED" },
{
0x00,
0x14,
"AUDIO PLAY OPERATION STOPPED DUE TO ERROR" },
{
0x00,
0x13,
"AUDIO PLAY OPERATION SUCCESSFULLY COMPLETED" },
{
0x66,
0x00,
"AUTOMATIC DOCUMENT FEEDER COVER UP" },
{
0x66,
0x01,
"AUTOMATIC DOCUMENT FEEDER LIFT UP" },
{
0x0C,
0x06,
"BLOCK NOT COMPRESSIBLE" },
{
0x14,
0x04,
"BLOCK SEQUENCE ERROR" },
{
0x29,
0x03,
"BUS DEVICE RESET FUNCTION OCCURRED" },
{
0x11,
0x0E,
"CANNOT DECOMPRESS USING DECLARED ALGORITHM" },
{
0x30,
0x06,
"CANNOT FORMAT MEDIUM - INCOMPATIBLE MEDIUM" },
{
0x30,
0x02,
"CANNOT READ MEDIUM - INCOMPATIBLE FORMAT" },
{
0x30,
0x01,
"CANNOT READ MEDIUM - UNKNOWN FORMAT" },
{
0x30,
0x08,
"CANNOT WRITE - APPLICATION CODE MISMATCH" },
{
0x30,
0x05,
"CANNOT WRITE MEDIUM - INCOMPATIBLE FORMAT" },
{
0x30,
0x04,
"CANNOT WRITE MEDIUM - UNKNOWN FORMAT" },
{
0x52,
0x00,
"CARTRIDGE FAULT" },
{
0x73,
0x00,
"CD CONTROL ERROR" },
{
0x3F,
0x02,
"CHANGED OPERATING DEFINITION" },
{
0x11,
0x06,
"CIRC UNRECOVERED ERROR" },
{
0x30,
0x03,
"CLEANING CARTRIDGE INSTALLED" },
{
0x30,
0x07,
"CLEANING FAILURE" },
{
0x00,
0x17,
"CLEANING REQUESTED" },
{
0x4A,
0x00,
"COMMAND PHASE ERROR" },
{
0x2C,
0x00,
"COMMAND SEQUENCE ERROR" },
{
0x6E,
0x00,
"COMMAND TO LOGICAL UNIT FAILED" },
{
0x2F,
0x00,
"COMMANDS CLEARED BY ANOTHER INITIATOR" },
{
0x0C,
0x04,
"COMPRESSION CHECK MISCOMPARE ERROR" },
{
0x67,
0x00,
"CONFIGURATION FAILURE" },
{
0x67,
0x01,
"CONFIGURATION OF INCAPABLE LOGICAL UNITS FAILED" },
{
0x2B,
0x00,
"COPY CANNOT EXECUTE SINCE HOST CANNOT DISCONNECT" },
{
0x67,
0x07,
"CREATION OF LOGICAL UNIT FAILED" },
{
0x2C,
0x04,
"CURRENT PROGRAM AREA IS EMPTY" },
{
0x2C,
0x03,
"CURRENT PROGRAM AREA IS NOT EMPTY" },
{
0x30,
0x09,
"CURRENT SESSION NOT FIXATED FOR APPEND" },
{
0x0C,
0x05,
"DATA EXPANSION OCCURRED DURING COMPRESSION" },
{
0x69,
0x00,
"DATA LOSS ON LOGICAL UNIT" },
{
0x41,
0x00,
"DATA PATH FAILURE (SHOULD USE 40 NN)" },
{
0x4B,
0x00,
"DATA PHASE ERROR" },
{
0x11,
0x07,
"DATA RE-SYNCHRONIZATION ERROR" },
{
0x16,
0x03,
"DATA SYNC ERROR - DATA AUTO-REALLOCATED" },
{
0x16,
0x01,
"DATA SYNC ERROR - DATA REWRITTEN" },
{
0x16,
0x04,
"DATA SYNC ERROR - RECOMMEND REASSIGNMENT" },
{
0x16,
0x02,
"DATA SYNC ERROR - RECOMMEND REWRITE" },
{
0x16,
0x00,
"DATA SYNCHRONIZATION MARK ERROR" },
{
0x11,
0x0D,
"DE-COMPRESSION CRC ERROR" },
{
0x71,
0x00,
"DECOMPRESSION EXCEPTION LONG ALGORITHM ID" },
{
0x70,
0xFF,
"DECOMPRESSION EXCEPTION SHORT ALGORITHM ID OF NN" },
{
0x19,
0x00,
"DEFECT LIST ERROR" },
{
0x19,
0x03,
"DEFECT LIST ERROR IN GROWN LIST" },
{
0x19,
0x02,
"DEFECT LIST ERROR IN PRIMARY LIST" },
{
0x19,
0x01,
"DEFECT LIST NOT AVAILABLE" },
{
0x1C,
0x00,
"DEFECT LIST NOT FOUND" },
{
0x32,
0x01,
"DEFECT LIST UPDATE FAILURE" },
{
0x29,
0x04,
"DEVICE INTERNAL RESET" },
{
0x40,
0xFF,
"DIAGNOSTIC FAILURE ON COMPONENT NN (80H-FFH)" },
{
0x66,
0x02,
"DOCUMENT JAM IN AUTOMATIC DOCUMENT FEEDER" },
{
0x66,
0x03,
"DOCUMENT MISS FEED AUTOMATIC IN DOCUMENT FEEDER" },
{
0x72,
0x04,
"EMPTY OR PARTIALLY WRITTEN RESERVED TRACK" },
{
0x34,
0x00,
"ENCLOSURE FAILURE" },
{
0x35,
0x00,
"ENCLOSURE SERVICES FAILURE" },
{
0x35,
0x03,
"ENCLOSURE SERVICES TRANSFER FAILURE" },
{
0x35,
0x04,
"ENCLOSURE SERVICES TRANSFER REFUSED" },
{
0x35,
0x02,
"ENCLOSURE SERVICES UNAVAILABLE" },
{
0x3B,
0x0F,
"END OF MEDIUM REACHED" },
{
0x63,
0x00,
"END OF USER AREA ENCOUNTERED ON THIS TRACK" },
{
0x00,
0x05,
"END-OF-DATA DETECTED" },
{
0x14,
0x03,
"END-OF-DATA NOT FOUND" },
{
0x51,
0x00,
"ERASE FAILURE" },
{
0x0A,
0x00,
"ERROR LOG OVERFLOW" },
{
0x11,
0x10,
"ERROR READING ISRC NUMBER" },
{
0x11,
0x0F,
"ERROR READING UPC/EAN NUMBER" },
{
0x11,
0x02,
"ERROR TOO LONG TO CORRECT" },
{
0x03,
0x02,
"EXCESSIVE WRITE ERRORS" },
{
0x67,
0x04,
"EXCHANGE OF LOGICAL UNIT FAILED" },
{
0x3B,
0x07,
"FAILED TO SENSE BOTTOM-OF-FORM" },
{
0x3B,
0x06,
"FAILED TO SENSE TOP-OF-FORM" },
{
0x5D,
0x00,
"FAILURE PREDICTION THRESHOLD EXCEEDED" },
{
0x5D,
0xFF,
"FAILURE PREDICTION THRESHOLD EXCEEDED (FALSE)" },
{
0x00,
0x01,
"FILEMARK DETECTED" },
{
0x14,
0x02,
"FILEMARK OR SETMARK NOT FOUND" },
{
0x09,
0x02,
"FOCUS SERVO FAILURE" },
{
0x31,
0x01,
"FORMAT COMMAND FAILED" },
{
0x58,
0x00,
"GENERATION DOES NOT EXIST" },
{
0x1C,
0x02,
"GROWN DEFECT LIST NOT FOUND" },
{
0x27,
0x01,
"HARDWARE WRITE PROTECTED" },
{
0x09,
0x04,
"HEAD SELECT FAULT" },
{
0x00,
0x06,
"I/O PROCESS TERMINATED" },
{
0x10,
0x00,
"ID CRC OR ECC ERROR" },
{
0x5E,
0x03,
"IDLE CONDITION ACTIVATED BY COMMAND" },
{
0x5E,
0x01,
"IDLE CONDITION ACTIVATED BY TIMER" },
{
0x22,
0x00,
"ILLEGAL FUNCTION (USE 20 00, 24 00, OR 26 00)" },
{
0x64,
0x00,
"ILLEGAL MODE FOR THIS TRACK" },
{
0x28,
0x01,
"IMPORT OR EXPORT ELEMENT ACCESSED" },
{
0x30,
0x00,
"INCOMPATIBLE MEDIUM INSTALLED" },
{
0x11,
0x08,
"INCOMPLETE BLOCK READ" },
{
0x6A,
0x00,
"INFORMATIONAL, REFER TO LOG" },
{
0x48,
0x00,
"INITIATOR DETECTED ERROR MESSAGE RECEIVED" },
{
0x3F,
0x03,
"INQUIRY DATA HAS CHANGED" },
{
0x44,
0x00,
"INTERNAL TARGET FAILURE" },
{
0x3D,
0x00,
"INVALID BITS IN IDENTIFY MESSAGE" },
{
0x2C,
0x02,
"INVALID COMBINATION OF WINDOWS SPECIFIED" },
{
0x20,
0x00,
"INVALID COMMAND OPERATION CODE" },
{
0x21,
0x01,
"INVALID ELEMENT ADDRESS" },
{
0x24,
0x00,
"INVALID FIELD IN CDB" },
{
0x26,
0x00,
"INVALID FIELD IN PARAMETER LIST" },
{
0x49,
0x00,
"INVALID MESSAGE ERROR" },
{
0x64,
0x01,
"INVALID PACKET SIZE" },
{
0x26,
0x04,
"INVALID RELEASE OF ACTIVE PERSISTENT RESERVATION" },
{
0x11,
0x05,
"L-EC UNCORRECTABLE ERROR" },
{
0x60,
0x00,
"LAMP FAILURE" },
{
0x5B,
0x02,
"LOG COUNTER AT MAXIMUM" },
{
0x5B,
0x00,
"LOG EXCEPTION" },
{
0x5B,
0x03,
"LOG LIST CODES EXHAUSTED" },
{
0x2A,
0x02,
"LOG PARAMETERS CHANGED" },
{
0x21,
0x00,
"LOGICAL BLOCK ADDRESS OUT OF RANGE" },
{
0x08,
0x03,
"LOGICAL UNIT COMMUNICATION CRC ERROR (ULTRA-DMA/32)" },
{
0x08,
0x00,
"LOGICAL UNIT COMMUNICATION FAILURE" },
{
0x08,
0x02,
"LOGICAL UNIT COMMUNICATION PARITY ERROR" },
{
0x08,
0x01,
"LOGICAL UNIT COMMUNICATION TIME-OUT" },
{
0x05,
0x00,
"LOGICAL UNIT DOES NOT RESPOND TO SELECTION" },
{
0x4C,
0x00,
"LOGICAL UNIT FAILED SELF-CONFIGURATION" },
{
0x3E,
0x01,
"LOGICAL UNIT FAILURE" },
{
0x3E,
0x00,
"LOGICAL UNIT HAS NOT SELF-CONFIGURED YET" },
{
0x04,
0x01,
"LOGICAL UNIT IS IN PROCESS OF BECOMING READY" },
{
0x68,
0x00,
"LOGICAL UNIT NOT CONFIGURED" },
{
0x04,
0x00,
"LOGICAL UNIT NOT READY, CAUSE NOT REPORTABLE" },
{
0x04,
0x04,
"LOGICAL UNIT NOT READY, FORMAT IN PROGRESS" },
{
0x04,
0x02,
"LOGICAL UNIT NOT READY, INITIALIZING CMD. REQUIRED" },
{
0x04,
0x08,
"LOGICAL UNIT NOT READY, LONG WRITE IN PROGRESS" },
{
0x04,
0x03,
"LOGICAL UNIT NOT READY, MANUAL INTERVENTION REQUIRED" },
{
0x04,
0x07,
"LOGICAL UNIT NOT READY, OPERATION IN PROGRESS" },
{
0x04,
0x05,
"LOGICAL UNIT NOT READY, REBUILD IN PROGRESS" },
{
0x04,
0x06,
"LOGICAL UNIT NOT READY, RECALCULATION IN PROGRESS" },
{
0x25,
0x00,
"LOGICAL UNIT NOT SUPPORTED" },
{
0x27,
0x02,
"LOGICAL UNIT SOFTWARE WRITE PROTECTED" },
{
0x5E,
0x00,
"LOW POWER CONDITION ON" },
{
0x15,
0x01,
"MECHANICAL POSITIONING ERROR" },
{
0x53,
0x00,
"MEDIA LOAD OR EJECT FAILED" },
{
0x3B,
0x0D,
"MEDIUM DESTINATION ELEMENT FULL" },
{
0x31,
0x00,
"MEDIUM FORMAT CORRUPTED" },
{
0x3B,
0x13,
"MEDIUM MAGAZINE INSERTED" },
{
0x3B,
0x14,
"MEDIUM MAGAZINE LOCKED" },
{
0x3B,
0x11,
"MEDIUM MAGAZINE NOT ACCESSIBLE" },
{
0x3B,
0x12,
"MEDIUM MAGAZINE REMOVED" },
{
0x3B,
0x15,
"MEDIUM MAGAZINE UNLOCKED" },
{
0x3A,
0x00,
"MEDIUM NOT PRESENT" },
{
0x3A,
0x01,
"MEDIUM NOT PRESENT - TRAY CLOSED" },
{
0x3A,
0x02,
"MEDIUM NOT PRESENT - TRAY OPEN" },
{
0x53,
0x02,
"MEDIUM REMOVAL PREVENTED" },
{
0x3B,
0x0E,
"MEDIUM SOURCE ELEMENT EMPTY" },
{
0x43,
0x00,
"MESSAGE ERROR" },
{
0x3F,
0x01,
"MICROCODE HAS BEEN CHANGED" },
{
0x1D,
0x00,
"MISCOMPARE DURING VERIFY OPERATION" },
{
0x11,
0x0A,
"MISCORRECTED ERROR" },
{
0x2A,
0x01,
"MODE PARAMETERS CHANGED" },
{
0x67,
0x03,
"MODIFICATION OF LOGICAL UNIT FAILED" },
{
0x69,
0x01,
"MULTIPLE LOGICAL UNIT FAILURES" },
{
0x07,
0x00,
"MULTIPLE PERIPHERAL DEVICES SELECTED" },
{
0x11,
0x03,
"MULTIPLE READ ERRORS" },
{
0x00,
0x00,
"NO ADDITIONAL SENSE INFORMATION" },
{
0x00,
0x15,
"NO CURRENT AUDIO STATUS TO RETURN" },
{
0x32,
0x00,
"NO DEFECT SPARE LOCATION AVAILABLE" },
{
0x11,
0x09,
"NO GAP FOUND" },
{
0x06,
0x00,
"NO REFERENCE POSITION FOUND" },
{
0x02,
0x00,
"NO SEEK COMPLETE" },
{
0x03,
0x01,
"NO WRITE CURRENT" },
{
0x28,
0x00,
"NOT READY TO READY CHANGE, MEDIUM MAY HAVE CHANGED" },
{
0x00,
0x16,
"OPERATION IN PROGRESS" },
{
0x5A,
0x01,
"OPERATOR MEDIUM REMOVAL REQUEST" },
{
0x5A,
0x00,
"OPERATOR REQUEST OR STATE CHANGE INPUT" },
{
0x5A,
0x03,
"OPERATOR SELECTED WRITE PERMIT" },
{
0x5A,
0x02,
"OPERATOR SELECTED WRITE PROTECT" },
{
0x61,
0x02,
"OUT OF FOCUS" },
{
0x4E,
0x00,
"OVERLAPPED COMMANDS ATTEMPTED" },
{
0x2D,
0x00,
"OVERWRITE ERROR ON UPDATE IN PLACE" },
{
0x63,
0x01,
"PACKET DOES NOT FIT IN AVAILABLE SPACE" },
{
0x3B,
0x05,
"PAPER JAM" },
{
0x1A,
0x00,
"PARAMETER LIST LENGTH ERROR" },
{
0x26,
0x01,
"PARAMETER NOT SUPPORTED" },
{
0x26,
0x02,
"PARAMETER VALUE INVALID" },
{
0x2A,
0x00,
"PARAMETERS CHANGED" },
{
0x1F,
0x00,
"PARTIAL DEFECT LIST TRANSFER" },
{
0x03,
0x00,
"PERIPHERAL DEVICE WRITE FAULT" },
{
0x27,
0x05,
"PERMANENT WRITE PROTECT" },
{
0x27,
0x04,
"PERSISTENT WRITE PROTECT" },
{
0x50,
0x02,
"POSITION ERROR RELATED TO TIMING" },
{
0x3B,
0x0C,
"POSITION PAST BEGINNING OF MEDIUM" },
{
0x3B,
0x0B,
"POSITION PAST END OF MEDIUM" },
{
0x15,
0x02,
"POSITIONING ERROR DETECTED BY READ OF MEDIUM" },
{
0x73,
0x01,
"POWER CALIBRATION AREA ALMOST FULL" },
{
0x73,
0x03,
"POWER CALIBRATION AREA ERROR" },
{
0x73,
0x02,
"POWER CALIBRATION AREA IS FULL" },
{
0x29,
0x01,
"POWER ON OCCURRED" },
{
0x29,
0x00,
"POWER ON, RESET, OR BUS DEVICE RESET OCCURRED" },
{
0x42,
0x00,
"POWER-ON OR SELF-TEST FAILURE (SHOULD USE 40 NN)" },
{
0x1C,
0x01,
"PRIMARY DEFECT LIST NOT FOUND" },
{
0x73,
0x05,
"PROGRAM MEMORY AREA IS FULL" },
{
0x73,
0x04,
"PROGRAM MEMORY AREA UPDATE FAILURE" },
{
0x40,
0x00,
"RAM FAILURE (SHOULD USE 40 NN)" },
{
0x15,
0x00,
"RANDOM POSITIONING ERROR" },
{
0x11,
0x11,
"READ ERROR - LOSS OF STREAMING" },
{
0x3B,
0x0A,
"READ PAST BEGINNING OF MEDIUM" },
{
0x3B,
0x09,
"READ PAST END OF MEDIUM" },
{
0x11,
0x01,
"READ RETRIES EXHAUSTED" },
{
0x6C,
0x00,
"REBUILD FAILURE OCCURRED" },
{
0x6D,
0x00,
"RECALCULATE FAILURE OCCURRED" },
{
0x14,
0x01,
"RECORD NOT FOUND" },
{
0x14,
0x06,
"RECORD NOT FOUND - DATA AUTO-REALLOCATED" },
{
0x14,
0x05,
"RECORD NOT FOUND - RECOMMEND REASSIGNMENT" },
{
0x14,
0x00,
"RECORDED ENTITY NOT FOUND" },
{
0x18,
0x02,
"RECOVERED DATA - DATA AUTO-REALLOCATED" },
{
0x18,
0x05,
"RECOVERED DATA - RECOMMEND REASSIGNMENT" },
{
0x18,
0x06,
"RECOVERED DATA - RECOMMEND REWRITE" },
{
0x17,
0x05,
"RECOVERED DATA USING PREVIOUS SECTOR ID" },
{
0x18,
0x03,
"RECOVERED DATA WITH CIRC" },
{
0x18,
0x07,
"RECOVERED DATA WITH ECC - DATA REWRITTEN" },
{
0x18,
0x01,
"RECOVERED DATA WITH ERROR CORR. & RETRIES APPLIED" },
{
0x18,
0x00,
"RECOVERED DATA WITH ERROR CORRECTION APPLIED" },
{
0x18,
0x04,
"RECOVERED DATA WITH L-EC" },
{
0x17,
0x03,
"RECOVERED DATA WITH NEGATIVE HEAD OFFSET" },
{
0x17,
0x00,
"RECOVERED DATA WITH NO ERROR CORRECTION APPLIED" },
{
0x17,
0x02,
"RECOVERED DATA WITH POSITIVE HEAD OFFSET" },
{
0x17,
0x01,
"RECOVERED DATA WITH RETRIES" },
{
0x17,
0x04,
"RECOVERED DATA WITH RETRIES AND/OR CIRC APPLIED" },
{
0x17,
0x06,
"RECOVERED DATA WITHOUT ECC - DATA AUTO-REALLOCATED" },
{
0x17,
0x09,
"RECOVERED DATA WITHOUT ECC - DATA REWRITTEN" },
{
0x17,
0x07,
"RECOVERED DATA WITHOUT ECC - RECOMMEND REASSIGNMENT" },
{
0x17,
0x08,
"RECOVERED DATA WITHOUT ECC - RECOMMEND REWRITE" },
{
0x1E,
0x00,
"RECOVERED ID WITH ECC CORRECTION" },
{
0x6B,
0x01,
"REDUNDANCY LEVEL GOT BETTER" },
{
0x6B,
0x02,
"REDUNDANCY LEVEL GOT WORSE" },
{
0x67,
0x05,
"REMOVE OF LOGICAL UNIT FAILED" },
{
0x3B,
0x08,
"REPOSITION ERROR" },
{
0x2A,
0x03,
"RESERVATIONS PREEMPTED" },
{
0x36,
0x00,
"RIBBON, INK, OR TONER FAILURE" },
{
0x37,
0x00,
"ROUNDED PARAMETER" },
{
0x5C,
0x00,
"RPL STATUS CHANGE" },
{
0x39,
0x00,
"SAVING PARAMETERS NOT SUPPORTED" },
{
0x62,
0x00,
"SCAN HEAD POSITIONING ERROR" },
{
0x29,
0x02,
"SCSI BUS RESET OCCURRED" },
{
0x47,
0x00,
"SCSI PARITY ERROR" },
{
0x54,
0x00,
"SCSI TO HOST SYSTEM INTERFACE FAILURE" },
{
0x45,
0x00,
"SELECT OR RESELECT FAILURE" },
{
0x3B,
0x00,
"SEQUENTIAL POSITIONING ERROR" },
{
0x72,
0x00,
"SESSION FIXATION ERROR" },
{
0x72,
0x03,
"SESSION FIXATION ERROR - INCOMPLETE TRACK IN SESSION" },
{
0x72,
0x01,
"SESSION FIXATION ERROR WRITING LEAD-IN" },
{
0x72,
0x02,
"SESSION FIXATION ERROR WRITING LEAD-OUT" },
{
0x00,
0x03,
"SETMARK DETECTED" },
{
0x3B,
0x04,
"SLEW FAILURE" },
{
0x09,
0x03,
"SPINDLE SERVO FAILURE" },
{
0x5C,
0x02,
"SPINDLES NOT SYNCHRONIZED" },
{
0x5C,
0x01,
"SPINDLES SYNCHRONIZED" },
{
0x5E,
0x04,
"STANDBY CONDITION ACTIVATED BY COMMAND" },
{
0x5E,
0x02,
"STANDBY CONDITION ACTIVATED BY TIMER" },
{
0x6B,
0x00,
"STATE CHANGE HAS OCCURRED" },
{
0x1B,
0x00,
"SYNCHRONOUS DATA TRANSFER ERROR" },
{
0x55,
0x01,
"SYSTEM BUFFER FULL" },
{
0x55,
0x00,
"SYSTEM RESOURCE FAILURE" },
{
0x4D,
0xFF,
"TAGGED OVERLAPPED COMMANDS (NN = QUEUE TAG)" },
{
0x33,
0x00,
"TAPE LENGTH ERROR" },
{
0x3B,
0x03,
"TAPE OR ELECTRONIC VERTICAL FORMS UNIT NOT READY" },
{
0x3B,
0x01,
"TAPE POSITION ERROR AT BEGINNING-OF-MEDIUM" },
{
0x3B,
0x02,
"TAPE POSITION ERROR AT END-OF-MEDIUM" },
{
0x3F,
0x00,
"TARGET OPERATING CONDITIONS HAVE CHANGED" },
{
0x5B,
0x01,
"THRESHOLD CONDITION MET" },
{
0x26,
0x03,
"THRESHOLD PARAMETERS NOT SUPPORTED" },
{
0x3E,
0x02,
"TIMEOUT ON LOGICAL UNIT" },
{
0x2C,
0x01,
"TOO MANY WINDOWS SPECIFIED" },
{
0x09,
0x00,
"TRACK FOLLOWING ERROR" },
{
0x09,
0x01,
"TRACKING SERVO FAILURE" },
{
0x61,
0x01,
"UNABLE TO ACQUIRE VIDEO" },
{
0x57,
0x00,
"UNABLE TO RECOVER TABLE-OF-CONTENTS" },
{
0x53,
0x01,
"UNLOAD TAPE FAILURE" },
{
0x11,
0x00,
"UNRECOVERED READ ERROR" },
{
0x11,
0x04,
"UNRECOVERED READ ERROR - AUTO REALLOCATE FAILED" },
{
0x11,
0x0B,
"UNRECOVERED READ ERROR - RECOMMEND REASSIGNMENT" },
{
0x11,
0x0C,
"UNRECOVERED READ ERROR - RECOMMEND REWRITE THE DATA" },
{
0x46,
0x00,
"UNSUCCESSFUL SOFT RESET" },
{
0x35,
0x01,
"UNSUPPORTED ENCLOSURE FUNCTION" },
{
0x59,
0x00,
"UPDATED BLOCK READ" },
{
0x61,
0x00,
"VIDEO ACQUISITION ERROR" },
{
0x65,
0x00,
"VOLTAGE FAULT" },
{
0x0B,
0x00,
"WARNING" },
{
0x0B,
0x02,
"WARNING - ENCLOSURE DEGRADED" },
{
0x0B,
0x01,
"WARNING - SPECIFIED TEMPERATURE EXCEEDED" },
{
0x50,
0x00,
"WRITE APPEND ERROR" },
{
0x50,
0x01,
"WRITE APPEND POSITION ERROR" },
{
0x0C,
0x00,
"WRITE ERROR" },
{
0x0C,
0x02,
"WRITE ERROR - AUTO REALLOCATION FAILED" },
{
0x0C,
0x09,
"WRITE ERROR - LOSS OF STREAMING" },
{
0x0C,
0x0A,
"WRITE ERROR - PADDING BLOCKS ADDED" },
{
0x0C,
0x03,
"WRITE ERROR - RECOMMEND REASSIGNMENT" },
{
0x0C,
0x01,
"WRITE ERROR - RECOVERED WITH AUTO REALLOCATION" },
{
0x0C,
0x08,
"WRITE ERROR - RECOVERY FAILED" },
{
0x0C,
0x07,
"WRITE ERROR - RECOVERY NEEDED" },
{
0x27,
0x00,
"WRITE PROTECTED" },
* Return the plain text of an ATA command for debugging purposes. * Don't allocate the string as we use this function in Log() statements. * Return the plain text of a SCSI command for debugging purposes. * Don't allocate the string as we use this function in Log() statements. * Return the plain text of a SCSI sense code. * Don't allocate the string as we use this function in Log() statements. return "(SCSI sense out of range)";
* Return the plain text of an extended SCSI sense key. * Don't allocate the string as we use this function in Log() statements. /* Linear search. Doesn't hurt as we don't call this function very frequently */ return "(Unknown extended sense code)";
* Log the write parameters mode page into a given buffer. case 0x01:
pcsz =
"Track At Once";
break;
case 0x02:
pcsz =
"Session At Once";
break;
case 0x03:
pcsz =
"RAW";
break;
case 0x04:
pcsz =
"Layer Jump Recording";
break;
case 0x00:
pcsz =
"No B0 pointer, no next session";
break;
case 0x01:
pcsz =
"B0 pointer=FF:FF:FF, no next session";
break;
case 0x02:
pcsz =
"Reserved";
break;
case 0x03:
pcsz =
"Next session allowed";
break;
default:
pcsz =
"Impossible multi session field value";
break;
case 0:
pcsz =
"Raw data (2352)";
break;
case 1:
pcsz =
"Raw data with P and Q Sub-channel (2368)";
break;
case 2:
pcsz =
"Raw data with P-W Sub-channel (2448)";
break;
case 3:
pcsz =
"Raw data with raw P-W Sub-channel (2448)";
break;
case 8:
pcsz =
"Mode 1 (ISO/IEC 10149) (2048)";
break;
case 9:
pcsz =
"Mode 2 (ISO/IEC 10149) (2336)";
break;
case 10:
pcsz =
"Mode 2 (CD-ROM XA, form 1) (2048)";
break;
case 11:
pcsz =
"Mode 2 (CD-ROM XA, form 1) (2056)";
break;
case 12:
pcsz =
"Mode 2 (CD-ROM XA, form 2) (2324)";
break;
case 13:
pcsz =
"Mode 2 (CD-ROM XA, form 1, form 2 or mixed form) (2332)";
break;
default:
pcsz =
"Reserved or vendor specific Data Block Type Code";
break;
case 0x00:
pcsz =
"CD-DA or CD-ROM or other data discs";
break;
case 0x10:
pcsz =
"CD-I Disc";
break;
case 0x20:
pcsz =
"CD-ROM XA Disc";
break;
default:
pcsz =
"Reserved";
break;
* Log a mode page to a human readable form. * @returns VBox status code. * @retval VERR_BUFFER_OVERFLOW if the given buffer is not large enough. * The buffer might contain valid data though. * @param pszBuffer The buffer to log into. * @param cchBuffer Size of the buffer in characters. * @param pbModePage The mode page buffer. * @param cbModePage Size of the mode page buffer in bytes.