Patch-ID# 108408-03 Keywords: dlt, dlt7000, quantum, tape drive, firmware, error 174, Synopsis: Hardware, DLT7000 Tape Drive, Firmware Download Program, V109 Date: Feb/03/2004 Install Requirements: Additional instructions may be listed below Solaris Release: 8 SunOS Release: 5.8 Unbundled Product: DLT7000 35-70GB Unbundled Release: N/A Xref: Topic: Relevant Architectures: sparc BugId's fixed with this patch: 4659443 Changes incorporated in this version: NOTE: - Uprev`ed tape drive firmware to V109 Patches accumulated and obsoleted by this patch: 108418-01 Patches which conflict with this patch: Patches required with this patch: Obsoleted by: Files included with this patch: D7S_V109.img README.108408-03 tload_4.1 Problem Description: A highly intermittant error is reported by NetBackUp during backup with the DLT7000 tape drive. The application will report 'error 174' with the associated message, '1 byte written'. The drive reports the incorrect bytes written. Patch Installation Instructions: ---------------------------- None. Special Install Instructions: ---------------------------------------------------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Contents -------- A.0 Firmware File Names, Changes, & Utility Descriptions B.O Precautionary Statements C.O Patch Installation and Utility Usage Intructions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A.0 Firmware File Names & Utility Descriptions ----------------------------------------------- A.1 D7S_V109.img --> Firmware binary image D7S_V109.img (663,552 bytes) A.2 tload_4.1 --> The firmware download utility (58,436 bytes) A.3 README.108408-03 --> This file (21,946 bytes) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A.4 Firmware Changes Release Notes for revision changes from V101 to V109 ==================================================== Last Release Revision: V101 ===Release Revision: V105=== A.4.1 Problem Description: The tape drive may report improper Handle Position or Set File Protect status over the library port. Root Cause: The variable indicating Handle Status and Set File Protect status was not getting cleared properly on power cycle. Corrective Action: Moved the location of the variable to an area of memory that is cleared on power cycle. A.4.2 Problem Description: When a hard read error occurs, a tape drive could either hang or go Bus Free (i.e. C800 Bugcheck) after an additional SCSI Locate command is issued. Root Cause: The logical position internal to the tape drive could be lost after a hard read error. Corrective Action: Insure that the logical position internal to the tape drive is valid after a hard read error. A.4.3 Problem Description: Occasionally, an Unexpected SCSI Bus Free will occur (Bugcheck EE08). Root Cause: The watchdog timer was too short for some situations. The timer was expiring before it should. There was no reason to indicate a problem. Corrective Action: Doubled the length of the watchdog timer, from 2.68 seconds to 5.36 seconds, to overcome falsely detecting a problem. A.4.4 Problem Description: A Space by Sequential Filemark command caused the tape drive to space to an incorrect position. This may occur when performing a space which entails using the tape directory information to position quickly. This is a not a problem with the Space by Block, Filemark or End Of Data commands. Root Cause: A variable was had two uses in code. The variable was used to space to a close position and also to space to a position that involves using the tape directory information. In the case where the tape directory information was used, the variable was interpreted incorrectly. Corrective Action: The variable is now interpreted correctly in both cases. The tape drive spaces to the desired Sequential Filemark. A.4.5 Problem Description: When a mode select command requesting all mode sense pages was received by the drive, some of the pages were being returned out of order. The mode pages should be returned in ascending order. Specifically, mode page 0x1C was being returned before mode page 0x11. Root Cause: Code which was returning the mode sense pages was returning the pages in the incorrect order. Corrective Action: The firmware was modified to return mode sense pages in ascending order when all mode sense pages are requested. A.4.6 Product Enhancement: A request has been made to provide the Tape Motion Hours (TMH) that have elapsed since the last time that tape drive was cleaned over the library port. The TMH Since last Cleaning will be reported in Status Data Packet 2, bytes 16-17. Refer to the DLT Interactive Library Interface Specification, Document 66-6003-01. A.4.7 Problem Description: Hard Writes sometimes occurred at the beginning of track 1 after a tape load or at the beginning of other odd tracks when appending the previous even track after a tape load. The error usually occurred at the turnaround from track 0 to 1 after loading and writing a blank tape from BOT. Root Cause: The track turnaround write algorithm was dependent on the End of Tape location. So if the End of Tape had not been encountered since the tape was loaded, the algorithm was not working correctly. Corrective Action: Changed the track turnaround write algorithm to be independent of the End of Tape location when the End of Tape location is not known or previously encountered. Once a track turnaround at the End of Tape has been performed, use the End of Tape location when performing a track turnaround. A.4.8 Problem Description: The drive may report a hardware error, with A402 error log reporting drive error A9. This occurred in the following rare case: the drive was powered on with a blank tape and wrote to the end of a track with debris, causing write servo retries when the write servo data was written at the track turn. Root Cause: The problem was introduced in V100 when the write servo retry algorithm was added. Corrective Action: Corrected the write servo retry algorithm to use a proper target address for the retry. A.4.9 Product Enhancement: Two-Tier Cleaning Algorithm and Vertical Head Buffing Algorithm that will help lengthen the life of the head. A.4.10 Problem Description: Calibration enhancement to find the edge based on head stop and scan a wider range of calibration track location. Root Cause: There have been situations where calibrations have failed because of the drives inability to find the calibration tracks correctly. The root cause of has been determined to be that the bottom tape edge has suffered some sort of tape damage. This damage is causing the drive to find the measured tape edge to be much higher than the physical tape edge. When the tape edge is located higher than normal the drive scans for cal tracks in the wrong location. Corrective Action: To solve this problem a few changes were made that affect how the edge of tape is found and how the drive scans for cal tracks. When the drive finds the tape edge it proceeds as it always has except that if it determines that the edge is too high it uses a nominal value. When looking for cal tracks it moves the scanning window around more on the tape to account for cal tracks written without this tape edge measurement change. A.4.11 Problem Description: The tape drive may report improper Handle Status or Set File Protect status over the library port. Root Cause: The variable indicating Handle Status and Set File Protect status was not getting cleared properly on power cycle. Corrective Action: Moved the location of the variable to an area of memory that is cleared on power cycle. A.4.12 Product Enhancement: Added Library Tape Data Packet 4 (Media ID) command. Sending this command (opcode 0x23) will cause the library drive to respond with a status packet of 8 bytes of information. Byte offsets 0 through 3 contain the Media ID. Byte offsets 4 through 7 are reserved. A.4.13 Product Enhancement: Commands implemented to return error information over the library port. Command 24h will return write error packet information, and command 25h will return read error packet information. The information returned will be equivalent to the cumulative values of Log Sense pages 2 and 3, parameters 02, 03, 05, and 06. For a more detailed description refer to the DLT(TM) Interactive Library Interface Spec. ===Release Revision: V106=== A.4.14 Problem Description: A customer reported rare occurrences of DLT7000 drives falling into a state where the drive appears to be in a constant calibration state resulting in a condition where the drive doesn?t ever come ready. Root Cause: There is an overflow in one of the registers that resulted in overwriting a variable that specifies the number of head passes the head buffing routine does. When the variable was overwritten it caused the DLT7000 to stay in calibration mode for a very long time. Corrective Action: Increase the size of the command register to prevent it from overflowing. A.4.15 Problem Description : The DLT7000 is reporting calibration failures but still comes ready. Root Cause: The drive firmware calibration routine scan for calibration tracks could in some situations find the calibration tracks but the calibration tracks found data bit would be improperly cleared. Corrective Action: The code was changed to determine the proper center location of the calibration tracks, which results in the correct setting of the calibration tracks found indicator. ===Release Revision: V107=== A.4.16 Problem Description: When a Hard Write Error occurs, a subsequent command may end with a SCSI Check Condition with a 0B/44/89 which indicates an internal error condition. Root Cause: The 0B/44/89 sense data is an indirect result of aborting the processes associated with buffered data not yet written to tape. If a SCSI command is received by the drive and this command is terminated with another SCSI Check Condition before the previous abort process is completed, the drive will then check the next command with a 0B/44/89. Corrective Action: The command reporting Check Condition for a Hard Write Error now disconnects and waits for abort processing to complete before reselecting and sending status. ===ENHANCEMENTS AND NEW FUNCTIONALITY FOR DRIVE FIRMWARE=== A.4.17 Problem Description: Drive hangs intermittently after calibration is complete but before a write Root Cause: Tape edge information is lost if calibration is done on a 1 hour boundary Corrective Action: Tape parameters used to find the calibration tracks are now set properly before doing write A.4.18 Problem Description: Calibration times can be up to 15 minutes due to calibration retries added Root Cause: There are 2 main contributors to the excessive calibration times. 1) Un-necessary tape movement before calibration is started. 2) Tighter limits, introduced in V105, causing cleaning requests which in turn cause excessive retries. Corrective Action: Un-necessary tape movement has been removed from all calibration retries. The limits changed in V105 were too tight. Limits used to detect cleaning requested were set back to the same values used in V101 and earlier releases. ===Release Revision: V109=== A.4.19 Problem Description: A particular software application can report a generic medium error (Error 174) when writing highly compressible data into the EOM area of tape. The drive correctly reports EOM/Early Warning/LEOT was encountered but incorrectly reports a residual of the block size minus one. All data is actually written to tape and the bug is in the reported residual. Root Cause: There is an implicit assumption in LEOT PBN check that physical blocks are in PBN order. With envelopes and block interleaving this assumption is not valid. If an envelope straddles the LEOT position, it may have blocks that are early in user-order being written after LEOT along with blocks that are later in user-order being written before LEOT. Corrective Action: The LEOT checker now uses the same PBN for every physical block in the envelope. The PBN used is the highest PBN encountered in the previous envelope. The envelope that actually straddles the LEOT position never reports EOM. Instead, EOM is reported when any block of the next envelope is examined. =================================================== B.0 Precautionary Statements ----------------------------- **WARNING:****WARNING:****WARNING:****WARNING:****WARNING:****WARNING:** B.1 The system MUST BE IDLE during the firmware download process! No other programs should be running while this utility is being used. Failure to do so may cause the devices being upgraded to fail or the system to crash. Any other computers sharing the same I/O bus as the host system must be either disconnected or offline. B.2 If any upgrade failures occur, do not continue upgrading devices. For example, loss of power during download will result in damaged peripherals and require replacement. If any failures occur, please collect the following log file: "/var/adm/messages", and an explorer dump. Please forward these files to your service provider for analysis. B.3 This package will only function on Quantum DLT7000 SCSI Tape Drives which were shipped/used in Sun StorEdge DLT7000 Flexipack. B.4 Please READ instructions below completely BEFORE starting download procedure. Follow the procedures carefully. You may program multiple drives at the same time, however, you may not exit the utility until all drives have completed the download process. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C.O Patch Installation and Utility Usage Intructions ----------------------------------------------------- C.1 General guidelines for upgrading: EJECT MEDIA FROM DEVICE TO BE UPGRADED. Download utility will eject media from the device if it is found to be loaded. Do NOT attempt to force media back into the drive. Media present in a device having firmware downloaded to the device may result in data loss from media or damage to device. STOP ALL APPLICATIONS. The system must be idle during the firmware upgrade process. DISCONNECT or take OFFLINE any other computers sharing the same I/O bus as the host. UPGRADE the tape device. Follow the given instructions in the procedure section below. In case of any disruption or unforeseen events happening on the relevant bus during the firmware download process, it may be that the upgraded device becomes non-functional. In this event, it will be necessary to replace the device. This would happen as a result of an incomplete or corrupted firmware file being downloaded. Loss of power during the upgrade process would also damage the device. **NOTE** If you cannot upgrade devices due to software application interference, try booting off of the Solaris release CD. **NOTE** After the firmware download is completed, it may be necessary to power cycle the device to ensure fully resetting the device. In turn, this may also require a successive reboot of the host system to ensure all functionality is restored. C.2 Procedure for Tape Firmware Download: The procedure to be used for upgrading the device's firmware is explained below. Upgrade time will be approximately 3-5 minutes for each device. You must have root/super-user privileges in order to perform this operation. a). Unpack the patch (through tar) into any directory, e.g. /var/spool/patch (Note, if the patch ends in a ".Z" suffix, you will need to first uncompress it.) Example: # uncompress # tar xvf b). In the patch directory, as root, type the "tload_4.1" command: # ./tload_4.1 D7S_V109.img c). Select the tape device to be upgraded (see example below). **NOTE** This upgrade can result in error messages in the console window and/or the terminal "tload_4.1" window. It is normal for a SCSI bus reset message to appear in the console window for each device that is upgraded. d). Ensure that the device to be upgraded is the correct one and answer the question: Do you want to download firmware to this tape device [N]? with a 'y' for yes or anything else for no. Default answer is no. e). After each device has been upgraded, the displayed tape device list will be refreshed. Device(s) upgraded should reflect having the new code level, "296D", in the "Rev" field (see example below). f). If there is an additional device to be upgraded (same device type and desire to upgrade to the latest firmware), select that device as previously done in C.2.c). & C.2.d). above. Continue in this fashion until all desired devices have been upgraded. g). Quit the "tload_4.1" program by typing '0' (see example below). ************************************************************************** C.3 EXAMPLE # ######################################### # # Launch Tape Firmware Download Utility # ######################################### # # ./tload_4.1 D7S_V109.IMG ATTACHED DEVICES: Device Supplier Product Rev Serial Number Device State -------------- -------- ---------------- ---- ------------- ------------- 1:01n QUANTUM DLT7000 2565 CXA05S4500 Available 2:02n QUANTUM DLT7000 2565 CXA05S4514 Available Select Device(s) (ex: 1,3-4) or 0 to quit) [1]: 1 01n QUANTUM DLT7000 2565 CXA05S4500 Selected Do you want to download firmware to this device [N]? y ATTACHED DEVICES: Device Supplier Product Rev Serial Number Device State -------------- -------- ---------------- ---- ------------- ------------- 1:01n QUANTUM DLT7000 2565 CXA05S4500 Downloading 2:02n QUANTUM DLT7000 2565 CXA05S4514 Available Ejecting Tape out of the Tape Drive Downloading /dev/rmt/01n... please wait. ATTACHED DEVICES: Device Supplier Product Rev Serial Number Device State -------------- -------- ---------------- ---- ------------- ------------- 1:01n QUANTUM DLT7000 2565 CXA05S4500 Writing Flash 2:02n QUANTUM DLT7000 2565 CXA05S4514 Available Select Device(s) (ex: 1,3-4) or 0 to quit) [3]: 0 One or more devices has not yet completed flash update and/or download recovery time. Devices must not be utilized until after this recovery period has expired, or permanent damage may result. This program will release all devices and terminate in 6 minutes. ATTACHED DEVICES: Device Supplier Product Rev Serial Number Device State -------------- -------- ---------------- ---- ------------- ------------- 1:01n QUANTUM DLT7000 296D CXA05S4500 F/W Upgraded 2:02n QUANTUM DLT7000 2565 CXA05S4514 Available # ######################################### # # The example above only upgrades one # device. You do not have to exit with # a "0" and initiate the 'tload_4.1' utility # again. You may continue instead and # directly upgrade the next tape device, # following the same steps as before # for any or all devices, until desired # devices have been upgraded # # After devices are upgraded, the Rev # will be 296D # # To Quit, enter '0'. System prompt # will return. # ######################################### # ************************************************************************** C.4 tload_4.1 (ABOUT THE UTILITY): tload_4.1 - Firmware Download utility for tape drives. SYNOPSIS tload_4.1 [ filename ] [ -v ] filename firmware/microcode filename DESCRIPTION tload_4.1 is an firmware download utility for Sun supported tape devices. If the firmware_file is specified, then it will display the list of tape devices present on the host system and asks the user to select the tape device which is to be upgraded. If the firmware_file is not specified, then it will display the list of tape devices present on the host system along with their FIRMWARE revision levels. tload_4.1 will exit upon completion; please do not attempt to halt or stop prior to utility's menu exit option being presented. The command can be run only as a super-user. DISCLAIMER This utility is ONLY supported for downloading, to Sun supported tape devices, the Sun supported firmware binary (firmware_file) which has officially been released via the official Sun Patch Process. This utility is only supported with the release of firmware (binary) bundled with said patch. Do not attempt to use any other version of 'tload' that may have been acquired previously else device damage may occur. Use only the version provided with this patch, version 4.1 (tload_4.1). Use of tload_4.1 to load non-Sun supported tape devices is at the user's own risk, and is not supported. Use of tload_4.1 to load Sun supported tape devices with firmware NOT bundled with the utility in an officially released Sun Patch is at the user's own risk, and is not supported. PROBLEMS Any problems regarding this utility by the user following proper procedures should be reported to the user's service provider along with the following items: 1) /var/adm/messages file 2) explorer dump README -- Last modified date: Tuesday, October 7, 2003 README -- Last modified date: Thursday, March 25, 2004