m/p/scsi: add SCSI package
This adds a SCSI package to interact with SCSI devices.
It implements a subset of commands from the SPC-5 and SBC-4 standard
useful for discovery and health assessment.
A follow-up will add SAT (SCSI-to-ATA translation) support.
Change-Id: I7f084d26f11d9c951f51051040160e351cf5594c
Reviewed-on: https://review.monogon.dev/c/monogon/+/1066
Reviewed-by: Serge Bazanski <serge@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/pkg/scsi/sensekeydata.go b/metropolis/pkg/scsi/sensekeydata.go
new file mode 100644
index 0000000..37a31c2
--- /dev/null
+++ b/metropolis/pkg/scsi/sensekeydata.go
@@ -0,0 +1,1506 @@
+package scsi
+
+// Generated from Table F.1
+const (
+ NoAdditionalSenseInformation AdditionalSenseCode = 0x0000
+ FilemarkDetected AdditionalSenseCode = 0x0001
+ EndOfPartitionmediumDetected AdditionalSenseCode = 0x0002
+ SetmarkDetected AdditionalSenseCode = 0x0003
+ BeginningOfPartitionmediumDetected AdditionalSenseCode = 0x0004
+ EndOfDataDetected AdditionalSenseCode = 0x0005
+ IoProcessTerminated AdditionalSenseCode = 0x0006
+ ProgrammableEarlyWarningDetected AdditionalSenseCode = 0x0007
+ AudioPlayOperationInProgress AdditionalSenseCode = 0x0011
+ AudioPlayOperationPaused AdditionalSenseCode = 0x0012
+ AudioPlayOperationSuccessfullyCompleted AdditionalSenseCode = 0x0013
+ AudioPlayOperationStoppedDueToError AdditionalSenseCode = 0x0014
+ NoCurrentAudioStatusToReturn AdditionalSenseCode = 0x0015
+ OperationInProgress AdditionalSenseCode = 0x0016
+ CleaningRequested AdditionalSenseCode = 0x0017
+ EraseOperationInProgress AdditionalSenseCode = 0x0018
+ LocateOperationInProgress AdditionalSenseCode = 0x0019
+ RewindOperationInProgress AdditionalSenseCode = 0x001a
+ SetCapacityOperationInProgress AdditionalSenseCode = 0x001b
+ VerifyOperationInProgress AdditionalSenseCode = 0x001c
+ AtaPassThroughInformationAvailable AdditionalSenseCode = 0x001d
+ ConflictingSaCreationRequest AdditionalSenseCode = 0x001e
+ LogicalUnitTransitioningToAnotherPowerCondition AdditionalSenseCode = 0x001f
+ ExtendedCopyInformationAvailable AdditionalSenseCode = 0x0020
+ AtomicCommandAbortedDueToAca AdditionalSenseCode = 0x0021
+ DeferredMicrocodeIsPending AdditionalSenseCode = 0x0022
+ NoIndexsectorSignal AdditionalSenseCode = 0x0100
+ NoSeekComplete AdditionalSenseCode = 0x0200
+ PeripheralDeviceWriteFault AdditionalSenseCode = 0x0300
+ NoWriteCurrent AdditionalSenseCode = 0x0301
+ ExcessiveWriteErrors AdditionalSenseCode = 0x0302
+ LogicalUnitNotReadyCauseNotReportable AdditionalSenseCode = 0x0400
+ LogicalUnitIsInProcessOfBecomingReady AdditionalSenseCode = 0x0401
+ LogicalUnitNotReadyInitializingCommandRequired AdditionalSenseCode = 0x0402
+ LogicalUnitNotReadyManualInterventionRequired AdditionalSenseCode = 0x0403
+ LogicalUnitNotReadyFormatInProgress AdditionalSenseCode = 0x0404
+ LogicalUnitNotReadyRebuildInProgress AdditionalSenseCode = 0x0405
+ LogicalUnitNotReadyRecalculationInProgress AdditionalSenseCode = 0x0406
+ LogicalUnitNotReadyOperationInProgress AdditionalSenseCode = 0x0407
+ LogicalUnitNotReadyLongWriteInProgress AdditionalSenseCode = 0x0408
+ LogicalUnitNotReadySelfTestInProgress AdditionalSenseCode = 0x0409
+ LogicalUnitNotAccessibleAsymmetricAccessStateTransition AdditionalSenseCode = 0x040a
+ LogicalUnitNotAccessibleTargetPortInStandbyState AdditionalSenseCode = 0x040b
+ LogicalUnitNotAccessibleTargetPortInUnavailableState AdditionalSenseCode = 0x040c
+ LogicalUnitNotReadyStructureCheckRequired AdditionalSenseCode = 0x040d
+ LogicalUnitNotReadySecuritySessionInProgress AdditionalSenseCode = 0x040e
+ LogicalUnitNotReadyAuxiliaryMemoryNotAccessible AdditionalSenseCode = 0x0410
+ LogicalUnitNotReadyNotifyenableSpinupRequired AdditionalSenseCode = 0x0411
+ LogicalUnitNotReadyOffline AdditionalSenseCode = 0x0412
+ LogicalUnitNotReadySaCreationInProgress AdditionalSenseCode = 0x0413
+ LogicalUnitNotReadySpaceAllocationInProgress AdditionalSenseCode = 0x0414
+ LogicalUnitNotReadyRoboticsDisabled AdditionalSenseCode = 0x0415
+ LogicalUnitNotReadyConfigurationRequired AdditionalSenseCode = 0x0416
+ LogicalUnitNotReadyCalibrationRequired AdditionalSenseCode = 0x0417
+ LogicalUnitNotReadyADoorIsOpen AdditionalSenseCode = 0x0418
+ LogicalUnitNotReadyOperatingInSequentialMode AdditionalSenseCode = 0x0419
+ LogicalUnitNotReadyStartStopUnitCommandInProgress AdditionalSenseCode = 0x041a
+ LogicalUnitNotReadySanitizeInProgress AdditionalSenseCode = 0x041b
+ LogicalUnitNotReadyAdditionalPowerUseNotYetGranted AdditionalSenseCode = 0x041c
+ LogicalUnitNotReadyConfigurationInProgress AdditionalSenseCode = 0x041d
+ LogicalUnitNotReadyMicrocodeActivationRequired AdditionalSenseCode = 0x041e
+ LogicalUnitNotReadyMicrocodeDownloadRequired AdditionalSenseCode = 0x041f
+ LogicalUnitNotReadyLogicalUnitResetRequired AdditionalSenseCode = 0x0420
+ LogicalUnitNotReadyHardResetRequired AdditionalSenseCode = 0x0421
+ LogicalUnitNotReadyPowerCycleRequired AdditionalSenseCode = 0x0422
+ LogicalUnitNotReadyAffiliationRequired AdditionalSenseCode = 0x0423
+ DepopulationInProgress AdditionalSenseCode = 0x0424
+ LogicalUnitDoesNotRespondToSelection AdditionalSenseCode = 0x0500
+ NoReferencePositionFound AdditionalSenseCode = 0x0600
+ MultiplePeripheralDevicesSelected AdditionalSenseCode = 0x0700
+ LogicalUnitCommunicationFailure AdditionalSenseCode = 0x0800
+ LogicalUnitCommunicationTimeOut AdditionalSenseCode = 0x0801
+ LogicalUnitCommunicationParityError AdditionalSenseCode = 0x0802
+ LogicalUnitCommunicationCrcErrorultraDma32 AdditionalSenseCode = 0x0803
+ UnreachableCopyTarget AdditionalSenseCode = 0x0804
+ TrackFollowingError AdditionalSenseCode = 0x0900
+ TrackingServoFailure AdditionalSenseCode = 0x0901
+ FocusServoFailure AdditionalSenseCode = 0x0902
+ SpindleServoFailure AdditionalSenseCode = 0x0903
+ HeadSelectFault AdditionalSenseCode = 0x0904
+ VibrationInducedTrackingError AdditionalSenseCode = 0x0905
+ ErrorLogOverflow AdditionalSenseCode = 0x0a00
+ Warning AdditionalSenseCode = 0x0b00
+ WarningSpecifiedTemperatureExceeded AdditionalSenseCode = 0x0b01
+ WarningEnclosureDegraded AdditionalSenseCode = 0x0b02
+ WarningBackgroundSelfTestFailed AdditionalSenseCode = 0x0b03
+ WarningBackgroundPreScanDetectedMediumError AdditionalSenseCode = 0x0b04
+ WarningBackgroundMediumScanDetectedMediumError AdditionalSenseCode = 0x0b05
+ WarningNonVolatileCacheNowVolatile AdditionalSenseCode = 0x0b06
+ WarningDegradedPowerToNonVolatileCache AdditionalSenseCode = 0x0b07
+ WarningPowerLossExpected AdditionalSenseCode = 0x0b08
+ WarningDeviceStatisticsNotificationActive AdditionalSenseCode = 0x0b09
+ WarningHighCriticalTemperatureLimitExceeded AdditionalSenseCode = 0x0b0a
+ WarningLowCriticalTemperatureLimitExceeded AdditionalSenseCode = 0x0b0b
+ WarningHighOperatingTemperatureLimitExceeded AdditionalSenseCode = 0x0b0c
+ WarningLowOperatingTemperatureLimitExceeded AdditionalSenseCode = 0x0b0d
+ WarningHighCriticalHumidityLimitExceeded AdditionalSenseCode = 0x0b0e
+ WarningLowCriticalHumidityLimitExceeded AdditionalSenseCode = 0x0b0f
+ WarningHighOperatingHumidityLimitExceeded AdditionalSenseCode = 0x0b10
+ WarningLowOperatingHumidityLimitExceeded AdditionalSenseCode = 0x0b11
+ WarningMicrocodeSecurityAtRisk AdditionalSenseCode = 0x0b12
+ WarningMicrocodeDigitalSignatureValidationFailure AdditionalSenseCode = 0x0b13
+ WarningPhysicalElementStatusChange AdditionalSenseCode = 0x0b14
+ WriteError AdditionalSenseCode = 0x0c00
+ WriteErrorRecoveredWithAutoReallocation AdditionalSenseCode = 0x0c01
+ WriteErrorAutoReallocationFailed AdditionalSenseCode = 0x0c02
+ WriteErrorRecommendReassignment AdditionalSenseCode = 0x0c03
+ CompressionCheckMiscompareError AdditionalSenseCode = 0x0c04
+ DataExpansionOccurredDuringCompression AdditionalSenseCode = 0x0c05
+ BlockNotCompressible AdditionalSenseCode = 0x0c06
+ WriteErrorRecoveryNeeded AdditionalSenseCode = 0x0c07
+ WriteErrorRecoveryFailed AdditionalSenseCode = 0x0c08
+ WriteErrorLossOfStreaming AdditionalSenseCode = 0x0c09
+ WriteErrorPaddingBlocksAdded AdditionalSenseCode = 0x0c0a
+ AuxiliaryMemoryWriteError AdditionalSenseCode = 0x0c0b
+ WriteErrorUnexpectedUnsolicitedData AdditionalSenseCode = 0x0c0c
+ WriteErrorNotEnoughUnsolicitedData AdditionalSenseCode = 0x0c0d
+ MultipleWriteErrors AdditionalSenseCode = 0x0c0e
+ DefectsInErrorWindow AdditionalSenseCode = 0x0c0f
+ IncompleteMultipleAtomicWriteOperations AdditionalSenseCode = 0x0c10
+ WriteErrorRecoveryScanNeeded AdditionalSenseCode = 0x0c11
+ WriteErrorInsufficientZoneResources AdditionalSenseCode = 0x0c12
+ ErrorDetectedByThirdPartyTemporaryInitiator AdditionalSenseCode = 0x0d00
+ ThirdPartyDeviceFailure AdditionalSenseCode = 0x0d01
+ CopyTargetDeviceNotReachable AdditionalSenseCode = 0x0d02
+ IncorrectCopyTargetDeviceType AdditionalSenseCode = 0x0d03
+ CopyTargetDeviceDataUnderrun AdditionalSenseCode = 0x0d04
+ CopyTargetDeviceDataOverrun AdditionalSenseCode = 0x0d05
+ InvalidInformationUnit AdditionalSenseCode = 0x0e00
+ InformationUnitTooShort AdditionalSenseCode = 0x0e01
+ InformationUnitTooLong AdditionalSenseCode = 0x0e02
+ InvalidFieldInCommandInformationUnit AdditionalSenseCode = 0x0e03
+ IdCrcOrEccError AdditionalSenseCode = 0x1000
+ LogicalBlockGuardCheckFailed AdditionalSenseCode = 0x1001
+ LogicalBlockApplicationTagCheckFailed AdditionalSenseCode = 0x1002
+ LogicalBlockReferenceTagCheckFailed AdditionalSenseCode = 0x1003
+ LogicalBlockProtectionErrorOnRecoverBufferedData AdditionalSenseCode = 0x1004
+ LogicalBlockProtectionMethodError AdditionalSenseCode = 0x1005
+ UnrecoveredReadError AdditionalSenseCode = 0x1100
+ ReadRetriesExhausted AdditionalSenseCode = 0x1101
+ ErrorTooLongToCorrect AdditionalSenseCode = 0x1102
+ MultipleReadErrors AdditionalSenseCode = 0x1103
+ UnrecoveredReadErrorAutoReallocateFailed AdditionalSenseCode = 0x1104
+ LEcUncorrectableError AdditionalSenseCode = 0x1105
+ CircUnrecoveredError AdditionalSenseCode = 0x1106
+ DataReSynchronizationError AdditionalSenseCode = 0x1107
+ IncompleteBlockRead AdditionalSenseCode = 0x1108
+ NoGapFound AdditionalSenseCode = 0x1109
+ MiscorrectedError AdditionalSenseCode = 0x110a
+ UnrecoveredReadErrorRecommendReassignment AdditionalSenseCode = 0x110b
+ UnrecoveredReadErrorRecommendRewriteTheData AdditionalSenseCode = 0x110c
+ DeCompressionCrcError AdditionalSenseCode = 0x110d
+ CannotDecompressUsingDeclaredAlgorithm AdditionalSenseCode = 0x110e
+ ErrorReadingUpceanNumber AdditionalSenseCode = 0x110f
+ ErrorReadingIsrcNumber AdditionalSenseCode = 0x1110
+ ReadErrorLossOfStreaming AdditionalSenseCode = 0x1111
+ AuxiliaryMemoryReadError AdditionalSenseCode = 0x1112
+ ReadErrorFailedRetransmissionRequest AdditionalSenseCode = 0x1113
+ ReadErrorLbaMarkedBadByApplicationClient AdditionalSenseCode = 0x1114
+ WriteAfterSanitizeRequired AdditionalSenseCode = 0x1115
+ AddressMarkNotFoundForIdField AdditionalSenseCode = 0x1200
+ AddressMarkNotFoundForDataField AdditionalSenseCode = 0x1300
+ RecordedEntityNotFound AdditionalSenseCode = 0x1400
+ RecordNotFound AdditionalSenseCode = 0x1401
+ FilemarkOrSetmarkNotFound AdditionalSenseCode = 0x1402
+ EndOfDataNotFound AdditionalSenseCode = 0x1403
+ BlockSequenceError AdditionalSenseCode = 0x1404
+ RecordNotFoundRecommendReassignment AdditionalSenseCode = 0x1405
+ RecordNotFoundDataAutoReallocated AdditionalSenseCode = 0x1406
+ LocateOperationFailure AdditionalSenseCode = 0x1407
+ RandomPositioningError AdditionalSenseCode = 0x1500
+ MechanicalPositioningError AdditionalSenseCode = 0x1501
+ PositioningErrorDetectedByReadOfMedium AdditionalSenseCode = 0x1502
+ DataSynchronizationMarkError AdditionalSenseCode = 0x1600
+ DataSyncErrorDataRewritten AdditionalSenseCode = 0x1601
+ DataSyncErrorRecommendRewrite AdditionalSenseCode = 0x1602
+ DataSyncErrorDataAutoReallocated AdditionalSenseCode = 0x1603
+ DataSyncErrorRecommendReassignment AdditionalSenseCode = 0x1604
+ RecoveredDataWithNoErrorCorrectionApplied AdditionalSenseCode = 0x1700
+ RecoveredDataWithRetries AdditionalSenseCode = 0x1701
+ RecoveredDataWithPositiveHeadOffset AdditionalSenseCode = 0x1702
+ RecoveredDataWithNegativeHeadOffset AdditionalSenseCode = 0x1703
+ RecoveredDataWithRetriesAndorCircApplied AdditionalSenseCode = 0x1704
+ RecoveredDataUsingPreviousSectorId AdditionalSenseCode = 0x1705
+ RecoveredDataWithoutEccDataAutoReallocated AdditionalSenseCode = 0x1706
+ RecoveredDataWithoutEccRecommendReassignment AdditionalSenseCode = 0x1707
+ RecoveredDataWithoutEccRecommendRewrite AdditionalSenseCode = 0x1708
+ RecoveredDataWithoutEccDataRewritten AdditionalSenseCode = 0x1709
+ RecoveredDataWithErrorCorrectionApplied AdditionalSenseCode = 0x1800
+ RecoveredDataWithErrorCorrRetriesApplied AdditionalSenseCode = 0x1801
+ RecoveredDataDataAutoReallocated AdditionalSenseCode = 0x1802
+ RecoveredDataWithCirc AdditionalSenseCode = 0x1803
+ RecoveredDataWithLEc AdditionalSenseCode = 0x1804
+ RecoveredDataRecommendReassignment AdditionalSenseCode = 0x1805
+ RecoveredDataRecommendRewrite AdditionalSenseCode = 0x1806
+ RecoveredDataWithEccDataRewritten AdditionalSenseCode = 0x1807
+ RecoveredDataWithLinking AdditionalSenseCode = 0x1808
+ DefectListError AdditionalSenseCode = 0x1900
+ DefectListNotAvailable AdditionalSenseCode = 0x1901
+ DefectListErrorInPrimaryList AdditionalSenseCode = 0x1902
+ DefectListErrorInGrownList AdditionalSenseCode = 0x1903
+ ParameterListLengthError AdditionalSenseCode = 0x1a00
+ SynchronousDataTransferError AdditionalSenseCode = 0x1b00
+ DefectListNotFound AdditionalSenseCode = 0x1c00
+ PrimaryDefectListNotFound AdditionalSenseCode = 0x1c01
+ GrownDefectListNotFound AdditionalSenseCode = 0x1c02
+ MiscompareDuringVerifyOperation AdditionalSenseCode = 0x1d00
+ MiscompareVerifyOfUnmappedLba AdditionalSenseCode = 0x1d01
+ RecoveredIdWithEccCorrection AdditionalSenseCode = 0x1e00
+ PartialDefectListTransfer AdditionalSenseCode = 0x1f00
+ InvalidCommandOperationCode AdditionalSenseCode = 0x2000
+ AccessDeniedInitiatorPendingEnrolled AdditionalSenseCode = 0x2001
+ AccessDeniedNoAccessRights AdditionalSenseCode = 0x2002
+ AccessDeniedInvalidMgmtIdKey AdditionalSenseCode = 0x2003
+ IllegalCommandWhileInWriteCapableState AdditionalSenseCode = 0x2004
+ IllegalCommandWhileInExplicitAddressMode AdditionalSenseCode = 0x2006
+ IllegalCommandWhileInImplicitAddressMode AdditionalSenseCode = 0x2007
+ AccessDeniedEnrollmentConflict AdditionalSenseCode = 0x2008
+ AccessDeniedInvalidLuIdentifier AdditionalSenseCode = 0x2009
+ AccessDeniedInvalidProxyToken AdditionalSenseCode = 0x200a
+ AccessDeniedAclLunConflict AdditionalSenseCode = 0x200b
+ IllegalCommandWhenNotInAppendOnlyMode AdditionalSenseCode = 0x200c
+ NotAnAdministrativeLogicalUnit AdditionalSenseCode = 0x200d
+ NotASubsidiaryLogicalUnit AdditionalSenseCode = 0x200e
+ NotAConglomerateLogicalUnit AdditionalSenseCode = 0x200f
+ LogicalBlockAddressOutOfRange AdditionalSenseCode = 0x2100
+ InvalidElementAddress AdditionalSenseCode = 0x2101
+ InvalidAddressForWrite AdditionalSenseCode = 0x2102
+ InvalidWriteCrossingLayerJump AdditionalSenseCode = 0x2103
+ UnalignedWriteCommand AdditionalSenseCode = 0x2104
+ WriteBoundaryViolation AdditionalSenseCode = 0x2105
+ AttemptToReadInvalidData AdditionalSenseCode = 0x2106
+ ReadBoundaryViolation AdditionalSenseCode = 0x2107
+ MisalignedWriteCommand AdditionalSenseCode = 0x2108
+ IllegalFunctionuse20002400Or2600 AdditionalSenseCode = 0x2200
+ InvalidTokenOperationCauseNotReportable AdditionalSenseCode = 0x2300
+ InvalidTokenOperationUnsupportedTokenType AdditionalSenseCode = 0x2301
+ InvalidTokenOperationRemoteTokenUsageNotSupported AdditionalSenseCode = 0x2302
+ InvalidTokenOperationRemoteRodTokenCreationNotSupported AdditionalSenseCode = 0x2303
+ InvalidTokenOperationTokenUnknown AdditionalSenseCode = 0x2304
+ InvalidTokenOperationTokenCorrupt AdditionalSenseCode = 0x2305
+ InvalidTokenOperationTokenRevoked AdditionalSenseCode = 0x2306
+ InvalidTokenOperationTokenExpired AdditionalSenseCode = 0x2307
+ InvalidTokenOperationTokenCancelled AdditionalSenseCode = 0x2308
+ InvalidTokenOperationTokenDeleted AdditionalSenseCode = 0x2309
+ InvalidTokenOperationInvalidTokenLength AdditionalSenseCode = 0x230a
+ InvalidFieldInCdb AdditionalSenseCode = 0x2400
+ CdbDecryptionError AdditionalSenseCode = 0x2401
+ SecurityAuditValueFrozen AdditionalSenseCode = 0x2404
+ SecurityWorkingKeyFrozen AdditionalSenseCode = 0x2405
+ NonceNotUnique AdditionalSenseCode = 0x2406
+ NonceTimestampOutOfRange AdditionalSenseCode = 0x2407
+ InvalidXcdb AdditionalSenseCode = 0x2408
+ InvalidFastFormat AdditionalSenseCode = 0x2409
+ LogicalUnitNotSupported AdditionalSenseCode = 0x2500
+ InvalidFieldInParameterList AdditionalSenseCode = 0x2600
+ ParameterNotSupported AdditionalSenseCode = 0x2601
+ ParameterValueInvalid AdditionalSenseCode = 0x2602
+ ThresholdParametersNotSupported AdditionalSenseCode = 0x2603
+ InvalidReleaseOfPersistentReservation AdditionalSenseCode = 0x2604
+ DataDecryptionError AdditionalSenseCode = 0x2605
+ TooManyTargetDescriptors AdditionalSenseCode = 0x2606
+ UnsupportedTargetDescriptorTypeCode AdditionalSenseCode = 0x2607
+ TooManySegmentDescriptors AdditionalSenseCode = 0x2608
+ UnsupportedSegmentDescriptorTypeCode AdditionalSenseCode = 0x2609
+ UnexpectedInexactSegment AdditionalSenseCode = 0x260a
+ InlineDataLengthExceeded AdditionalSenseCode = 0x260b
+ InvalidOperationForCopySourceOrDestination AdditionalSenseCode = 0x260c
+ CopySegmentGranularityViolation AdditionalSenseCode = 0x260d
+ InvalidParameterWhilePortIsEnabled AdditionalSenseCode = 0x260e
+ InvalidDataOutBufferIntegrityCheckValue AdditionalSenseCode = 0x260f
+ DataDecryptionKeyFailLimitReached AdditionalSenseCode = 0x2610
+ IncompleteKeyAssociatedDataSet AdditionalSenseCode = 0x2611
+ VendorSpecificKeyReferenceNotFound AdditionalSenseCode = 0x2612
+ ApplicationTagModePageIsInvalid AdditionalSenseCode = 0x2613
+ TapeStreamMirroringPrevented AdditionalSenseCode = 0x2614
+ CopySourceOrCopyDestinationNotAuthorized AdditionalSenseCode = 0x2615
+ WriteProtected AdditionalSenseCode = 0x2700
+ HardwareWriteProtected AdditionalSenseCode = 0x2701
+ LogicalUnitSoftwareWriteProtected AdditionalSenseCode = 0x2702
+ AssociatedWriteProtect AdditionalSenseCode = 0x2703
+ PersistentWriteProtect AdditionalSenseCode = 0x2704
+ PermanentWriteProtect AdditionalSenseCode = 0x2705
+ ConditionalWriteProtect AdditionalSenseCode = 0x2706
+ SpaceAllocationFailedWriteProtect AdditionalSenseCode = 0x2707
+ ZoneIsReadOnly AdditionalSenseCode = 0x2708
+ NotReadyToReadyChangeMediumMayHaveChanged AdditionalSenseCode = 0x2800
+ ImportOrExportElementAccessed AdditionalSenseCode = 0x2801
+ FormatLayerMayHaveChanged AdditionalSenseCode = 0x2802
+ ImportexportElementAccessedMediumChanged AdditionalSenseCode = 0x2803
+ PowerOnResetOrBusDeviceResetOccurred AdditionalSenseCode = 0x2900
+ PowerOnOccurred AdditionalSenseCode = 0x2901
+ ScsiBusResetOccurred AdditionalSenseCode = 0x2902
+ BusDeviceResetFunctionOccurred AdditionalSenseCode = 0x2903
+ DeviceInternalReset AdditionalSenseCode = 0x2904
+ TransceiverModeChangedToSingleEnded AdditionalSenseCode = 0x2905
+ TransceiverModeChangedToLvd AdditionalSenseCode = 0x2906
+ ITNexusLossOccurred AdditionalSenseCode = 0x2907
+ ParametersChanged AdditionalSenseCode = 0x2a00
+ ModeParametersChanged AdditionalSenseCode = 0x2a01
+ LogParametersChanged AdditionalSenseCode = 0x2a02
+ ReservationsPreempted AdditionalSenseCode = 0x2a03
+ ReservationsReleased AdditionalSenseCode = 0x2a04
+ RegistrationsPreempted AdditionalSenseCode = 0x2a05
+ AsymmetricAccessStateChanged AdditionalSenseCode = 0x2a06
+ ImplicitAsymmetricAccessStateTransitionFailed AdditionalSenseCode = 0x2a07
+ PriorityChanged AdditionalSenseCode = 0x2a08
+ CapacityDataHasChanged AdditionalSenseCode = 0x2a09
+ ErrorHistoryITNexusCleared AdditionalSenseCode = 0x2a0a
+ ErrorHistorySnapshotReleased AdditionalSenseCode = 0x2a0b
+ ErrorRecoveryAttributesHaveChanged AdditionalSenseCode = 0x2a0c
+ DataEncryptionCapabilitiesChanged AdditionalSenseCode = 0x2a0d
+ TimestampChanged AdditionalSenseCode = 0x2a10
+ DataEncryptionParametersChangedByAnotherITNexus AdditionalSenseCode = 0x2a11
+ DataEncryptionParametersChangedByVendorSpecificEvent AdditionalSenseCode = 0x2a12
+ DataEncryptionKeyInstanceCounterHasChanged AdditionalSenseCode = 0x2a13
+ SaCreationCapabilitiesDataHasChanged AdditionalSenseCode = 0x2a14
+ MediumRemovalPreventionPreempted AdditionalSenseCode = 0x2a15
+ ZoneResetWritePointerRecommended AdditionalSenseCode = 0x2a16
+ CopyCannotExecuteSinceHostCannotDisconnect AdditionalSenseCode = 0x2b00
+ CommandSequenceError AdditionalSenseCode = 0x2c00
+ TooManyWindowsSpecified AdditionalSenseCode = 0x2c01
+ InvalidCombinationOfWindowsSpecified AdditionalSenseCode = 0x2c02
+ CurrentProgramAreaIsNotEmpty AdditionalSenseCode = 0x2c03
+ CurrentProgramAreaIsEmpty AdditionalSenseCode = 0x2c04
+ IllegalPowerConditionRequest AdditionalSenseCode = 0x2c05
+ PersistentPreventConflict AdditionalSenseCode = 0x2c06
+ PreviousBusyStatus AdditionalSenseCode = 0x2c07
+ PreviousTaskSetFullStatus AdditionalSenseCode = 0x2c08
+ PreviousReservationConflictStatus AdditionalSenseCode = 0x2c09
+ PartitionOrCollectionContainsUserObjects AdditionalSenseCode = 0x2c0a
+ NotReserved AdditionalSenseCode = 0x2c0b
+ OrwriteGenerationDoesNotMatch AdditionalSenseCode = 0x2c0c
+ ResetWritePointerNotAllowed AdditionalSenseCode = 0x2c0d
+ ZoneIsOffline AdditionalSenseCode = 0x2c0e
+ StreamNotOpen AdditionalSenseCode = 0x2c0f
+ UnwrittenDataInZone AdditionalSenseCode = 0x2c10
+ DescriptorFormatSenseDataRequired AdditionalSenseCode = 0x2c11
+ OverwriteErrorOnUpdateInPlace AdditionalSenseCode = 0x2d00
+ InsufficientTimeForOperation AdditionalSenseCode = 0x2e00
+ CommandTimeoutBeforeProcessing AdditionalSenseCode = 0x2e01
+ CommandTimeoutDuringProcessing AdditionalSenseCode = 0x2e02
+ CommandTimeoutDuringProcessingDueToErrorRecovery AdditionalSenseCode = 0x2e03
+ CommandsClearedByAnotherInitiator AdditionalSenseCode = 0x2f00
+ CommandsClearedByPowerLossNotification AdditionalSenseCode = 0x2f01
+ CommandsClearedByDeviceServer AdditionalSenseCode = 0x2f02
+ SomeCommandsClearedByQueuingLayerEvent AdditionalSenseCode = 0x2f03
+ IncompatibleMediumInstalled AdditionalSenseCode = 0x3000
+ CannotReadMediumUnknownFormat AdditionalSenseCode = 0x3001
+ CannotReadMediumIncompatibleFormat AdditionalSenseCode = 0x3002
+ CleaningCartridgeInstalled AdditionalSenseCode = 0x3003
+ CannotWriteMediumUnknownFormat AdditionalSenseCode = 0x3004
+ CannotWriteMediumIncompatibleFormat AdditionalSenseCode = 0x3005
+ CannotFormatMediumIncompatibleMedium AdditionalSenseCode = 0x3006
+ CleaningFailure AdditionalSenseCode = 0x3007
+ CannotWriteApplicationCodeMismatch AdditionalSenseCode = 0x3008
+ CurrentSessionNotFixatedForAppend AdditionalSenseCode = 0x3009
+ CleaningRequestRejected AdditionalSenseCode = 0x300a
+ WormMediumOverwriteAttempted AdditionalSenseCode = 0x300c
+ WormMediumIntegrityCheck AdditionalSenseCode = 0x300d
+ MediumNotFormatted AdditionalSenseCode = 0x3010
+ IncompatibleVolumeType AdditionalSenseCode = 0x3011
+ IncompatibleVolumeQualifier AdditionalSenseCode = 0x3012
+ CleaningVolumeExpired AdditionalSenseCode = 0x3013
+ MediumFormatCorrupted AdditionalSenseCode = 0x3100
+ FormatCommandFailed AdditionalSenseCode = 0x3101
+ ZonedFormattingFailedDueToSpareLinking AdditionalSenseCode = 0x3102
+ SanitizeCommandFailed AdditionalSenseCode = 0x3103
+ DepopulationFailed AdditionalSenseCode = 0x3104
+ NoDefectSpareLocationAvailable AdditionalSenseCode = 0x3200
+ DefectListUpdateFailure AdditionalSenseCode = 0x3201
+ TapeLengthError AdditionalSenseCode = 0x3300
+ EnclosureFailure AdditionalSenseCode = 0x3400
+ EnclosureServicesFailure AdditionalSenseCode = 0x3500
+ UnsupportedEnclosureFunction AdditionalSenseCode = 0x3501
+ EnclosureServicesUnavailable AdditionalSenseCode = 0x3502
+ EnclosureServicesTransferFailure AdditionalSenseCode = 0x3503
+ EnclosureServicesTransferRefused AdditionalSenseCode = 0x3504
+ EnclosureServicesChecksumError AdditionalSenseCode = 0x3505
+ RibbonInkOrTonerFailure AdditionalSenseCode = 0x3600
+ RoundedParameter AdditionalSenseCode = 0x3700
+ EventStatusNotification AdditionalSenseCode = 0x3800
+ EsnPowerManagementClassEvent AdditionalSenseCode = 0x3802
+ EsnMediaClassEvent AdditionalSenseCode = 0x3804
+ EsnDeviceBusyClassEvent AdditionalSenseCode = 0x3806
+ ThinProvisioningSoftThresholdReached AdditionalSenseCode = 0x3807
+ SavingParametersNotSupported AdditionalSenseCode = 0x3900
+ MediumNotPresent AdditionalSenseCode = 0x3a00
+ MediumNotPresentTrayClosed AdditionalSenseCode = 0x3a01
+ MediumNotPresentTrayOpen AdditionalSenseCode = 0x3a02
+ MediumNotPresentLoadable AdditionalSenseCode = 0x3a03
+ MediumNotPresentMediumAuxiliaryMemoryAccessible AdditionalSenseCode = 0x3a04
+ SequentialPositioningError AdditionalSenseCode = 0x3b00
+ TapePositionErrorAtBeginningOfMedium AdditionalSenseCode = 0x3b01
+ TapePositionErrorAtEndOfMedium AdditionalSenseCode = 0x3b02
+ TapeOrElectronicVerticalFormsUnitNotReady AdditionalSenseCode = 0x3b03
+ SlewFailure AdditionalSenseCode = 0x3b04
+ PaperJam AdditionalSenseCode = 0x3b05
+ FailedToSenseTopOfForm AdditionalSenseCode = 0x3b06
+ FailedToSenseBottomOfForm AdditionalSenseCode = 0x3b07
+ RepositionError AdditionalSenseCode = 0x3b08
+ ReadPastEndOfMedium AdditionalSenseCode = 0x3b09
+ ReadPastBeginningOfMedium AdditionalSenseCode = 0x3b0a
+ PositionPastEndOfMedium AdditionalSenseCode = 0x3b0b
+ PositionPastBeginningOfMedium AdditionalSenseCode = 0x3b0c
+ MediumDestinationElementFull AdditionalSenseCode = 0x3b0d
+ MediumSourceElementEmpty AdditionalSenseCode = 0x3b0e
+ EndOfMediumReached AdditionalSenseCode = 0x3b0f
+ MediumMagazineNotAccessible AdditionalSenseCode = 0x3b11
+ MediumMagazineRemoved AdditionalSenseCode = 0x3b12
+ MediumMagazineInserted AdditionalSenseCode = 0x3b13
+ MediumMagazineLocked AdditionalSenseCode = 0x3b14
+ MediumMagazineUnlocked AdditionalSenseCode = 0x3b15
+ MechanicalPositioningOrChangerError AdditionalSenseCode = 0x3b16
+ ReadPastEndOfUserObject AdditionalSenseCode = 0x3b17
+ ElementDisabled AdditionalSenseCode = 0x3b18
+ ElementEnabled AdditionalSenseCode = 0x3b19
+ DataTransferDeviceRemoved AdditionalSenseCode = 0x3b1a
+ DataTransferDeviceInserted AdditionalSenseCode = 0x3b1b
+ TooManyLogicalObjectsOnPartitionToSupportOperation AdditionalSenseCode = 0x3b1c
+ InvalidBitsInIdentifyMessage AdditionalSenseCode = 0x3d00
+ LogicalUnitHasNotSelfConfiguredYet AdditionalSenseCode = 0x3e00
+ LogicalUnitFailure AdditionalSenseCode = 0x3e01
+ TimeoutOnLogicalUnit AdditionalSenseCode = 0x3e02
+ LogicalUnitFailedSelfTest AdditionalSenseCode = 0x3e03
+ LogicalUnitUnableToUpdateSelfTestLog AdditionalSenseCode = 0x3e04
+ TargetOperatingConditionsHaveChanged AdditionalSenseCode = 0x3f00
+ MicrocodeHasBeenChanged AdditionalSenseCode = 0x3f01
+ ChangedOperatingDefinition AdditionalSenseCode = 0x3f02
+ InquiryDataHasChanged AdditionalSenseCode = 0x3f03
+ ComponentDeviceAttached AdditionalSenseCode = 0x3f04
+ DeviceIdentifierChanged AdditionalSenseCode = 0x3f05
+ RedundancyGroupCreatedOrModified AdditionalSenseCode = 0x3f06
+ RedundancyGroupDeleted AdditionalSenseCode = 0x3f07
+ SpareCreatedOrModified AdditionalSenseCode = 0x3f08
+ SpareDeleted AdditionalSenseCode = 0x3f09
+ VolumeSetCreatedOrModified AdditionalSenseCode = 0x3f0a
+ VolumeSetDeleted AdditionalSenseCode = 0x3f0b
+ VolumeSetDeassigned AdditionalSenseCode = 0x3f0c
+ VolumeSetReassigned AdditionalSenseCode = 0x3f0d
+ ReportedLunsDataHasChanged AdditionalSenseCode = 0x3f0e
+ EchoBufferOverwritten AdditionalSenseCode = 0x3f0f
+ MediumLoadable AdditionalSenseCode = 0x3f10
+ MediumAuxiliaryMemoryAccessible AdditionalSenseCode = 0x3f11
+ IscsiIpAddressAdded AdditionalSenseCode = 0x3f12
+ IscsiIpAddressRemoved AdditionalSenseCode = 0x3f13
+ IscsiIpAddressChanged AdditionalSenseCode = 0x3f14
+ InspectReferralsSenseDescriptors AdditionalSenseCode = 0x3f15
+ MicrocodeHasBeenChangedWithoutReset AdditionalSenseCode = 0x3f16
+ ZoneTransitionToFull AdditionalSenseCode = 0x3f17
+ BindCompleted AdditionalSenseCode = 0x3f18
+ BindRedirected AdditionalSenseCode = 0x3f19
+ SubsidiaryBindingChanged AdditionalSenseCode = 0x3f1a
+ RamFailureshouldUse40Nn AdditionalSenseCode = 0x4000
+ DataPathFailureshouldUse40Nn AdditionalSenseCode = 0x4100
+ PowerOnOrSelfTestFailureshouldUse40Nn AdditionalSenseCode = 0x4200
+ MessageError AdditionalSenseCode = 0x4300
+ InternalTargetFailure AdditionalSenseCode = 0x4400
+ PersistentReservationInformationLost AdditionalSenseCode = 0x4401
+ AtaDeviceFailedSetFeatures AdditionalSenseCode = 0x4471
+ SelectOrReselectFailure AdditionalSenseCode = 0x4500
+ UnsuccessfulSoftReset AdditionalSenseCode = 0x4600
+ ScsiParityError AdditionalSenseCode = 0x4700
+ DataPhaseCrcErrorDetected AdditionalSenseCode = 0x4701
+ ScsiParityErrorDetectedDuringStDataPhase AdditionalSenseCode = 0x4702
+ InformationUnitIucrcErrorDetected AdditionalSenseCode = 0x4703
+ AsynchronousInformationProtectionErrorDetected AdditionalSenseCode = 0x4704
+ ProtocolServiceCrcError AdditionalSenseCode = 0x4705
+ PhyTestFunctionInProgress AdditionalSenseCode = 0x4706
+ SomeCommandsClearedByIscsiProtocolEvent AdditionalSenseCode = 0x477f
+ InitiatorDetectedErrorMessageReceived AdditionalSenseCode = 0x4800
+ InvalidMessageError AdditionalSenseCode = 0x4900
+ CommandPhaseError AdditionalSenseCode = 0x4a00
+ DataPhaseError AdditionalSenseCode = 0x4b00
+ InvalidTargetPortTransferTagReceived AdditionalSenseCode = 0x4b01
+ TooMuchWriteData AdditionalSenseCode = 0x4b02
+ AcknakTimeout AdditionalSenseCode = 0x4b03
+ NakReceived AdditionalSenseCode = 0x4b04
+ DataOffsetError AdditionalSenseCode = 0x4b05
+ InitiatorResponseTimeout AdditionalSenseCode = 0x4b06
+ ConnectionLost AdditionalSenseCode = 0x4b07
+ DataInBufferOverflowDataBufferSize AdditionalSenseCode = 0x4b08
+ DataInBufferOverflowDataBufferDescriptorArea AdditionalSenseCode = 0x4b09
+ DataInBufferError AdditionalSenseCode = 0x4b0a
+ DataOutBufferOverflowDataBufferSize AdditionalSenseCode = 0x4b0b
+ DataOutBufferOverflowDataBufferDescriptorArea AdditionalSenseCode = 0x4b0c
+ DataOutBufferError AdditionalSenseCode = 0x4b0d
+ PcieFabricError AdditionalSenseCode = 0x4b0e
+ PcieCompletionTimeout AdditionalSenseCode = 0x4b0f
+ PcieCompleterAbort AdditionalSenseCode = 0x4b10
+ PciePoisonedTlpReceived AdditionalSenseCode = 0x4b11
+ PcieEcrcCheckFailed AdditionalSenseCode = 0x4b12
+ PcieUnsupportedRequest AdditionalSenseCode = 0x4b13
+ PcieAcsViolation AdditionalSenseCode = 0x4b14
+ PcieTlpPrefixBlocked AdditionalSenseCode = 0x4b15
+ LogicalUnitFailedSelfConfiguration AdditionalSenseCode = 0x4c00
+ OverlappedCommandsAttempted AdditionalSenseCode = 0x4e00
+ WriteAppendError AdditionalSenseCode = 0x5000
+ WriteAppendPositionError AdditionalSenseCode = 0x5001
+ PositionErrorRelatedToTiming AdditionalSenseCode = 0x5002
+ EraseFailure AdditionalSenseCode = 0x5100
+ EraseFailureIncompleteEraseOperationDetected AdditionalSenseCode = 0x5101
+ CartridgeFault AdditionalSenseCode = 0x5200
+ MediaLoadOrEjectFailed AdditionalSenseCode = 0x5300
+ UnloadTapeFailure AdditionalSenseCode = 0x5301
+ MediumRemovalPrevented AdditionalSenseCode = 0x5302
+ MediumRemovalPreventedByDataTransferElement AdditionalSenseCode = 0x5303
+ MediumThreadOrUnthreadFailure AdditionalSenseCode = 0x5304
+ VolumeIdentifierInvalid AdditionalSenseCode = 0x5305
+ VolumeIdentifierMissing AdditionalSenseCode = 0x5306
+ DuplicateVolumeIdentifier AdditionalSenseCode = 0x5307
+ ElementStatusUnknown AdditionalSenseCode = 0x5308
+ DataTransferDeviceErrorLoadFailed AdditionalSenseCode = 0x5309
+ DataTransferDeviceErrorUnloadFailed AdditionalSenseCode = 0x530a
+ DataTransferDeviceErrorUnloadMissing AdditionalSenseCode = 0x530b
+ DataTransferDeviceErrorEjectFailed AdditionalSenseCode = 0x530c
+ DataTransferDeviceErrorLibraryCommunicationFailed AdditionalSenseCode = 0x530d
+ ScsiToHostSystemInterfaceFailure AdditionalSenseCode = 0x5400
+ SystemResourceFailure AdditionalSenseCode = 0x5500
+ SystemBufferFull AdditionalSenseCode = 0x5501
+ InsufficientReservationResources AdditionalSenseCode = 0x5502
+ InsufficientResources AdditionalSenseCode = 0x5503
+ InsufficientRegistrationResources AdditionalSenseCode = 0x5504
+ InsufficientAccessControlResources AdditionalSenseCode = 0x5505
+ AuxiliaryMemoryOutOfSpace AdditionalSenseCode = 0x5506
+ QuotaError AdditionalSenseCode = 0x5507
+ MaximumNumberOfSupplementalDecryptionKeysExceeded AdditionalSenseCode = 0x5508
+ MediumAuxiliaryMemoryNotAccessible AdditionalSenseCode = 0x5509
+ DataCurrentlyUnavailable AdditionalSenseCode = 0x550a
+ InsufficientPowerForOperation AdditionalSenseCode = 0x550b
+ InsufficientResourcesToCreateRod AdditionalSenseCode = 0x550c
+ InsufficientResourcesToCreateRodToken AdditionalSenseCode = 0x550d
+ InsufficientZoneResources AdditionalSenseCode = 0x550e
+ InsufficientZoneResourcesToCompleteWrite AdditionalSenseCode = 0x550f
+ MaximumNumberOfStreamsOpen AdditionalSenseCode = 0x5510
+ InsufficientResourcesToBind AdditionalSenseCode = 0x5511
+ UnableToRecoverTableOfContents AdditionalSenseCode = 0x5700
+ GenerationDoesNotExist AdditionalSenseCode = 0x5800
+ UpdatedBlockRead AdditionalSenseCode = 0x5900
+ OperatorRequestOrStateChangeInput AdditionalSenseCode = 0x5a00
+ OperatorMediumRemovalRequest AdditionalSenseCode = 0x5a01
+ OperatorSelectedWriteProtect AdditionalSenseCode = 0x5a02
+ OperatorSelectedWritePermit AdditionalSenseCode = 0x5a03
+ LogException AdditionalSenseCode = 0x5b00
+ ThresholdConditionMet AdditionalSenseCode = 0x5b01
+ LogCounterAtMaximum AdditionalSenseCode = 0x5b02
+ LogListCodesExhausted AdditionalSenseCode = 0x5b03
+ RplStatusChange AdditionalSenseCode = 0x5c00
+ SpindlesSynchronized AdditionalSenseCode = 0x5c01
+ SpindlesNotSynchronized AdditionalSenseCode = 0x5c02
+ FailurePredictionThresholdExceeded AdditionalSenseCode = 0x5d00
+ MediaFailurePredictionThresholdExceeded AdditionalSenseCode = 0x5d01
+ LogicalUnitFailurePredictionThresholdExceeded AdditionalSenseCode = 0x5d02
+ SpareAreaExhaustionPredictionThresholdExceeded AdditionalSenseCode = 0x5d03
+ HardwareImpendingFailureGeneralHardDriveFailure AdditionalSenseCode = 0x5d10
+ HardwareImpendingFailureDriveErrorRateTooHigh AdditionalSenseCode = 0x5d11
+ HardwareImpendingFailureDataErrorRateTooHigh AdditionalSenseCode = 0x5d12
+ HardwareImpendingFailureSeekErrorRateTooHigh AdditionalSenseCode = 0x5d13
+ HardwareImpendingFailureTooManyBlockReassigns AdditionalSenseCode = 0x5d14
+ HardwareImpendingFailureAccessTimesTooHigh AdditionalSenseCode = 0x5d15
+ HardwareImpendingFailureStartUnitTimesTooHigh AdditionalSenseCode = 0x5d16
+ HardwareImpendingFailureChannelParametrics AdditionalSenseCode = 0x5d17
+ HardwareImpendingFailureControllerDetected AdditionalSenseCode = 0x5d18
+ HardwareImpendingFailureThroughputPerformance AdditionalSenseCode = 0x5d19
+ HardwareImpendingFailureSeekTimePerformance AdditionalSenseCode = 0x5d1a
+ HardwareImpendingFailureSpinUpRetryCount AdditionalSenseCode = 0x5d1b
+ HardwareImpendingFailureDriveCalibrationRetryCount AdditionalSenseCode = 0x5d1c
+ HardwareImpendingFailurePowerLossProtectionCircuit AdditionalSenseCode = 0x5d1d
+ ControllerImpendingFailureGeneralHardDriveFailure AdditionalSenseCode = 0x5d20
+ ControllerImpendingFailureDriveErrorRateTooHigh AdditionalSenseCode = 0x5d21
+ ControllerImpendingFailureDataErrorRateTooHigh AdditionalSenseCode = 0x5d22
+ ControllerImpendingFailureSeekErrorRateTooHigh AdditionalSenseCode = 0x5d23
+ ControllerImpendingFailureTooManyBlockReassigns AdditionalSenseCode = 0x5d24
+ ControllerImpendingFailureAccessTimesTooHigh AdditionalSenseCode = 0x5d25
+ ControllerImpendingFailureStartUnitTimesTooHigh AdditionalSenseCode = 0x5d26
+ ControllerImpendingFailureChannelParametrics AdditionalSenseCode = 0x5d27
+ ControllerImpendingFailureControllerDetected AdditionalSenseCode = 0x5d28
+ ControllerImpendingFailureThroughputPerformance AdditionalSenseCode = 0x5d29
+ ControllerImpendingFailureSeekTimePerformance AdditionalSenseCode = 0x5d2a
+ ControllerImpendingFailureSpinUpRetryCount AdditionalSenseCode = 0x5d2b
+ ControllerImpendingFailureDriveCalibrationRetryCount AdditionalSenseCode = 0x5d2c
+ DataChannelImpendingFailureGeneralHardDriveFailure AdditionalSenseCode = 0x5d30
+ DataChannelImpendingFailureDriveErrorRateTooHigh AdditionalSenseCode = 0x5d31
+ DataChannelImpendingFailureDataErrorRateTooHigh AdditionalSenseCode = 0x5d32
+ DataChannelImpendingFailureSeekErrorRateTooHigh AdditionalSenseCode = 0x5d33
+ DataChannelImpendingFailureTooManyBlockReassigns AdditionalSenseCode = 0x5d34
+ DataChannelImpendingFailureAccessTimesTooHigh AdditionalSenseCode = 0x5d35
+ DataChannelImpendingFailureStartUnitTimesTooHigh AdditionalSenseCode = 0x5d36
+ DataChannelImpendingFailureChannelParametrics AdditionalSenseCode = 0x5d37
+ DataChannelImpendingFailureControllerDetected AdditionalSenseCode = 0x5d38
+ DataChannelImpendingFailureThroughputPerformance AdditionalSenseCode = 0x5d39
+ DataChannelImpendingFailureSeekTimePerformance AdditionalSenseCode = 0x5d3a
+ DataChannelImpendingFailureSpinUpRetryCount AdditionalSenseCode = 0x5d3b
+ DataChannelImpendingFailureDriveCalibrationRetryCount AdditionalSenseCode = 0x5d3c
+ ServoImpendingFailureGeneralHardDriveFailure AdditionalSenseCode = 0x5d40
+ ServoImpendingFailureDriveErrorRateTooHigh AdditionalSenseCode = 0x5d41
+ ServoImpendingFailureDataErrorRateTooHigh AdditionalSenseCode = 0x5d42
+ ServoImpendingFailureSeekErrorRateTooHigh AdditionalSenseCode = 0x5d43
+ ServoImpendingFailureTooManyBlockReassigns AdditionalSenseCode = 0x5d44
+ ServoImpendingFailureAccessTimesTooHigh AdditionalSenseCode = 0x5d45
+ ServoImpendingFailureStartUnitTimesTooHigh AdditionalSenseCode = 0x5d46
+ ServoImpendingFailureChannelParametrics AdditionalSenseCode = 0x5d47
+ ServoImpendingFailureControllerDetected AdditionalSenseCode = 0x5d48
+ ServoImpendingFailureThroughputPerformance AdditionalSenseCode = 0x5d49
+ ServoImpendingFailureSeekTimePerformance AdditionalSenseCode = 0x5d4a
+ ServoImpendingFailureSpinUpRetryCount AdditionalSenseCode = 0x5d4b
+ ServoImpendingFailureDriveCalibrationRetryCount AdditionalSenseCode = 0x5d4c
+ SpindleImpendingFailureGeneralHardDriveFailure AdditionalSenseCode = 0x5d50
+ SpindleImpendingFailureDriveErrorRateTooHigh AdditionalSenseCode = 0x5d51
+ SpindleImpendingFailureDataErrorRateTooHigh AdditionalSenseCode = 0x5d52
+ SpindleImpendingFailureSeekErrorRateTooHigh AdditionalSenseCode = 0x5d53
+ SpindleImpendingFailureTooManyBlockReassigns AdditionalSenseCode = 0x5d54
+ SpindleImpendingFailureAccessTimesTooHigh AdditionalSenseCode = 0x5d55
+ SpindleImpendingFailureStartUnitTimesTooHigh AdditionalSenseCode = 0x5d56
+ SpindleImpendingFailureChannelParametrics AdditionalSenseCode = 0x5d57
+ SpindleImpendingFailureControllerDetected AdditionalSenseCode = 0x5d58
+ SpindleImpendingFailureThroughputPerformance AdditionalSenseCode = 0x5d59
+ SpindleImpendingFailureSeekTimePerformance AdditionalSenseCode = 0x5d5a
+ SpindleImpendingFailureSpinUpRetryCount AdditionalSenseCode = 0x5d5b
+ SpindleImpendingFailureDriveCalibrationRetryCount AdditionalSenseCode = 0x5d5c
+ FirmwareImpendingFailureGeneralHardDriveFailure AdditionalSenseCode = 0x5d60
+ FirmwareImpendingFailureDriveErrorRateTooHigh AdditionalSenseCode = 0x5d61
+ FirmwareImpendingFailureDataErrorRateTooHigh AdditionalSenseCode = 0x5d62
+ FirmwareImpendingFailureSeekErrorRateTooHigh AdditionalSenseCode = 0x5d63
+ FirmwareImpendingFailureTooManyBlockReassigns AdditionalSenseCode = 0x5d64
+ FirmwareImpendingFailureAccessTimesTooHigh AdditionalSenseCode = 0x5d65
+ FirmwareImpendingFailureStartUnitTimesTooHigh AdditionalSenseCode = 0x5d66
+ FirmwareImpendingFailureChannelParametrics AdditionalSenseCode = 0x5d67
+ FirmwareImpendingFailureControllerDetected AdditionalSenseCode = 0x5d68
+ FirmwareImpendingFailureThroughputPerformance AdditionalSenseCode = 0x5d69
+ FirmwareImpendingFailureSeekTimePerformance AdditionalSenseCode = 0x5d6a
+ FirmwareImpendingFailureSpinUpRetryCount AdditionalSenseCode = 0x5d6b
+ FirmwareImpendingFailureDriveCalibrationRetryCount AdditionalSenseCode = 0x5d6c
+ MediaImpendingFailureEnduranceLimitMet AdditionalSenseCode = 0x5d73
+ FailurePredictionThresholdExceededfalse AdditionalSenseCode = 0x5dff
+ LowPowerConditionOn AdditionalSenseCode = 0x5e00
+ IdleConditionActivatedByTimer AdditionalSenseCode = 0x5e01
+ StandbyConditionActivatedByTimer AdditionalSenseCode = 0x5e02
+ IdleConditionActivatedByCommand AdditionalSenseCode = 0x5e03
+ StandbyConditionActivatedByCommand AdditionalSenseCode = 0x5e04
+ IdleBConditionActivatedByTimer AdditionalSenseCode = 0x5e05
+ IdleBConditionActivatedByCommand AdditionalSenseCode = 0x5e06
+ IdleCConditionActivatedByTimer AdditionalSenseCode = 0x5e07
+ IdleCConditionActivatedByCommand AdditionalSenseCode = 0x5e08
+ StandbyYConditionActivatedByTimer AdditionalSenseCode = 0x5e09
+ StandbyYConditionActivatedByCommand AdditionalSenseCode = 0x5e0a
+ PowerStateChangeToActive AdditionalSenseCode = 0x5e41
+ PowerStateChangeToIdle AdditionalSenseCode = 0x5e42
+ PowerStateChangeToStandby AdditionalSenseCode = 0x5e43
+ PowerStateChangeToSleep AdditionalSenseCode = 0x5e45
+ PowerStateChangeToDeviceControl AdditionalSenseCode = 0x5e47
+ LampFailure AdditionalSenseCode = 0x6000
+ VideoAcquisitionError AdditionalSenseCode = 0x6100
+ UnableToAcquireVideo AdditionalSenseCode = 0x6101
+ OutOfFocus AdditionalSenseCode = 0x6102
+ ScanHeadPositioningError AdditionalSenseCode = 0x6200
+ EndOfUserAreaEncounteredOnThisTrack AdditionalSenseCode = 0x6300
+ PacketDoesNotFitInAvailableSpace AdditionalSenseCode = 0x6301
+ IllegalModeForThisTrack AdditionalSenseCode = 0x6400
+ InvalidPacketSize AdditionalSenseCode = 0x6401
+ VoltageFault AdditionalSenseCode = 0x6500
+ AutomaticDocumentFeederCoverUp AdditionalSenseCode = 0x6600
+ AutomaticDocumentFeederLiftUp AdditionalSenseCode = 0x6601
+ DocumentJamInAutomaticDocumentFeeder AdditionalSenseCode = 0x6602
+ DocumentMissFeedAutomaticInDocumentFeeder AdditionalSenseCode = 0x6603
+ ConfigurationFailure AdditionalSenseCode = 0x6700
+ ConfigurationOfIncapableLogicalUnitsFailed AdditionalSenseCode = 0x6701
+ AddLogicalUnitFailed AdditionalSenseCode = 0x6702
+ ModificationOfLogicalUnitFailed AdditionalSenseCode = 0x6703
+ ExchangeOfLogicalUnitFailed AdditionalSenseCode = 0x6704
+ RemoveOfLogicalUnitFailed AdditionalSenseCode = 0x6705
+ AttachmentOfLogicalUnitFailed AdditionalSenseCode = 0x6706
+ CreationOfLogicalUnitFailed AdditionalSenseCode = 0x6707
+ AssignFailureOccurred AdditionalSenseCode = 0x6708
+ MultiplyAssignedLogicalUnit AdditionalSenseCode = 0x6709
+ SetTargetPortGroupsCommandFailed AdditionalSenseCode = 0x670a
+ AtaDeviceFeatureNotEnabled AdditionalSenseCode = 0x670b
+ CommandRejected AdditionalSenseCode = 0x670c
+ ExplicitBindNotAllowed AdditionalSenseCode = 0x670d
+ LogicalUnitNotConfigured AdditionalSenseCode = 0x6800
+ SubsidiaryLogicalUnitNotConfigured AdditionalSenseCode = 0x6801
+ DataLossOnLogicalUnit AdditionalSenseCode = 0x6900
+ MultipleLogicalUnitFailures AdditionalSenseCode = 0x6901
+ ParitydataMismatch AdditionalSenseCode = 0x6902
+ InformationalReferToLog AdditionalSenseCode = 0x6a00
+ StateChangeHasOccurred AdditionalSenseCode = 0x6b00
+ RedundancyLevelGotBetter AdditionalSenseCode = 0x6b01
+ RedundancyLevelGotWorse AdditionalSenseCode = 0x6b02
+ RebuildFailureOccurred AdditionalSenseCode = 0x6c00
+ RecalculateFailureOccurred AdditionalSenseCode = 0x6d00
+ CommandToLogicalUnitFailed AdditionalSenseCode = 0x6e00
+ CopyProtectionKeyExchangeFailureAuthentication AdditionalSenseCode = 0x6f00
+ CopyProtectionKeyExchangeFailureKeyNotPresent AdditionalSenseCode = 0x6f01
+ CopyProtectionKeyExchangeFailureKeyNotEstablished AdditionalSenseCode = 0x6f02
+ ReadOfScrambledSectorWithoutAuthentication AdditionalSenseCode = 0x6f03
+ MediaRegionCodeIsMismatchedToLogicalUnitRegion AdditionalSenseCode = 0x6f04
+ DriveRegionMustBePermanentregionResetCountError AdditionalSenseCode = 0x6f05
+ InsufficientBlockCountForBindingNonceRecording AdditionalSenseCode = 0x6f06
+ ConflictInBindingNonceRecording AdditionalSenseCode = 0x6f07
+ InsufficientPermission AdditionalSenseCode = 0x6f08
+ InvalidDriveHostPairingServer AdditionalSenseCode = 0x6f09
+ DriveHostPairingSuspended AdditionalSenseCode = 0x6f0a
+ DecompressionExceptionLongAlgorithmId AdditionalSenseCode = 0x7100
+ SessionFixationError AdditionalSenseCode = 0x7200
+ SessionFixationErrorWritingLeadIn AdditionalSenseCode = 0x7201
+ SessionFixationErrorWritingLeadOut AdditionalSenseCode = 0x7202
+ SessionFixationErrorIncompleteTrackInSession AdditionalSenseCode = 0x7203
+ EmptyOrPartiallyWrittenReservedTrack AdditionalSenseCode = 0x7204
+ NoMoreTrackReservationsAllowed AdditionalSenseCode = 0x7205
+ RmzExtensionIsNotAllowed AdditionalSenseCode = 0x7206
+ NoMoreTestZoneExtensionsAreAllowed AdditionalSenseCode = 0x7207
+ CdControlError AdditionalSenseCode = 0x7300
+ PowerCalibrationAreaAlmostFull AdditionalSenseCode = 0x7301
+ PowerCalibrationAreaIsFull AdditionalSenseCode = 0x7302
+ PowerCalibrationAreaError AdditionalSenseCode = 0x7303
+ ProgramMemoryAreaUpdateFailure AdditionalSenseCode = 0x7304
+ ProgramMemoryAreaIsFull AdditionalSenseCode = 0x7305
+ RmapmaIsAlmostFull AdditionalSenseCode = 0x7306
+ CurrentPowerCalibrationAreaAlmostFull AdditionalSenseCode = 0x7310
+ CurrentPowerCalibrationAreaIsFull AdditionalSenseCode = 0x7311
+ RdzIsFull AdditionalSenseCode = 0x7317
+ SecurityError AdditionalSenseCode = 0x7400
+ UnableToDecryptData AdditionalSenseCode = 0x7401
+ UnencryptedDataEncounteredWhileDecrypting AdditionalSenseCode = 0x7402
+ IncorrectDataEncryptionKey AdditionalSenseCode = 0x7403
+ CryptographicIntegrityValidationFailed AdditionalSenseCode = 0x7404
+ ErrorDecryptingData AdditionalSenseCode = 0x7405
+ UnknownSignatureVerificationKey AdditionalSenseCode = 0x7406
+ EncryptionParametersNotUseable AdditionalSenseCode = 0x7407
+ DigitalSignatureValidationFailure AdditionalSenseCode = 0x7408
+ EncryptionModeMismatchOnRead AdditionalSenseCode = 0x7409
+ EncryptedBlockNotRawReadEnabled AdditionalSenseCode = 0x740a
+ IncorrectEncryptionParameters AdditionalSenseCode = 0x740b
+ UnableToDecryptParameterList AdditionalSenseCode = 0x740c
+ EncryptionAlgorithmDisabled AdditionalSenseCode = 0x740d
+ SaCreationParameterValueInvalid AdditionalSenseCode = 0x7410
+ SaCreationParameterValueRejected AdditionalSenseCode = 0x7411
+ InvalidSaUsage AdditionalSenseCode = 0x7412
+ DataEncryptionConfigurationPrevented AdditionalSenseCode = 0x7421
+ SaCreationParameterNotSupported AdditionalSenseCode = 0x7430
+ AuthenticationFailed AdditionalSenseCode = 0x7440
+ ExternalDataEncryptionKeyManagerAccessError AdditionalSenseCode = 0x7461
+ ExternalDataEncryptionKeyManagerError AdditionalSenseCode = 0x7462
+ ExternalDataEncryptionKeyNotFound AdditionalSenseCode = 0x7463
+ ExternalDataEncryptionRequestNotAuthorized AdditionalSenseCode = 0x7464
+ ExternalDataEncryptionControlTimeout AdditionalSenseCode = 0x746e
+ ExternalDataEncryptionControlError AdditionalSenseCode = 0x746f
+ LogicalUnitAccessNotAuthorized AdditionalSenseCode = 0x7471
+ SecurityConflictInTranslatedDevice AdditionalSenseCode = 0x7479
+)
+
+var additionalSenseCodeDesc = map[AdditionalSenseCode]string{
+ 0x0000: "no additional sense information",
+ 0x0001: "filemark detected",
+ 0x0002: "end-of-partition/medium detected",
+ 0x0003: "setmark detected",
+ 0x0004: "beginning-of-partition/medium detected",
+ 0x0005: "end-of-data detected",
+ 0x0006: "i/o process terminated",
+ 0x0007: "programmable early warning detected",
+ 0x0011: "audio play operation in progress",
+ 0x0012: "audio play operation paused",
+ 0x0013: "audio play operation successfully completed",
+ 0x0014: "audio play operation stopped due to error",
+ 0x0015: "no current audio status to return",
+ 0x0016: "operation in progress",
+ 0x0017: "cleaning requested",
+ 0x0018: "erase operation in progress",
+ 0x0019: "locate operation in progress",
+ 0x001a: "rewind operation in progress",
+ 0x001b: "set capacity operation in progress",
+ 0x001c: "verify operation in progress",
+ 0x001d: "ata pass through information available",
+ 0x001e: "conflicting sa creation request",
+ 0x001f: "logical unit transitioning to another power condition",
+ 0x0020: "extended copy information available",
+ 0x0021: "atomic command aborted due to aca",
+ 0x0022: "deferred microcode is pending",
+ 0x0100: "no index/sector signal",
+ 0x0200: "no seek complete",
+ 0x0300: "peripheral device write fault",
+ 0x0301: "no write current",
+ 0x0302: "excessive write errors",
+ 0x0400: "logical unit not ready, cause not reportable",
+ 0x0401: "logical unit is in process of becoming ready",
+ 0x0402: "logical unit not ready, initializing command required",
+ 0x0403: "logical unit not ready, manual intervention required",
+ 0x0404: "logical unit not ready, format in progress",
+ 0x0405: "logical unit not ready, rebuild in progress",
+ 0x0406: "logical unit not ready, recalculation in progress",
+ 0x0407: "logical unit not ready, operation in progress",
+ 0x0408: "logical unit not ready, long write in progress",
+ 0x0409: "logical unit not ready, self-test in progress",
+ 0x040a: "logical unit not accessible, asymmetric access state transition",
+ 0x040b: "logical unit not accessible, target port in standby state",
+ 0x040c: "logical unit not accessible, target port in unavailable state",
+ 0x040d: "logical unit not ready, structure check required",
+ 0x040e: "logical unit not ready, security session in progress",
+ 0x0410: "logical unit not ready, auxiliary memory not accessible",
+ 0x0411: "logical unit not ready, notify (enable spinup) required",
+ 0x0412: "logical unit not ready, offline",
+ 0x0413: "logical unit not ready, sa creation in progress",
+ 0x0414: "logical unit not ready, space allocation in progress",
+ 0x0415: "logical unit not ready, robotics disabled",
+ 0x0416: "logical unit not ready, configuration required",
+ 0x0417: "logical unit not ready, calibration required",
+ 0x0418: "logical unit not ready, a door is open",
+ 0x0419: "logical unit not ready, operating in sequential mode",
+ 0x041a: "logical unit not ready, start stop unit command in progress",
+ 0x041b: "logical unit not ready, sanitize in progress",
+ 0x041c: "logical unit not ready, additional power use not yet granted",
+ 0x041d: "logical unit not ready, configuration in progress",
+ 0x041e: "logical unit not ready, microcode activation required",
+ 0x041f: "logical unit not ready, microcode download required",
+ 0x0420: "logical unit not ready, logical unit reset required",
+ 0x0421: "logical unit not ready, hard reset required",
+ 0x0422: "logical unit not ready, power cycle required",
+ 0x0423: "logical unit not ready, affiliation required",
+ 0x0424: "depopulation in progress",
+ 0x0500: "logical unit does not respond to selection",
+ 0x0600: "no reference position found",
+ 0x0700: "multiple peripheral devices selected",
+ 0x0800: "logical unit communication failure",
+ 0x0801: "logical unit communication time-out",
+ 0x0802: "logical unit communication parity error",
+ 0x0803: "logical unit communication crc error (ultra-dma/32)",
+ 0x0804: "unreachable copy target",
+ 0x0900: "track following error",
+ 0x0901: "tracking servo failure",
+ 0x0902: "focus servo failure",
+ 0x0903: "spindle servo failure",
+ 0x0904: "head select fault",
+ 0x0905: "vibration induced tracking error",
+ 0x0a00: "error log overflow",
+ 0x0b00: "warning",
+ 0x0b01: "warning - specified temperature exceeded",
+ 0x0b02: "warning - enclosure degraded",
+ 0x0b03: "warning - background self-test failed",
+ 0x0b04: "warning - background pre-scan detected medium error",
+ 0x0b05: "warning - background medium scan detected medium error",
+ 0x0b06: "warning - non-volatile cache now volatile",
+ 0x0b07: "warning - degraded power to non-volatile cache",
+ 0x0b08: "warning - power loss expected",
+ 0x0b09: "warning - device statistics notification active",
+ 0x0b0a: "warning - high critical temperature limit exceeded",
+ 0x0b0b: "warning - low critical temperature limit exceeded",
+ 0x0b0c: "warning - high operating temperature limit exceeded",
+ 0x0b0d: "warning - low operating temperature limit exceeded",
+ 0x0b0e: "warning - high critical humidity limit exceeded",
+ 0x0b0f: "warning - low critical humidity limit exceeded",
+ 0x0b10: "warning - high operating humidity limit exceeded",
+ 0x0b11: "warning - low operating humidity limit exceeded",
+ 0x0b12: "warning - microcode security at risk",
+ 0x0b13: "warning - microcode digital signature validation failure",
+ 0x0b14: "warning - physical element status change",
+ 0x0c00: "write error",
+ 0x0c01: "write error - recovered with auto reallocation",
+ 0x0c02: "write error - auto reallocation failed",
+ 0x0c03: "write error - recommend reassignment",
+ 0x0c04: "compression check miscompare error",
+ 0x0c05: "data expansion occurred during compression",
+ 0x0c06: "block not compressible",
+ 0x0c07: "write error - recovery needed",
+ 0x0c08: "write error - recovery failed",
+ 0x0c09: "write error - loss of streaming",
+ 0x0c0a: "write error - padding blocks added",
+ 0x0c0b: "auxiliary memory write error",
+ 0x0c0c: "write error - unexpected unsolicited data",
+ 0x0c0d: "write error - not enough unsolicited data",
+ 0x0c0e: "multiple write errors",
+ 0x0c0f: "defects in error window",
+ 0x0c10: "incomplete multiple atomic write operations",
+ 0x0c11: "write error - recovery scan needed",
+ 0x0c12: "write error - insufficient zone resources",
+ 0x0d00: "error detected by third party temporary initiator",
+ 0x0d01: "third party device failure",
+ 0x0d02: "copy target device not reachable",
+ 0x0d03: "incorrect copy target device type",
+ 0x0d04: "copy target device data underrun",
+ 0x0d05: "copy target device data overrun",
+ 0x0e00: "invalid information unit",
+ 0x0e01: "information unit too short",
+ 0x0e02: "information unit too long",
+ 0x0e03: "invalid field in command information unit",
+ 0x1000: "id crc or ecc error",
+ 0x1001: "logical block guard check failed",
+ 0x1002: "logical block application tag check failed",
+ 0x1003: "logical block reference tag check failed",
+ 0x1004: "logical block protection error on recover buffered data",
+ 0x1005: "logical block protection method error",
+ 0x1100: "unrecovered read error",
+ 0x1101: "read retries exhausted",
+ 0x1102: "error too long to correct",
+ 0x1103: "multiple read errors",
+ 0x1104: "unrecovered read error - auto reallocate failed",
+ 0x1105: "l-ec uncorrectable error",
+ 0x1106: "circ unrecovered error",
+ 0x1107: "data re-synchronization error",
+ 0x1108: "incomplete block read",
+ 0x1109: "no gap found",
+ 0x110a: "miscorrected error",
+ 0x110b: "unrecovered read error - recommend reassignment",
+ 0x110c: "unrecovered read error - recommend rewrite the data",
+ 0x110d: "de-compression crc error",
+ 0x110e: "cannot decompress using declared algorithm",
+ 0x110f: "error reading upc/ean number",
+ 0x1110: "error reading isrc number",
+ 0x1111: "read error - loss of streaming",
+ 0x1112: "auxiliary memory read error",
+ 0x1113: "read error - failed retransmission request",
+ 0x1114: "read error - lba marked bad by application client",
+ 0x1115: "write after sanitize required",
+ 0x1200: "address mark not found for id field",
+ 0x1300: "address mark not found for data field",
+ 0x1400: "recorded entity not found",
+ 0x1401: "record not found",
+ 0x1402: "filemark or setmark not found",
+ 0x1403: "end-of-data not found",
+ 0x1404: "block sequence error",
+ 0x1405: "record not found - recommend reassignment",
+ 0x1406: "record not found - data auto-reallocated",
+ 0x1407: "locate operation failure",
+ 0x1500: "random positioning error",
+ 0x1501: "mechanical positioning error",
+ 0x1502: "positioning error detected by read of medium",
+ 0x1600: "data synchronization mark error",
+ 0x1601: "data sync error - data rewritten",
+ 0x1602: "data sync error - recommend rewrite",
+ 0x1603: "data sync error - data auto-reallocated",
+ 0x1604: "data sync error - recommend reassignment",
+ 0x1700: "recovered data with no error correction applied",
+ 0x1701: "recovered data with retries",
+ 0x1702: "recovered data with positive head offset",
+ 0x1703: "recovered data with negative head offset",
+ 0x1704: "recovered data with retries and/or circ applied",
+ 0x1705: "recovered data using previous sector id",
+ 0x1706: "recovered data without ecc - data auto-reallocated",
+ 0x1707: "recovered data without ecc - recommend reassignment",
+ 0x1708: "recovered data without ecc - recommend rewrite",
+ 0x1709: "recovered data without ecc - data rewritten",
+ 0x1800: "recovered data with error correction applied",
+ 0x1801: "recovered data with error corr. & retries applied",
+ 0x1802: "recovered data - data auto-reallocated",
+ 0x1803: "recovered data with circ",
+ 0x1804: "recovered data with l-ec",
+ 0x1805: "recovered data - recommend reassignment",
+ 0x1806: "recovered data - recommend rewrite",
+ 0x1807: "recovered data with ecc - data rewritten",
+ 0x1808: "recovered data with linking",
+ 0x1900: "defect list error",
+ 0x1901: "defect list not available",
+ 0x1902: "defect list error in primary list",
+ 0x1903: "defect list error in grown list",
+ 0x1a00: "parameter list length error",
+ 0x1b00: "synchronous data transfer error",
+ 0x1c00: "defect list not found",
+ 0x1c01: "primary defect list not found",
+ 0x1c02: "grown defect list not found",
+ 0x1d00: "miscompare during verify operation",
+ 0x1d01: "miscompare verify of unmapped lba",
+ 0x1e00: "recovered id with ecc correction",
+ 0x1f00: "partial defect list transfer",
+ 0x2000: "invalid command operation code",
+ 0x2001: "access denied - initiator pending-enrolled",
+ 0x2002: "access denied - no access rights",
+ 0x2003: "access denied - invalid mgmt id key",
+ 0x2004: "illegal command while in write capable state",
+ 0x2006: "illegal command while in explicit address mode",
+ 0x2007: "illegal command while in implicit address mode",
+ 0x2008: "access denied - enrollment conflict",
+ 0x2009: "access denied - invalid lu identifier",
+ 0x200a: "access denied - invalid proxy token",
+ 0x200b: "access denied - acl lun conflict",
+ 0x200c: "illegal command when not in append-only mode",
+ 0x200d: "not an administrative logical unit",
+ 0x200e: "not a subsidiary logical unit",
+ 0x200f: "not a conglomerate logical unit",
+ 0x2100: "logical block address out of range",
+ 0x2101: "invalid element address",
+ 0x2102: "invalid address for write",
+ 0x2103: "invalid write crossing layer jump",
+ 0x2104: "unaligned write command",
+ 0x2105: "write boundary violation",
+ 0x2106: "attempt to read invalid data",
+ 0x2107: "read boundary violation",
+ 0x2108: "misaligned write command",
+ 0x2200: "illegal function (use 20 00, 24 00, or 26 00)",
+ 0x2300: "invalid token operation, cause not reportable",
+ 0x2301: "invalid token operation, unsupported token type",
+ 0x2302: "invalid token operation, remote token usage not supported",
+ 0x2303: "invalid token operation, remote rod token creation not supported",
+ 0x2304: "invalid token operation, token unknown",
+ 0x2305: "invalid token operation, token corrupt",
+ 0x2306: "invalid token operation, token revoked",
+ 0x2307: "invalid token operation, token expired",
+ 0x2308: "invalid token operation, token cancelled",
+ 0x2309: "invalid token operation, token deleted",
+ 0x230a: "invalid token operation, invalid token length",
+ 0x2400: "invalid field in cdb",
+ 0x2401: "cdb decryption error",
+ 0x2404: "security audit value frozen",
+ 0x2405: "security working key frozen",
+ 0x2406: "nonce not unique",
+ 0x2407: "nonce timestamp out of range",
+ 0x2408: "invalid xcdb",
+ 0x2409: "invalid fast format",
+ 0x2500: "logical unit not supported",
+ 0x2600: "invalid field in parameter list",
+ 0x2601: "parameter not supported",
+ 0x2602: "parameter value invalid",
+ 0x2603: "threshold parameters not supported",
+ 0x2604: "invalid release of persistent reservation",
+ 0x2605: "data decryption error",
+ 0x2606: "too many target descriptors",
+ 0x2607: "unsupported target descriptor type code",
+ 0x2608: "too many segment descriptors",
+ 0x2609: "unsupported segment descriptor type code",
+ 0x260a: "unexpected inexact segment",
+ 0x260b: "inline data length exceeded",
+ 0x260c: "invalid operation for copy source or destination",
+ 0x260d: "copy segment granularity violation",
+ 0x260e: "invalid parameter while port is enabled",
+ 0x260f: "invalid data-out buffer integrity check value",
+ 0x2610: "data decryption key fail limit reached",
+ 0x2611: "incomplete key-associated data set",
+ 0x2612: "vendor specific key reference not found",
+ 0x2613: "application tag mode page is invalid",
+ 0x2614: "tape stream mirroring prevented",
+ 0x2615: "copy source or copy destination not authorized",
+ 0x2700: "write protected",
+ 0x2701: "hardware write protected",
+ 0x2702: "logical unit software write protected",
+ 0x2703: "associated write protect",
+ 0x2704: "persistent write protect",
+ 0x2705: "permanent write protect",
+ 0x2706: "conditional write protect",
+ 0x2707: "space allocation failed write protect",
+ 0x2708: "zone is read only",
+ 0x2800: "not ready to ready change, medium may have changed",
+ 0x2801: "import or export element accessed",
+ 0x2802: "format-layer may have changed",
+ 0x2803: "import/export element accessed, medium changed",
+ 0x2900: "power on, reset, or bus device reset occurred",
+ 0x2901: "power on occurred",
+ 0x2902: "scsi bus reset occurred",
+ 0x2903: "bus device reset function occurred",
+ 0x2904: "device internal reset",
+ 0x2905: "transceiver mode changed to single-ended",
+ 0x2906: "transceiver mode changed to lvd",
+ 0x2907: "i_t nexus loss occurred",
+ 0x2a00: "parameters changed",
+ 0x2a01: "mode parameters changed",
+ 0x2a02: "log parameters changed",
+ 0x2a03: "reservations preempted",
+ 0x2a04: "reservations released",
+ 0x2a05: "registrations preempted",
+ 0x2a06: "asymmetric access state changed",
+ 0x2a07: "implicit asymmetric access state transition failed",
+ 0x2a08: "priority changed",
+ 0x2a09: "capacity data has changed",
+ 0x2a0a: "error history i_t nexus cleared",
+ 0x2a0b: "error history snapshot released",
+ 0x2a0c: "error recovery attributes have changed",
+ 0x2a0d: "data encryption capabilities changed",
+ 0x2a10: "timestamp changed",
+ 0x2a11: "data encryption parameters changed by another i_t nexus",
+ 0x2a12: "data encryption parameters changed by vendor specific event",
+ 0x2a13: "data encryption key instance counter has changed",
+ 0x2a14: "sa creation capabilities data has changed",
+ 0x2a15: "medium removal prevention preempted",
+ 0x2a16: "zone reset write pointer recommended",
+ 0x2b00: "copy cannot execute since host cannot disconnect",
+ 0x2c00: "command sequence error",
+ 0x2c01: "too many windows specified",
+ 0x2c02: "invalid combination of windows specified",
+ 0x2c03: "current program area is not empty",
+ 0x2c04: "current program area is empty",
+ 0x2c05: "illegal power condition request",
+ 0x2c06: "persistent prevent conflict",
+ 0x2c07: "previous busy status",
+ 0x2c08: "previous task set full status",
+ 0x2c09: "previous reservation conflict status",
+ 0x2c0a: "partition or collection contains user objects",
+ 0x2c0b: "not reserved",
+ 0x2c0c: "orwrite generation does not match",
+ 0x2c0d: "reset write pointer not allowed",
+ 0x2c0e: "zone is offline",
+ 0x2c0f: "stream not open",
+ 0x2c10: "unwritten data in zone",
+ 0x2c11: "descriptor format sense data required",
+ 0x2d00: "overwrite error on update in place",
+ 0x2e00: "insufficient time for operation",
+ 0x2e01: "command timeout before processing",
+ 0x2e02: "command timeout during processing",
+ 0x2e03: "command timeout during processing due to error recovery",
+ 0x2f00: "commands cleared by another initiator",
+ 0x2f01: "commands cleared by power loss notification",
+ 0x2f02: "commands cleared by device server",
+ 0x2f03: "some commands cleared by queuing layer event",
+ 0x3000: "incompatible medium installed",
+ 0x3001: "cannot read medium - unknown format",
+ 0x3002: "cannot read medium - incompatible format",
+ 0x3003: "cleaning cartridge installed",
+ 0x3004: "cannot write medium - unknown format",
+ 0x3005: "cannot write medium - incompatible format",
+ 0x3006: "cannot format medium - incompatible medium",
+ 0x3007: "cleaning failure",
+ 0x3008: "cannot write - application code mismatch",
+ 0x3009: "current session not fixated for append",
+ 0x300a: "cleaning request rejected",
+ 0x300c: "worm medium - overwrite attempted",
+ 0x300d: "worm medium - integrity check",
+ 0x3010: "medium not formatted",
+ 0x3011: "incompatible volume type",
+ 0x3012: "incompatible volume qualifier",
+ 0x3013: "cleaning volume expired",
+ 0x3100: "medium format corrupted",
+ 0x3101: "format command failed",
+ 0x3102: "zoned formatting failed due to spare linking",
+ 0x3103: "sanitize command failed",
+ 0x3104: "depopulation failed",
+ 0x3200: "no defect spare location available",
+ 0x3201: "defect list update failure",
+ 0x3300: "tape length error",
+ 0x3400: "enclosure failure",
+ 0x3500: "enclosure services failure",
+ 0x3501: "unsupported enclosure function",
+ 0x3502: "enclosure services unavailable",
+ 0x3503: "enclosure services transfer failure",
+ 0x3504: "enclosure services transfer refused",
+ 0x3505: "enclosure services checksum error",
+ 0x3600: "ribbon, ink, or toner failure",
+ 0x3700: "rounded parameter",
+ 0x3800: "event status notification",
+ 0x3802: "esn - power management class event",
+ 0x3804: "esn - media class event",
+ 0x3806: "esn - device busy class event",
+ 0x3807: "thin provisioning soft threshold reached",
+ 0x3900: "saving parameters not supported",
+ 0x3a00: "medium not present",
+ 0x3a01: "medium not present - tray closed",
+ 0x3a02: "medium not present - tray open",
+ 0x3a03: "medium not present - loadable",
+ 0x3a04: "medium not present - medium auxiliary memory accessible",
+ 0x3b00: "sequential positioning error",
+ 0x3b01: "tape position error at beginning-of-medium",
+ 0x3b02: "tape position error at end-of-medium",
+ 0x3b03: "tape or electronic vertical forms unit not ready",
+ 0x3b04: "slew failure",
+ 0x3b05: "paper jam",
+ 0x3b06: "failed to sense top-of-form",
+ 0x3b07: "failed to sense bottom-of-form",
+ 0x3b08: "reposition error",
+ 0x3b09: "read past end of medium",
+ 0x3b0a: "read past beginning of medium",
+ 0x3b0b: "position past end of medium",
+ 0x3b0c: "position past beginning of medium",
+ 0x3b0d: "medium destination element full",
+ 0x3b0e: "medium source element empty",
+ 0x3b0f: "end of medium reached",
+ 0x3b11: "medium magazine not accessible",
+ 0x3b12: "medium magazine removed",
+ 0x3b13: "medium magazine inserted",
+ 0x3b14: "medium magazine locked",
+ 0x3b15: "medium magazine unlocked",
+ 0x3b16: "mechanical positioning or changer error",
+ 0x3b17: "read past end of user object",
+ 0x3b18: "element disabled",
+ 0x3b19: "element enabled",
+ 0x3b1a: "data transfer device removed",
+ 0x3b1b: "data transfer device inserted",
+ 0x3b1c: "too many logical objects on partition to support operation",
+ 0x3d00: "invalid bits in identify message",
+ 0x3e00: "logical unit has not self-configured yet",
+ 0x3e01: "logical unit failure",
+ 0x3e02: "timeout on logical unit",
+ 0x3e03: "logical unit failed self-test",
+ 0x3e04: "logical unit unable to update self-test log",
+ 0x3f00: "target operating conditions have changed",
+ 0x3f01: "microcode has been changed",
+ 0x3f02: "changed operating definition",
+ 0x3f03: "inquiry data has changed",
+ 0x3f04: "component device attached",
+ 0x3f05: "device identifier changed",
+ 0x3f06: "redundancy group created or modified",
+ 0x3f07: "redundancy group deleted",
+ 0x3f08: "spare created or modified",
+ 0x3f09: "spare deleted",
+ 0x3f0a: "volume set created or modified",
+ 0x3f0b: "volume set deleted",
+ 0x3f0c: "volume set deassigned",
+ 0x3f0d: "volume set reassigned",
+ 0x3f0e: "reported luns data has changed",
+ 0x3f0f: "echo buffer overwritten",
+ 0x3f10: "medium loadable",
+ 0x3f11: "medium auxiliary memory accessible",
+ 0x3f12: "iscsi ip address added",
+ 0x3f13: "iscsi ip address removed",
+ 0x3f14: "iscsi ip address changed",
+ 0x3f15: "inspect referrals sense descriptors",
+ 0x3f16: "microcode has been changed without reset",
+ 0x3f17: "zone transition to full",
+ 0x3f18: "bind completed",
+ 0x3f19: "bind redirected",
+ 0x3f1a: "subsidiary binding changed",
+ 0x4000: "ram failure (should use 40 nn)",
+ 0x4100: "data path failure (should use 40 nn)",
+ 0x4200: "power-on or self-test failure (should use 40 nn)",
+ 0x4300: "message error",
+ 0x4400: "internal target failure",
+ 0x4401: "persistent reservation information lost",
+ 0x4471: "ata device failed set features",
+ 0x4500: "select or reselect failure",
+ 0x4600: "unsuccessful soft reset",
+ 0x4700: "scsi parity error",
+ 0x4701: "data phase crc error detected",
+ 0x4702: "scsi parity error detected during st data phase",
+ 0x4703: "information unit iucrc error detected",
+ 0x4704: "asynchronous information protection error detected",
+ 0x4705: "protocol service crc error",
+ 0x4706: "phy test function in progress",
+ 0x477f: "some commands cleared by iscsi protocol event",
+ 0x4800: "initiator detected error message received",
+ 0x4900: "invalid message error",
+ 0x4a00: "command phase error",
+ 0x4b00: "data phase error",
+ 0x4b01: "invalid target port transfer tag received",
+ 0x4b02: "too much write data",
+ 0x4b03: "ack/nak timeout",
+ 0x4b04: "nak received",
+ 0x4b05: "data offset error",
+ 0x4b06: "initiator response timeout",
+ 0x4b07: "connection lost",
+ 0x4b08: "data-in buffer overflow - data buffer size",
+ 0x4b09: "data-in buffer overflow - data buffer descriptor area",
+ 0x4b0a: "data-in buffer error",
+ 0x4b0b: "data-out buffer overflow - data buffer size",
+ 0x4b0c: "data-out buffer overflow - data buffer descriptor area",
+ 0x4b0d: "data-out buffer error",
+ 0x4b0e: "pcie fabric error",
+ 0x4b0f: "pcie completion timeout",
+ 0x4b10: "pcie completer abort",
+ 0x4b11: "pcie poisoned tlp received",
+ 0x4b12: "pcie ecrc check failed",
+ 0x4b13: "pcie unsupported request",
+ 0x4b14: "pcie acs violation",
+ 0x4b15: "pcie tlp prefix blocked",
+ 0x4c00: "logical unit failed self-configuration",
+ 0x4e00: "overlapped commands attempted",
+ 0x5000: "write append error",
+ 0x5001: "write append position error",
+ 0x5002: "position error related to timing",
+ 0x5100: "erase failure",
+ 0x5101: "erase failure - incomplete erase operation detected",
+ 0x5200: "cartridge fault",
+ 0x5300: "media load or eject failed",
+ 0x5301: "unload tape failure",
+ 0x5302: "medium removal prevented",
+ 0x5303: "medium removal prevented by data transfer element",
+ 0x5304: "medium thread or unthread failure",
+ 0x5305: "volume identifier invalid",
+ 0x5306: "volume identifier missing",
+ 0x5307: "duplicate volume identifier",
+ 0x5308: "element status unknown",
+ 0x5309: "data transfer device error - load failed",
+ 0x530a: "data transfer device error - unload failed",
+ 0x530b: "data transfer device error - unload missing",
+ 0x530c: "data transfer device error - eject failed",
+ 0x530d: "data transfer device error - library communication failed",
+ 0x5400: "scsi to host system interface failure",
+ 0x5500: "system resource failure",
+ 0x5501: "system buffer full",
+ 0x5502: "insufficient reservation resources",
+ 0x5503: "insufficient resources",
+ 0x5504: "insufficient registration resources",
+ 0x5505: "insufficient access control resources",
+ 0x5506: "auxiliary memory out of space",
+ 0x5507: "quota error",
+ 0x5508: "maximum number of supplemental decryption keys exceeded",
+ 0x5509: "medium auxiliary memory not accessible",
+ 0x550a: "data currently unavailable",
+ 0x550b: "insufficient power for operation",
+ 0x550c: "insufficient resources to create rod",
+ 0x550d: "insufficient resources to create rod token",
+ 0x550e: "insufficient zone resources",
+ 0x550f: "insufficient zone resources to complete write",
+ 0x5510: "maximum number of streams open",
+ 0x5511: "insufficient resources to bind",
+ 0x5700: "unable to recover table-of-contents",
+ 0x5800: "generation does not exist",
+ 0x5900: "updated block read",
+ 0x5a00: "operator request or state change input",
+ 0x5a01: "operator medium removal request",
+ 0x5a02: "operator selected write protect",
+ 0x5a03: "operator selected write permit",
+ 0x5b00: "log exception",
+ 0x5b01: "threshold condition met",
+ 0x5b02: "log counter at maximum",
+ 0x5b03: "log list codes exhausted",
+ 0x5c00: "rpl status change",
+ 0x5c01: "spindles synchronized",
+ 0x5c02: "spindles not synchronized",
+ 0x5d00: "failure prediction threshold exceeded",
+ 0x5d01: "media failure prediction threshold exceeded",
+ 0x5d02: "logical unit failure prediction threshold exceeded",
+ 0x5d03: "spare area exhaustion prediction threshold exceeded",
+ 0x5d10: "hardware impending failure general hard drive failure",
+ 0x5d11: "hardware impending failure drive error rate too high",
+ 0x5d12: "hardware impending failure data error rate too high",
+ 0x5d13: "hardware impending failure seek error rate too high",
+ 0x5d14: "hardware impending failure too many block reassigns",
+ 0x5d15: "hardware impending failure access times too high",
+ 0x5d16: "hardware impending failure start unit times too high",
+ 0x5d17: "hardware impending failure channel parametrics",
+ 0x5d18: "hardware impending failure controller detected",
+ 0x5d19: "hardware impending failure throughput performance",
+ 0x5d1a: "hardware impending failure seek time performance",
+ 0x5d1b: "hardware impending failure spin-up retry count",
+ 0x5d1c: "hardware impending failure drive calibration retry count",
+ 0x5d1d: "hardware impending failure power loss protection circuit",
+ 0x5d20: "controller impending failure general hard drive failure",
+ 0x5d21: "controller impending failure drive error rate too high",
+ 0x5d22: "controller impending failure data error rate too high",
+ 0x5d23: "controller impending failure seek error rate too high",
+ 0x5d24: "controller impending failure too many block reassigns",
+ 0x5d25: "controller impending failure access times too high",
+ 0x5d26: "controller impending failure start unit times too high",
+ 0x5d27: "controller impending failure channel parametrics",
+ 0x5d28: "controller impending failure controller detected",
+ 0x5d29: "controller impending failure throughput performance",
+ 0x5d2a: "controller impending failure seek time performance",
+ 0x5d2b: "controller impending failure spin-up retry count",
+ 0x5d2c: "controller impending failure drive calibration retry count",
+ 0x5d30: "data channel impending failure general hard drive failure",
+ 0x5d31: "data channel impending failure drive error rate too high",
+ 0x5d32: "data channel impending failure data error rate too high",
+ 0x5d33: "data channel impending failure seek error rate too high",
+ 0x5d34: "data channel impending failure too many block reassigns",
+ 0x5d35: "data channel impending failure access times too high",
+ 0x5d36: "data channel impending failure start unit times too high",
+ 0x5d37: "data channel impending failure channel parametrics",
+ 0x5d38: "data channel impending failure controller detected",
+ 0x5d39: "data channel impending failure throughput performance",
+ 0x5d3a: "data channel impending failure seek time performance",
+ 0x5d3b: "data channel impending failure spin-up retry count",
+ 0x5d3c: "data channel impending failure drive calibration retry count",
+ 0x5d40: "servo impending failure general hard drive failure",
+ 0x5d41: "servo impending failure drive error rate too high",
+ 0x5d42: "servo impending failure data error rate too high",
+ 0x5d43: "servo impending failure seek error rate too high",
+ 0x5d44: "servo impending failure too many block reassigns",
+ 0x5d45: "servo impending failure access times too high",
+ 0x5d46: "servo impending failure start unit times too high",
+ 0x5d47: "servo impending failure channel parametrics",
+ 0x5d48: "servo impending failure controller detected",
+ 0x5d49: "servo impending failure throughput performance",
+ 0x5d4a: "servo impending failure seek time performance",
+ 0x5d4b: "servo impending failure spin-up retry count",
+ 0x5d4c: "servo impending failure drive calibration retry count",
+ 0x5d50: "spindle impending failure general hard drive failure",
+ 0x5d51: "spindle impending failure drive error rate too high",
+ 0x5d52: "spindle impending failure data error rate too high",
+ 0x5d53: "spindle impending failure seek error rate too high",
+ 0x5d54: "spindle impending failure too many block reassigns",
+ 0x5d55: "spindle impending failure access times too high",
+ 0x5d56: "spindle impending failure start unit times too high",
+ 0x5d57: "spindle impending failure channel parametrics",
+ 0x5d58: "spindle impending failure controller detected",
+ 0x5d59: "spindle impending failure throughput performance",
+ 0x5d5a: "spindle impending failure seek time performance",
+ 0x5d5b: "spindle impending failure spin-up retry count",
+ 0x5d5c: "spindle impending failure drive calibration retry count",
+ 0x5d60: "firmware impending failure general hard drive failure",
+ 0x5d61: "firmware impending failure drive error rate too high",
+ 0x5d62: "firmware impending failure data error rate too high",
+ 0x5d63: "firmware impending failure seek error rate too high",
+ 0x5d64: "firmware impending failure too many block reassigns",
+ 0x5d65: "firmware impending failure access times too high",
+ 0x5d66: "firmware impending failure start unit times too high",
+ 0x5d67: "firmware impending failure channel parametrics",
+ 0x5d68: "firmware impending failure controller detected",
+ 0x5d69: "firmware impending failure throughput performance",
+ 0x5d6a: "firmware impending failure seek time performance",
+ 0x5d6b: "firmware impending failure spin-up retry count",
+ 0x5d6c: "firmware impending failure drive calibration retry count",
+ 0x5d73: "media impending failure endurance limit met",
+ 0x5dff: "failure prediction threshold exceeded (false)",
+ 0x5e00: "low power condition on",
+ 0x5e01: "idle condition activated by timer",
+ 0x5e02: "standby condition activated by timer",
+ 0x5e03: "idle condition activated by command",
+ 0x5e04: "standby condition activated by command",
+ 0x5e05: "idle_b condition activated by timer",
+ 0x5e06: "idle_b condition activated by command",
+ 0x5e07: "idle_c condition activated by timer",
+ 0x5e08: "idle_c condition activated by command",
+ 0x5e09: "standby_y condition activated by timer",
+ 0x5e0a: "standby_y condition activated by command",
+ 0x5e41: "power state change to active",
+ 0x5e42: "power state change to idle",
+ 0x5e43: "power state change to standby",
+ 0x5e45: "power state change to sleep",
+ 0x5e47: "power state change to device control",
+ 0x6000: "lamp failure",
+ 0x6100: "video acquisition error",
+ 0x6101: "unable to acquire video",
+ 0x6102: "out of focus",
+ 0x6200: "scan head positioning error",
+ 0x6300: "end of user area encountered on this track",
+ 0x6301: "packet does not fit in available space",
+ 0x6400: "illegal mode for this track",
+ 0x6401: "invalid packet size",
+ 0x6500: "voltage fault",
+ 0x6600: "automatic document feeder cover up",
+ 0x6601: "automatic document feeder lift up",
+ 0x6602: "document jam in automatic document feeder",
+ 0x6603: "document miss feed automatic in document feeder",
+ 0x6700: "configuration failure",
+ 0x6701: "configuration of incapable logical units failed",
+ 0x6702: "add logical unit failed",
+ 0x6703: "modification of logical unit failed",
+ 0x6704: "exchange of logical unit failed",
+ 0x6705: "remove of logical unit failed",
+ 0x6706: "attachment of logical unit failed",
+ 0x6707: "creation of logical unit failed",
+ 0x6708: "assign failure occurred",
+ 0x6709: "multiply assigned logical unit",
+ 0x670a: "set target port groups command failed",
+ 0x670b: "ata device feature not enabled",
+ 0x670c: "command rejected",
+ 0x670d: "explicit bind not allowed",
+ 0x6800: "logical unit not configured",
+ 0x6801: "subsidiary logical unit not configured",
+ 0x6900: "data loss on logical unit",
+ 0x6901: "multiple logical unit failures",
+ 0x6902: "parity/data mismatch",
+ 0x6a00: "informational, refer to log",
+ 0x6b00: "state change has occurred",
+ 0x6b01: "redundancy level got better",
+ 0x6b02: "redundancy level got worse",
+ 0x6c00: "rebuild failure occurred",
+ 0x6d00: "recalculate failure occurred",
+ 0x6e00: "command to logical unit failed",
+ 0x6f00: "copy protection key exchange failure - authentication",
+ 0x6f01: "copy protection key exchange failure - key not present",
+ 0x6f02: "copy protection key exchange failure - key not established",
+ 0x6f03: "read of scrambled sector without authentication",
+ 0x6f04: "media region code is mismatched to logical unit region",
+ 0x6f05: "drive region must be permanent/region reset count error",
+ 0x6f06: "insufficient block count for binding nonce recording",
+ 0x6f07: "conflict in binding nonce recording",
+ 0x6f08: "insufficient permission",
+ 0x6f09: "invalid drive-host pairing server",
+ 0x6f0a: "drive-host pairing suspended",
+ 0x7100: "decompression exception long algorithm id",
+ 0x7200: "session fixation error",
+ 0x7201: "session fixation error writing lead-in",
+ 0x7202: "session fixation error writing lead-out",
+ 0x7203: "session fixation error - incomplete track in session",
+ 0x7204: "empty or partially written reserved track",
+ 0x7205: "no more track reservations allowed",
+ 0x7206: "rmz extension is not allowed",
+ 0x7207: "no more test zone extensions are allowed",
+ 0x7300: "cd control error",
+ 0x7301: "power calibration area almost full",
+ 0x7302: "power calibration area is full",
+ 0x7303: "power calibration area error",
+ 0x7304: "program memory area update failure",
+ 0x7305: "program memory area is full",
+ 0x7306: "rma/pma is almost full",
+ 0x7310: "current power calibration area almost full",
+ 0x7311: "current power calibration area is full",
+ 0x7317: "rdz is full",
+ 0x7400: "security error",
+ 0x7401: "unable to decrypt data",
+ 0x7402: "unencrypted data encountered while decrypting",
+ 0x7403: "incorrect data encryption key",
+ 0x7404: "cryptographic integrity validation failed",
+ 0x7405: "error decrypting data",
+ 0x7406: "unknown signature verification key",
+ 0x7407: "encryption parameters not useable",
+ 0x7408: "digital signature validation failure",
+ 0x7409: "encryption mode mismatch on read",
+ 0x740a: "encrypted block not raw read enabled",
+ 0x740b: "incorrect encryption parameters",
+ 0x740c: "unable to decrypt parameter list",
+ 0x740d: "encryption algorithm disabled",
+ 0x7410: "sa creation parameter value invalid",
+ 0x7411: "sa creation parameter value rejected",
+ 0x7412: "invalid sa usage",
+ 0x7421: "data encryption configuration prevented",
+ 0x7430: "sa creation parameter not supported",
+ 0x7440: "authentication failed",
+ 0x7461: "external data encryption key manager access error",
+ 0x7462: "external data encryption key manager error",
+ 0x7463: "external data encryption key not found",
+ 0x7464: "external data encryption request not authorized",
+ 0x746e: "external data encryption control timeout",
+ 0x746f: "external data encryption control error",
+ 0x7471: "logical unit access not authorized",
+ 0x7479: "security conflict in translated device",
+}