© Sonic Solutions. All Rights Reserved.
This chapter provides a reference to the definitions used by PrimoSDK and the error codes returned from PrimoSDK's functions. These values and codes are covered in the following sections:
For a description of the PrimoSDK functions themselves see the PrimoSDK Function Reference in Chapter 6, or find a specific call by name in Chapter 5, Alphabetic Call List.
4.1 Media and Unit Types | go: top |
PrimoSDK includes several functions that may be used to retrieve information about units (drives) and the discs (media) they contain. The following section discusses possible values for the parameters that output unit- and media-related information from those functions.
4.1.1 MediumType Values | go: top | section |
The most general information about a disc is its media type as output from PrimoSDK_DiscInfoEx with the parameter pdwMediumType. This parameter's four possible values are quite broad, and are intended to roughly categorize the disc in such a way that it is easy to decide how to proceed in a recording operation. The following table shows the meaning of these values:
Name | Value | Description |
PRIMOSDK_SILVER | 0x00000301 | A disc that is not recordable. It may be a stamped (silver) disc or a gold (recordable) disc that has been recorded Disc-At-Once. |
PRIMOSDK_COMPLIANTGOLD | 0x00000302 | A gold disc or rewritable disc that contains data but remains open, allowing the appending of additional data. |
PRIMOSDK_OTHERGOLD | 0x00000303 | A gold disc to which it is not possible for PrimoSDK to append additional data. |
PRIMOSDK_BLANK | 0x00000304 | A blank gold disc or blank rewritable disc. |
4.1.2 MediumFormat Values | go: top | section |
For more specific format information (other than the physical type of the disc), there is the parameter pdwMediumFormat output from PrimoSDK_DiscInfoEx. The following table shows the possible values for the disc's format:
Name | Value | Description |
PRIMOSDK_B1 | 0x000000B1 | Blank disc |
PRIMOSDK_D1 | 0x000000D1 | Data Mode 1 DAO (e.g. most data CD-ROMs or typical DOS games) |
PRIMOSDK_D2 | 0x000000D2 | Kodak Photo CD: Data multisession Mode 2 TAO |
PRIMOSDK_D3 | 0x000000D3 | Gold Data Mode 1: Data multisession Mode 1, closed |
PRIMOSDK_D4 | 0x000000D4 | Gold Data Mode 2: Data multisession Mode 2, closed |
PRIMOSDK_D5 | 0x000000D5 | Data Mode 2 DAO (silver mastered from Corel or Toast gold) |
PRIMOSDK_D6 | 0x000000D6 | CDRFS: Fixed packet (from Sony packet-writing solution) |
PRIMOSDK_D7 | 0x000000D7 | Packet writing |
PRIMOSDK_D8 | 0x000000D8 | Gold Data Mode 1: Data multisession Mode 1, open |
PRIMOSDK_D9 | 0x000000D9 | Gold Data Mode 2: Data multisession Mode 2, open |
PRIMOSDK_A1 | 0x000000A1 | Audio DAO/SAO/TAO (like most silver music discs) or closed gold audio |
PRIMOSDK_A2 | 0x000000A2 | Audio Gold disc with session not closed (TAO or SAO) |
PRIMOSDK_A3 | 0x000000A3 | First type of Enhanced CD (aborted) |
PRIMOSDK_A4 | 0x000000A4 | CD Extra, Blue Book standard |
PRIMOSDK_A5 | 0x000000A5 | Audio TAO with session not written (in-progress compilation) |
PRIMOSDK_M1 | 0x000000E1 | First track data, others audio |
PRIMOSDK_M2 | 0x000000E2 | Mixed-mode made TAO |
PRIMOSDK_M3 | 0x000000E3 | Kodak Portfolio (as per the Kodak standard) |
PRIMOSDK_M4 | 0x000000E4 | Video CD (as the White Book standard) |
PRIMOSDK_M5 | 0x000000E5 | CD-i (as the Green Book standard) |
PRIMOSDK_M6 | 0x000000E6 | PlayStation (Sony games) |
PRIMOSDK_F1 | 0x000000F1 | Obsolete |
PRIMOSDK_F2 | 0x000000F2 | Obsolete for restricted overwrite DVD (DLA DVD-RW) |
PRIMOSDK_F3 | 0x000000F3 | Completed (non-appendable) DVD (DVD-ROM or closed recordable) |
PRIMOSDK_F4 | 0x000000F4 | Incremental DVD with appendable zone (DLA DVD-R and DVD+RW) |
PRIMOSDK_F5 | 0x000000F5 | Layer Jump DVD-R9 Disc |
PRIMOSDK_F8 | 0x000000F8 | Recordable DVD-R, open |
PRIMOSDK_FA | 0x000000FA | DVD-RAM cartridge |
PRIMOSDK_GENERICCD | 0x000000C1 | Other type of CD. |
4.1.3 Medium and Unit Values | go: top | section |
Medium values reveal the physical media type of the disc, and are output from PrimoSDK_DiscInfo2 with the parameters pdwMedium and/or pdwMediumEx, as well as from PrimoSDK_UnitInfo2 with pdwTypes. The same values are also output with pdwType to identify the unit type in PrimoSDK_UnitInfo.
The following table shows the possible media type and unit type values. Except where noted, the values shown apply to any of the four parameters mentioned immediately above:
Name | Value | Description |
PRIMOSDK_CDROM | 0x00000201 | CD-ROM DDCD-ROM (only for pdwMedium, pdwTypes) |
PRIMOSDK_CDR | 0x00000202 | CD-R DDCD-R (only for pdwMedium, pdwTypes) |
PRIMOSDK_CDRW | 0x00000203 | CD-RW DDCD-RW (only for pdwMedium, pdwTypes) |
PRIMOSDK_DVDR | 0x00000204 | DVD-R |
PRIMOSDK_DVDROM | 0x00000205 | DVD-ROM (any type) |
PRIMOSDK_DVDRAM | 0x00000206 | DVD-RAM |
PRIMOSDK_DVDRW | 0x00000207 | DVD-RW |
PRIMOSDK_ROBOTICS (valid for pdwType only) |
0x00000208 | Identifies the unit as robotic changer. |
PRIMOSDK_DVDPRW | 0x00000209 | DVD+RW |
PRIMOSDK_DVDPR | 0x00000210 | DVD+R |
PRIMOSDK_DDCDROM (valid for pdwMediumEx only) |
0x00000211 | Double-density CD-ROM |
PRIMOSDK_DDCDR (valid for pdwMediumEx only) |
0x00000212 | Double-density CD-R |
PRIMOSDK_DDCDRW (valid for pdwMediumEx only) |
0x00000213 | Double-density CD-RW |
PRIMOSDK_DVDPR9 | 0x00000214 | dual-layer DVD+R |
PRIMOSDK_DVDR9 | 0x00000215 | dual-layer DVD-R |
PRIMOSDK_BDRE | 0x00000216 | Rewritable BD disc |
PRIMOSDK_BDR | 0x00000217 | Write-once BD disc |
PRIMOSDK_ROM | 0x00000218 | BD-ROM disc |
PRIMOSDK_HDDVDROM | 0x00000221 | HD DVD-ROM disc |
PRIMOSDK_OTHER | 0x00000220 | other types |
4.2 Buss and Track Types | go: top |
In addition to the media types discussed above, PrimoSDK uses specific values for additional types covering busses and tracks.
4.2.1 Buss Types | go: top | section |
The function PrimoSDK_UnitInfo2 includes the capability of retrieving the type of Buss to which the specified unit is connected. The following table shows the values for various supported buss types:
Name | Value | Description |
PRIMOSDK_ATAPI | 1 | AT Attachment Packet Interface (ATAPI) |
PRIMOSDK_SCSI | 2 | Small Computer Serial Interface (SCSI) |
PRIMOSDK_1394 | 3 | IEEE 1394 (a.k.a. "FireWire" or iLink) |
PRIMOSDK_USB | 4 | Universal Serial Bus 1 (USB) |
PRIMOSDK_USB2 | 5 | Universal Serial Bus 2 (USB 2) |
PRIMOSDK_Unknown | 0 |
4.2.2 Track Type | go: top | section |
The function PrimoSDK_TrackInfo includes the capability of retrieving the type of the specified Track. The following table shows the values for the supported track types:
Name | Value | Description |
PRIMOSDK_AUDIO_TRACK | 0 | CD-Audio format |
PRIMOSDK_MODE1_TRACK | 1 | CD-ROM data format (three layers of error correction) |
PRIMOSDK_MODE2_TRACK | 2 | CD-ROM data format (two layers of data correction) |
4.3 PrimoSDK Error Codes | go: top |
This section lists the error codes returned by PrimoSDK functions. The codes returned by each call are also discussed in the description of that call in the PrimoSDK Function Reference, where there may be more context-specific notes on the meaning of the error:
Name | Value | Description |
PRIMOSDK_OK | 0 | The operation completed successfully. |
PRIMOSDK_CMDSEQUENCE | 1 | The function was used in the incorrect sequence. Another PrimoSDK API is required before calling this function. |
PRIMOSDK_NOASPI | 2 | The ASPI layer is not loading or is in error. |
PRIMOSDK_INTERR | 3 | An internal error occured. |
PRIMOSDK_BADPARAM | 4 | The function was passed an invalid parameter. |
PRIMOSDK_ALREADYEXIST | 6 | The function was passed a pointer to a directory element that already exists in the target data structure. |
PRIMOSDK_NOTREADABLE | 7 | The function was passed a pointer to source file that either cannot be found or is not readable. |
PRIMOSDK_NOSPACE | 8 | Completion of the operation would result in too many files for the system memory. |
PRIMOSDK_INVALIDMEDIUM | 9 | The function was passed a pointer to a target unit containing media that is not blank. |
PRIMOSDK_RUNNING | 10 | The operation whose status is being queried is currently running. |
PRIMOSDK_BUR | 11 | The unit whose status is being queried went into buffer underrun. |
PRIMOSDK_SCSIERROR | 12 | The unit whose status is being queried experienced a communication error. |
PRIMOSDK_UNITERROR | 13 | The SCSI command sent by the function returned a check condition. |
PRIMOSDK_NOTREADY | 14 | The function was passed a pointer to a unit that is not ready. |
PRIMOSDK_INVALIDSOURCE | 16 | The function was passed a pointer to a disc or file that is not valid. |
PRIMOSDK_INCOMPATIBLE | 17 | The function was passed a pointer to an image from a type of disc that is not compatible with the capabilities of the recorder. |
PRIMOSDK_FILEERROR | 18 | The function was passed a pointer to a file that cannot be found. |
PRIMOSDK_ITSADEMO | 23 | The operation requested by the function would exceed the limits allowed by the Demo version of PrimoSDK. |
PRIMOSDK_USERABORT | 24 | The operation whose status is being queried was aborted because of a call with the PRIMOSDK_ABORT flag. |
PRIMOSDK_BADHANDLE | 25 | The function was passed an invalid PrimoSDK handle. |
PRIMOSDK_BADUNIT | 26 | The function was passed a pointer to a unit that does not exist. |
PRIMOSDK_ERRORLOADING | 27 | An error occurred while reading the directory of the specified session/border. |
PRIMOSDK_NOAINCONTROL | 29 | AIN control cannot be activated, typically because PrimoSDK is running under WinASPI instead of PxHelper. |
PRIMOSDK_READERROR | 30 | The unit whose status is being queried reported a reading error. |
PRIMOSDK_WRITEERROR | 31 | The unit whose status is being queried reported a writing error. |
PRIMOSDK_TMPOVERFLOW | 32 | A temporary file went into overflow. |
PRIMOSDK_DVDSTRUCTERROR | 33 | A data structure includes a VIDEO_TS or AUDIO_TS folder that is not compliant with DVD-Video or DVD-Audio rules. |
PRIMOSDK_FILETOOLARGE | 34 | The function was passed a pointer to a file that is bigger than 9.99 GB for UDF or 4 GB for ISO. |
PRIMOSDK_CACHEFULL | 35 | Not currently used. |
PRIMOSDK_FEATURE_NOT_SUPPORTED | 36 | The device does not support the requested feature. |
PRIMOSDK_FEATURE_DISABLED | 37 | Use of the requested feature is not included in the license under which the SDK was provided. |
PRIMOSDK_CALLBACK_ERROR | 38 | Returned from the caller's callback function to terminate stream. |
PRIMOSDK_PROTECTEDWMA | 39 | Returned if application does not have permission to burn specified WMA file. |
4.4 Drive Error Codes | go: top |
Drive error codes are returned by PrimoSDK from the function PrimoSDK_UnitStatus, and are also used by other products in the event of a drive error. These codes return as "SCSI Error Triples" made up of Sense, ASC (Additional Sense Code), and ASCQ (Additional Sense Code Qualifier).
NOTE: While recent years have brought greater standardization, different drive brands may still return different triplets in similar error situations. It is therefore a good idea to refer to the Command Specification of a drive reporting an error to be absolutely sure of the error's meaning.
Sense | ASC | ASCQ | Description |
0 | 00 | 00 | No Additional Sense Information |
0 | 00 | 01 | Filemark Detected |
0 | 00 | 02 | End-Of-Partition/Medium Detected |
0 | 00 | 03 | Setmark Detected |
0 | 00 | 04 | Beginning-Of-Partition/Medium Detected |
0 | 00 | 05 | End-Of-Data Detected |
0 | 00 | 11 | Audio Play Operation In Progress Audio Play |
0 | 00 | 12 | Audio Play Operation Paused Audio Play |
0 | 00 | 13 | Audio Play Operation Successfully Completed Audio Play |
0 | 00 | 14 | Audio Play Operation Stopped Due To Error Audio Play |
0 | 00 | 15 | No Current Audio Status To Return Audio Play |
0 | 00 | 16 | Operation In Progress |
1 | 0B | 00 | Warning |
1 | 0B | 01 | Warning - Specified Temperature Exceeded |
1 | 0B | 02 | Warning - Enclosure Degraded |
1 | 0C | 0A | Write Error - Padding Blocks Added |
1 | 17 | 00 | Recovered Data With No Error Correction Applied |
1 | 17 | 01 | Recovered Data With Retries |
1 | 17 | 02 | Recovered Data With Positive Head Offset |
1 | 17 | 03 | Recovered Data With Negative Head Offset |
1 | 17 | 04 | Recovered Data With Retries And/Or Circ Applied |
1 | 17 | 05 | Recovered Data Using Previous Sector Id |
1 | 17 | 06 | Recovered Data Without ECC - Data Auto-Reallocated |
1 | 17 | 07 | Recovered Data Without ECC - Recommend Reassignment |
1 | 17 | 08 | Recovered Data Without ECC - Recommend Rewrite |
1 | 17 | 09 | Recovered Data Without ECC - Data Rewritten |
1 | 18 | 00 | Recovered Data With Error Correction Applied |
1 | 18 | 01 | Recovered Data With Error Correction & Retries Applied |
1 | 18 | 02 | Recovered Data - Data Auto-Reallocated |
1 | 18 | 03 | Recovered Data With Circ |
1 | 18 | 04 | Recovered Data With L-EC |
1 | 18 | 05 | Recovered Data - Recommend Reassignment |
1 | 18 | 06 | Recovered Data - Recommend Rewrite |
1 | 18 | 07 | Recovered Data With ECC - Data Rewritten |
1 | 18 | 08 | Recovered Data With Linking |
1 | 1E | 00 | Recovered Id With ECC Correction |
1 | 37 | 00 | Rounded Parameter |
1 | 5D | 00 | Failure Prediction Threshold Exceeded - Predicted Logical Unit Failure |
1 | 5D | 01 | Failure Prediction Threshold Exceeded - Predicted Media Failure |
1 | 5D | FF | Failure Prediction Threshold Exceeded (False) |
1 | 6A | 00 | Informational, Refer To Log |
1 | 73 | 01 | Power Calibration Area Almost Full |
1 | 73 | 06 | PROGRAM MEMORY AREA/PMA IS (Almost) FULL |
2 | 04 | 00 | Logical Unit Not Ready, Cause Not Reportable |
2 | 04 | 01 | Logical Unit Is In Process Of Becoming Ready |
2 | 04 | 02 | Logical Unit Not Ready, Initializing Command. Required |
2 | 04 | 03 | Logical Unit Not Ready, Manual Intervention Required |
2 | 04 | 04 | Logical Unit Not Ready, Format In Progress |
2 | 04 | 05 | Logical Unit Not Ready, Rebuild In Progress |
2 | 04 | 06 | Logical Unit Not Ready, Recalculation In Progress |
2 | 04 | 07 | Logical Unit Not Ready, Operation In Progress |
2 | 04 | 08 | Logical Unit Not Ready, Long Write In Progress |
2 | 05 | 00 | Logical Unit Does Not Respond To Selection |
2 | 06 | 00 | NO REFERENCE POSITION FOUND (Medium May Be Upside Down) |
2 | 30 | 00 | Incompatible Medium Installed |
2 | 30 | 01 | Cannot Read Medium - Unknown Format |
2 | 30 | 02 | Cannot Read Medium - Incompatible Format |
2 | 30 | 03 | Cleaning Cartridge Installed |
2 | 30 | 04 | Cannot write medium unknown format |
2 | 30 | 05 | Cannot write medium incompatible format |
2 | 30 | 07 | Cleaning Failure |
2 | 35 | 02 | Enclosure Services Unavailable |
2 | 3A | 00 | Medium Not Present |
2 | 3A | 01 | Medium Not Present - Tray Closed |
2 | 3A | 02 | Medium Not Present - Tray Open |
2 | 3E | 00 | Logical Unit Has Not Self-Configured Yet |
2 | 53 | 00 | Medium Load/Eject Failed |
2 | 53 | 02 | Medium Removal Prevented |
2 | 57 | 00 | Unable to recover TOC |
2 | 68 | 00 | Logical Unit Not Configured |
3 | 00 | 14 | Audio play op. Stopped due error (Plextor) |
3 | 02 | 00 | No Seek Complete |
3 | 02 | 80 | Servo Seek Error (Plextor) |
3 | 02 | 81 | Servo Seek Error Sync error (Plextor) |
3 | 02 | 82 | Servo Seek Error Header error (Plextor) |
3 | 02 | 83 | Servo Seek Error Target not met (Plextor) |
3 | 03 | 00 | Peripheral Device Write Fault |
3 | 03 | 01 | No Write Current |
3 | 03 | 02 | Excessive Write Errors |
3 | 06 | 00 | No reference position found |
3 | 0C | 00 | Write Error |
3 | 0C | 01 | Write Error - Recovered With Auto Reallocation |
3 | 0C | 02 | Write Error - Auto Reallocation Failed |
3 | 0C | 03 | Write Error - Recommend Reassignment |
3 | 0C | 04 | Compression Check Miscompare Error |
3 | 0C | 05 | Data Expansion Occurred During Compression |
3 | 0C | 06 | Block Not Compressible |
3 | 0C | 07 | Write Error - Recovery Needed |
3 | 0C | 08 | Write Error - Recovery Failed |
3 | 0C | 09 | Write Error - Loss Of Streaming |
3 | 0C | 0A | Write Error - Padding blocks added |
3 | 10 | 00 | Id CRC Or ECC Error |
3 | 11 | 00 | Unrecovered Read Error |
3 | 11 | 01 | Read Retries Exhausted |
3 | 11 | 02 | Error Too Long To Correct |
3 | 11 | 03 | Multiple Read Errors |
3 | 11 | 04 | Unrecovered Read Error - Auto Reallocate Failed |
3 | 11 | 05 | L-EC Uncorrectable Error |
3 | 11 | 06 | Circ Unrecovered Error |
3 | 11 | 07 | Re-Synchronization Error |
3 | 11 | 08 | Incomplete Block |
3 | 11 | 09 | No Gap Found |
3 | 11 | 0A | Miscorrected Error |
3 | 11 | 0B | Unrecovered Read Error - Recommend Reassignment |
3 | 11 | 0C | Unrecovered Read Error - Recommend Rewrite The Data |
3 | 11 | 0D | De-Compression CRC Error |
3 | 11 | 0E | Cannot Decompress Using Declared Algorithm |
3 | 11 | 0F | Error Reading UPC/EAN Number |
3 | 11 | 10 | Error Reading ISRC Number |
3 | 12 | 00 | Address Mark Not Found For Id Field |
3 | 13 | 00 | Address Mark Not Found For Data Field |
3 | 14 | 00 | Recorded Entity Not Found |
3 | 14 | 01 | Record Not Found |
3 | 14 | 02 | Filemark Or Setmark Not Found |
3 | 14 | 03 | End-Of-Data Not Found |
3 | 14 | 04 | Block Sequence Error |
3 | 14 | 05 | Record Not Found - Recommend Reassignment |
3 | 14 | 06 | Record Not Found - Data Auto-Reallocated |
3 | 15 | 00 | Random Positioning Error |
3 | 15 | 01 | Mechanical Positioning Error |
3 | 15 | 02 | Positioning Error Detected By Read Of Medium |
3 | 16 | 00 | Data Synchronization Mark Error |
3 | 16 | 01 | Data Sync Error - Data Rewritten |
3 | 16 | 02 | Data Sync Error - Recommend Rewrite |
3 | 16 | 03 | Data Sync Error - Data Auto-Reallocated |
3 | 16 | 04 | Data Sync Error - Recommend Reassignment |
3 | 19 | 00 | Defect List Error |
3 | 19 | 01 | Defect List Not Available |
3 | 19 | 02 | Defect List Error In Primary List |
3 | 19 | 03 | Defect List Error In Grown List |
3 | 1F | 00 | Partial Defect List Transfer |
3 | 2D | 00 | Overwrite Error On Update In Place |
3 | 30 | 00 | Incompatible medium installed |
3 | 31 | 00 | Medium Format Corrupted |
3 | 31 | 01 | Format Command Failed Formattable |
3 | 31 | 02 | Zoned Formatting Failed Due To Spare Linking Formattable |
3 | 32 | 00 | No Defect Spare Location Available |
3 | 32 | 01 | Defect List Update Failure |
3 | 33 | 00 | Tape Length Error |
3 | 36 | 00 | Ribbon, Ink, Or Toner Failure |
3 | 3B | 00 | Sequential Positioning Error |
3 | 3B | 01 | Tape Position Error At Beginning-Of-Medium |
3 | 3B | 02 | Tape Position Error At End-Of-Medium |
3 | 3B | 03 | Tape Or Electronic Vertical Forms Unit Not Ready |
3 | 3B | 06 | Failed To Sense Top-Of-Form |
3 | 3B | 07 | Failed To Sense Bottom-Of-Form |
3 | 3B | 08 | Reposition Error |
3 | 3B | 09 | Read Past End Of Medium |
3 | 3B | 0A | Read Past Beginning Of Medium |
3 | 3B | 0B | Position Past End Of Medium |
3 | 3B | 0C | Position Past Beginning Of Medium |
3 | 51 | 00 | Erase Failure |
3 | 52 | 00 | Cartridge Fault |
3 | 57 | 00 | Unable To Recover Table-Of-Contents |
3 | 5C | 02 | Spindles Not Synchronized |
3 | 61 | 00 | Video Acquisition Error |
3 | 61 | 01 | Unable To Acquire Video |
3 | 61 | 02 | Out Of Focus |
3 | 6C | 00 | Rebuild Failure Occurred |
3 | 6D | 00 | Recalculate Failure Occurred |
3 | 70 | NN | Decompression Exception Short Algorithm Id Of NN |
3 | 71 | 00 | Decompression Exception Long Algorithm Id |
3 | 72 | 00 | Session Fixation Error |
3 | 72 | 01 | Session Fixation Error Writing Lead-in |
3 | 72 | 02 | Session Fixation Error Writing Lead-out |
3 | 73 | 00 | CD Control Error |
3 | 73 | 02 | Power Calibration Area Is Full |
3 | 73 | 03 | Power Calibration Area Error |
3 | 73 | 04 | Program Memory Area/RMA Update Failure |
3 | 73 | 05 | Program Memory Area/RMA Is Full |
4 | 00 | 17 | Cleaning Requested |
4 | 01 | 00 | No Index/Sector Signal |
4 | 05 | 00 | Logical unit does not respond to selection |
4 | 08 | 00 | Logical Unit Communication Failure |
4 | 08 | 01 | Logical Unit Communication Time-Out |
4 | 08 | 02 | Logical Unit Communication Parity Error |
4 | 08 | 03 | Logical Unit Communication CRC Error (Ultra-Dma/32) |
4 | 09 | 00 | Track Following Error |
4 | 09 | 01 | Tracking Servo Failure |
4 | 09 | 02 | Focus Servo Failure |
4 | 09 | 03 | Spindle Servo Failure |
4 | 09 | 04 | Head Select Fault |
4 | 1B | 00 | Synchronous Data Transfer Error |
4 | 1C | 00 | Defect List Not Found |
4 | 1C | 01 | Primary Defect List Not Found |
4 | 1C | 02 | Grown Defect List Not Found |
4 | 34 | 00 | Enclosure Failure |
4 | 35 | 00 | Enclosure Services Failure |
4 | 35 | 03 | Enclosure Services Transfer Failure |
4 | 3B | 04 | Slew Failure |
4 | 3B | 05 | Paper Jam |
4 | 3B | 16 | Mechanical Positioning Or Changer Error Load |
4 | 3E | 01 | Logical Unit Failure |
4 | 3E | 02 | Timeout On Logical Unit |
4 | 40 | 00 | Ram Failure (Should Use 40 Nn) |
4 | 40 | NN | Diagnostic Failure On Component Nn (80h-Ffh) |
4 | 41 | 00 | Data Path Failure (Should Use 40 Nn) |
4 | 42 | 00 | Power-On Or Self-Test Failure (Should Use 40 Nn) |
4 | 44 | 00 | Internal Target Failure |
4 | 46 | 00 | Unsuccessful Soft Reset |
4 | 47 | 00 | SCSI Parity Error |
4 | 4A | 00 | Command Phase Error |
4 | 4B | 00 | Data Phase Error |
4 | 4C | 00 | Logical Unit Failed Self-Configuration |
4 | 53 | 00 | Media Load Or Eject Failed Load |
4 | 54 | 00 | SCSI To Host System Interface Failure |
4 | 60 | 00 | Lamp Failure |
4 | 62 | 00 | Scan Head Positioning Error |
4 | 65 | 00 | Voltage Fault |
4 | 66 | 00 | Automatic Document Feeder Cover Up |
4 | 66 | 01 | Automatic Document Feeder Lift Up |
4 | 66 | 02 | Document Jam In Automatic Document Feeder |
4 | 66 | 03 | Document Miss Feed Automatic In Document Feeder |
4 | 67 | 00 | Configuration Failure |
4 | 67 | 01 | Configuration Of Incapable Logical Units Failed |
4 | 67 | 02 | Add Logical Unit Failed |
4 | 67 | 03 | Modification Of Logical Unit Failed |
4 | 67 | 04 | Exchange Of Logical Unit Failed |
4 | 67 | 05 | Remove Of Logical Unit Failed |
4 | 67 | 06 | Attachment Of Logical Unit Failed |
4 | 67 | 07 | Creation Of Logical Unit Failed |
4 | 69 | 01 | Multiple Logical Unit Failures |
4 | 69 | 02 | A Parity/ Data Mismatch N/ A |
4 | 6E | 00 | Command To Logical Unit Failed |
4 | B6 | 00 | Media load mechanism failed (Plextor) |
5 | 00 | 11 | Audio Play Operation in progress |
5 | 07 | 00 | Multiple Peripheral Devices Selected |
5 | 1A | 00 | Parameter List Length Error |
5 | 20 | 00 | Invalid Command Operation Code |
5 | 21 | 00 | Logical Block Address Out Of Range |
5 | 21 | 01 | Invalid Element Address |
5 | 21 | 02 | Invalid Address For Write Incremental |
5 | 22 | 00 | Illegal Function (Use 20 00, 24 00, Or 26 00) |
5 | 24 | 00 | Invalid Field In CDB |
5 | 25 | 00 | Logical Unit Not Supported |
5 | 26 | 00 | Invalid Field In Parameter List |
5 | 26 | 01 | Parameter Not Supported |
5 | 26 | 02 | Parameter Value Invalid |
5 | 26 | 03 | Threshold Parameters Not Supported |
5 | 26 | 04 | Invalid Release Of Active Persistent Reservation |
5 | 27 | 00 | Write protected |
5 | 27 | 01 | Hardware Write Protected |
5 | 27 | 02 | Logical Unit Software Write Protected |
5 | 27 | 03 | Associated Write Protect |
5 | 27 | 04 | Persistent Write Protect |
5 | 27 | 05 | Permanent Write Protect |
5 | 2B | 00 | Copy Cannot Execute Since Host Cannot Disconnect |
5 | 2C | 00 | Command Sequence Error |
5 | 2C | 01 | Too Many Windows Specified |
5 | 2C | 02 | Invalid Combination Of Windows Specified |
5 | 2C | 03 | Current Program Area Is Not Empty |
5 | 2C | 04 | Current Program Area Is Empty |
5 | 30 | 00 | Incompatible medium installed |
5 | 30 | 02 | Cannot Read Medium - Incompatible Format |
5 | 30 | 04 | Cannot Write Medium - Unknown Format |
5 | 30 | 05 | Cannot Write Medium - Incompatible Format |
5 | 30 | 06 | Cannot Format Medium - Incompatible Medium |
5 | 30 | 08 | Cannot Write - Application Code Mismatch |
5 | 30 | 09 | Current Session Not Fixated For Append |
5 | 35 | 01 | Unsupported Enclosure Function |
5 | 35 | 04 | Enclosure Services Transfer Refused |
5 | 38 | 00 | Reserved |
5 | 39 | 00 | Saving Parameters Not Supported |
5 | 3D | 00 | Invalid Bits In Identify Message |
5 | 43 | 00 | Message Error |
5 | 53 | 02 | Medium Removal Prevented |
5 | 55 | 00 | System Resource Failure |
5 | 63 | 00 | End Of User Area Encountered On This Track |
5 | 63 | 01 | Packet Does Not Fit In Available Space |
5 | 64 | 00 | Illegal Mode For This Track |
5 | 64 | 01 | Invalid Packet Size |
5 | 6F | 00 | Copy Protection Key Exchange Failure - Authentication Failure CPP |
5 | 6F | 01 | Copy Protection Key Exchange Failure - Key Not Present CPP |
5 | 6F | 02 | Copy Protection Key Exchange Failure - Key Not Established CPP |
5 | 6F | 03 | Read Of Scrambled Sector Without Authentication CPP |
5 | 6F | 04 | Media Region Code Is Mismatched To Logical Unit Region CPP |
5 | 6F | 05 | Drive Region Must Be Permanent/Region Reset Count Error CPP |
5 | 72 | 03 | Session Fixation Error - Incomplete Track In Session |
5 | 72 | 04 | Empty Or Partially Written Reserved |
5 | 72 | 05 | No More R zone Reservations Are |
5 | 81 | 00 | Logical unit is reserved (Plextor) |
5 | 85 | 00 | Audio address not valid (Plextor) |
6 | 0A | 00 | Error Log Overflow |
6 | 28 | 00 | Not Ready To Ready Change, Medium May Have Changed |
6 | 28 | 01 | Import Or Export Element Accessed |
6 | 29 | 00 | Power On, Reset, Or Bus Device Reset Occurred |
6 | 29 | 01 | Power On Occurred |
6 | 29 | 02 | SCSI Bus Reset Occurred |
6 | 29 | 03 | Bus Device Reset Function Occurred |
6 | 29 | 04 | Device Internal Reset |
6 | 2A | 00 | Parameters Changed |
6 | 2A | 01 | Mode Parameters Changed |
6 | 2A | 02 | Log Parameters Changed |
6 | 2A | 03 | Reservations Preempted |
6 | 2E | 00 | Insufficient Time For Operation Timeout |
6 | 2F | 00 | Commands Cleared By Another Initiator |
6 | 3B | 0D | Medium Destination Element Full |
6 | 3B | 0E | Medium Source Element Empty |
6 | 3B | 0F | End Of Medium Reached |
6 | 3B | 11 | Medium Magazine Not Accessible Load |
6 | 3B | 12 | Medium Magazine Removed Load |
6 | 3B | 13 | Medium Magazine Inserted Load |
6 | 3B | 14 | Medium Magazine Locked Load |
6 | 3B | 15 | Medium Magazine Unlocked Load |
6 | 3F | 00 | Target Operating Conditions Have Changed |
6 | 3F | 01 | Microcode Has Been Changed |
6 | 3F | 02 | Changed Operating Definition |
6 | 3F | 03 | Inquiry Data Has Changed |
6 | 55 | 01 | System Buffer Full |
6 | 5A | 00 | Operator Request Or State Change Input |
6 | 5A | 01 | Operator Medium Removal Request |
6 | 5A | 02 | Operator Selected Write Protect |
6 | 5A | 03 | Operator Selected Write Permit |
6 | 5B | 00 | Log Exception |
6 | 5B | 01 | Threshold Condition Met |
6 | 5B | 02 | Log Counter At Maximum |
6 | 5B | 03 | Log List Codes Exhausted |
6 | 5C | 00 | Rpl Status Change |
6 | 5C | 01 | Spindles Synchronized |
6 | 5E | 00 | Low Power Condition On |
6 | 5E | 01 | Idle Condition Activated By Timer |
6 | 5E | 02 | Standby Condition Activated By Timer |
6 | 5E | 03 | Idle Condition Activated By Command |
6 | 5E | 04 | Standby Condition Activated By Command |
6 | 6A | 00 | Informational, Refer To Log |
6 | 6B | 00 | State Change Has Occurred |
6 | 6B | 01 | Redundancy Level Got Better |
6 | 6B | 02 | Redundancy Level Got Worse |
7 | 27 | 00 | Write Protected |
7 | 27 | 01 | Hardware Write Protected |
7 | 27 | 02 | Logical Unit Software Write Protected |
7 | 27 | 03 | Associated Write Protect |
7 | 27 | 04 | Persistent Write Protect |
7 | 27 | 05 | Permanent Write Protect |
8 | 21 | 02 | INVALID ADDRESS FOR WRITE (Blank Check) |
9 | 80 | 00 | Illegal media (Plextor) |
9 | 80 | 01 | Illegal write page parameter (Plextor) |
9 | 80 | 05 | Illegal pause length (Plextor) |
9 | 80 | 06 | Illegal track num over 99 (Plextor) |
9 | 80 | 07 | Illegal incomplete track exist (Plextor) |
9 | 80 | 0A | Over transfer data (Plextor) |
9 | 80 | 0B | There is no pit (Plextor) |
9 | 80 | 0C | Search NWA fail (Plextor) |
B | 00 | 06 | I/O Process Terminated, Play Operation Aborted |
B | 11 | 11 | Read Error - Loss Of Streaming |
B | 43 | 00 | Message error (Plextor) |
B | 45 | 00 | Select Or Reselect Failure |
B | 48 | 00 | Initiator Detected Error Message Received |
B | 49 | 00 | Invalid Message Error |
B | 4D | NN | Tagged Overlapped Commands (NN = Queue Tag) |
B | 4E | 00 | Overlapped Commands Attempted |
B | B9 | 00 | Audio play operation aborted (Plextor) |
E | 1D | 00 | Miscompare During Verify Operation |
X | 0D | 00 | Reserved |
X | 0E | 00 | Reserved |
X | 0F | 00 | Reserved |
X | 23 | 00 | Reserved |
X | 4F | 00 | Reserved |
X | 50 | 00 | Write Append Error |
X | 50 | 01 | Write Append Position Error |
X | 50 | 02 | Position Error Related To Timing |
X | 53 | 01 | Unload Tape Failure |
X | 54 | 00 | SCSI To Host System Interface Failure |
X | 55 | 01 | System Buffer Full |
X | 56 | 00 | Reserved |
X | 58 | 00 | Generation Does Not Exist |
X | 59 | 00 | Updated Block |
X | 5F | 00 | Reserved |
X | 80 | XX | VENDOR SPECIFIC Through FF XX |
4.5 Communication Errors | go: top |
When the returned Sense (first byte in the error-triplet) is "0xFF" it means that for some reason the command didn't pass through the drivers layers. In that case the ASC (second byte in the error-triplet) and ASCQ (third byte in the error-triplet) are reporting the "SCSI" error and the "SRB" error respectively.
4.5.1 SCSI error in ASC byte | go: top | section |
SCSI errors are the errors reported by the miniport driver:
Name | Value |
SCSISTAT_GOOD | 0x00 |
SCSISTAT_CHECK_CONDITION | 0x02 |
SCSISTAT_CONDITION_MET | 0x04 |
SCSISTAT_BUSY | 0x08 |
SCSISTAT_INTERMEDIATE | 0x10 |
SCSISTAT_INTERMEDIATE_COND_MET | 0x14 |
SCSISTAT_RESERVATION_CONFLICT | 0x18 |
SCSISTAT_COMMAND_TERMINATED | 0x22 |
SCSISTAT_QUEUE_FULL | 0x28 |
4.5.2 SRB error in ASCQ byte | go: top | section |
SRB errors are the errors reported by some higher-level driver, usually the class driver:
Name | Value |
SRB_STATUS_PENDING | 0x00 |
SRB_STATUS_SUCCESS | 0x01 |
SRB_STATUS_ABORTED | 0x02 |
SRB_STATUS_ABORT_FAILED | 0x03 |
SRB_STATUS_ERROR | 0x04 |
SRB_STATUS_BUSY | 0x05 |
SRB_STATUS_INVALID_REQUEST | 0x06 |
SRB_STATUS_INVALID_PATH_ID | 0x07 |
SRB_STATUS_NO_DEVICE | 0x08 |
SRB_STATUS_TIMEOUT | 0x09 |
SRB_STATUS_SELECTION_TIMEOUT | 0x0A |
SRB_STATUS_COMMAND_TIMEOUT | 0x0B |
SRB_STATUS_MESSAGE_REJECTED | 0x0D |
SRB_STATUS_BUS_RESET | 0x0E |
SRB_STATUS_PARITY_ERROR | 0x0F |
SRB_STATUS_REQUEST_SENSE_FAILED | 0x10 |
SRB_STATUS_NO_HBA | 0x11 |
SRB_STATUS_DATA_OVERRUN | 0x12 |
SRB_STATUS_UNEXPECTED_BUS_FREE | 0x13 |
SRB_STATUS_PHASE_SEQUENCE_FAILURE | 0x14 |
SRB_STATUS_BAD_SRB_BLOCK_LENGTH | 0x15 |
SRB_STATUS_REQUEST_FLUSHED | 0x16 |
SRB_STATUS_INVALID_LUN | 0x20 |
SRB_STATUS_INVALID_TARGET_ID | 0x21 |
SRB_STATUS_BAD_FUNCTION | 0x22 |
SRB_STATUS_ERROR_RECOVERY | 0x23 |