5/08/00 ______________________________________________________________________ FUP -- IBM Option 20/40GB 4mm DAT Firmware Update Program v1.7 The DDS48091.EXE file will self-extract and build a DOS bootable diskette image. The image contains a batch file that automatically executes a firmware update on the tape drive EEPROM. A SCSI inquiry test is run at the conclusion and will verify that the 8.091 firmware has been correctly applied. _______________________________________________________________________ The following is a list of action items that have been addressed for in the 8.091 firmware update. 1. Fixed Volume Overflow problem where 04/44/00 was returned instead of 0D/00/02. 2. Fixed 04/44/B4 returned during tape read mode by implementing more simplified reposition logic after Head Clean. 3. Fixed recalibration positioning bug that occurs if Vendor Group rereads are required. This will fix cases of 03/53/00 errors. 4. Fixed MCP append calibration table problem that could lead to 03/50/00 write append errors. 5. Fixed some cases of 04/44/00 errors by improving the reliability of DDS-4 tape length determination algorithm. 6. Added improved head cleaning recovery for cases of 03/03/02 excessive rewrite errors. 7. Added improved subcode reading recovery to increase margin for 03/50/01 errors. 8. Fixed intermittent failure where a Receive Diagnostic Results command failed following a Send Diagnostics command which had the diagnostic failure. 9. Implemented UNIX characteristics as defined in the Scorpion 40 Operating System Switch Assignment document. 10. Added Inquiry page DChex, which is a duplicate of the old Inquiry page CChex. 11. Fixed a problem with host's (adapters) using a Qlogic SCSI chip (QLA1280) where the 2nd byte of a Wide Negotiation following the Identify byte was regarded as the Identify byte and confused normal SCSI operations. Timing issue with read order of sequencer address and interrupt registers created a race condition so that a valid interrupt was treated as invalid. 12. Added recovery for Write Append errors (03/50/00 or 03/50/01) that occurred when the drive failed to reposition correctly after an overshoot timeout. 13. Implemented a new algorithm for retracting the tape into the cassette after periods of inactivity. The new algorithm will change to FSTOPS mode after 15s (Cylinder spinning, pinch roller disengaged, tape moves away from cylinder on an air bearing) then retract the tape and spin down the cylinder after 60 seconds. 14. Changed the tape initialization algorithm to reverse to BOT at 7x speed under capstan control for tapes that are positioned close to BOT. 15. Fixed problem with SCSI-3 Report Density command. 16. Fixed Reselect timeout issue that caused repeated interrupt requests and ultimate hardware hang with LED flash sequence. Scorpion 40 Firmware Diff List 03/27/2000 These release notes summarize the firmware changes made to the Scorpion 40 drive from V8071 to V8091. Reliability Enhancements/Miscellaneous Description Excessive Rewrites in Vendor Group If a tape is inserted into a drive where the Vendor Group was not successfully written then return blank tape. No user data exists on the tape. This ensures that a new write process will reformat the tape with a good Vendor Group. Head cleanAdd preventive head clean code. This code will activate based on a threshold and repeat after every 1GB pass. Tape Eject Eject reliability improvement, allow tape eject even if a drive error occurs on the rewind to BOT which comes before the eject. Changed Tape Tension from 0 gram to 1 gram at Pause Position to eliminate possibility of any tape slack at Pause state (MKE suggested) Space to EOD reliability enhancement: to prevent a 03/3b/08 (Lost Position) error. Modify code so that a search to an unknown EOD group will retry and recover EODGroup correctly. POST Add bit-walk test to SRAM during POST Specification compliance To be compliant with SCSI-3 ensure that if a residual needs to be reported for a Space Reverse command that the residual is a positive number. Change to Send Diagnostic command Added support for detecting if a cassette has a load count > 50 before executing enhanced Send Diagnostic command. Same as RS6000 DDS/3 firmware. Flash Prom improvements: a) Ensure that LCP code version number is stored in Flash Prom. b) If same SCSI Request Sense data occurs within 5 minutes of last error do not save the sense code in the Flash Prom. This helps with OS’s that poll a drive with same command over and over again and so that one error doesn’t take up whole prom. Tape Initialization Fix for 08/30/01 sense code seen on DDS2 tape. Strengthen the logic to detect DDS format on DDS1/2 marginal tapes. Tape Initialization On tape insertion, change slow reverse speed to BOT for DDS4 from REVX7 to REVX5 (MKE suggestion). Mode Sense/Select Page F: DDE/RDE bits a) Added code to ensure that changes in compression algorithms encountered during Read are handled correctly and that Mode Sense Page F is displayed correctly. b) If there is a compression algorithm change we need to save the algorithm value and number of records within the entity. This to create sense data and update current block address. Added code to ensure status of DDE bit is passed through to search routine. Mode Sense/Select Page F Added No Sense, Recovered Error and Medium Error for cases of changed compression algorithm detected during reading. Mode Sense/Select Page F spec. a) inform DC task DDE bit when it is changed and tape position is also synchronized when backend is in Read mode. b) Added code to report the number of records within the entity where read fails. Reliability Improvements/Tape handling a) Create even softer transitions during forward/reverse changes by changing number of Reel lock confirmations. b) Ensure that an infinite loop won’t occur during tape initialization. c) Fixed possibility of MCP task sequences occurring out of sequence if a timing error occurred. Reliability Improvement: Reel Error Recovery improve Reel Error Recovery to differentiate between cassette and drive problems. Use mcp command FCLD (half-eject) to determine there is a drive or cartridge fault when a reel error occurs. Report 04/44/AF for a drive problem, and 03/52/00 for a cartridge problem. Tape error recovery improvement Intervention testing uncovered a problem with tape error recovery when tape position was at BOT. Changed code to ensure that DriveError is reported and handled correctly. Reliability enhancement: Immediate commands Testing commands with the Immediate bit set showed that clean up was needed in the pCmd so that backend and frontend code was sychronized properly. This prevents possible hangs with Immediate commands and incorrect operation with write-protected tapes. Hardware error encountered: 04/44/AD sense code In case of ERRESET or FRESET, ignore check for mcp.drive_mode busy bit before sending the command. This will overwrite any busy status to reset the drive error. Also, add some more timeout to prevent hang condition in mcpcommand().Reliability enhancement: Cut Tape handling a) If a cut tape was in the drive a Load command would cause the Reels to spin. We should clear the media_failed bit and the Pos_Not_Found bit when we finish ejecting the tape. Previously we cleared the flags when a tape was reinserted. This would cause Test Unit Ready commands to return Hardware Error unecessarily. b) If we have already encountered errors such as TAPECUT or TAPEJAM, do not allow an Load command. We will allow an Unload command to go through. Performance Improvements Description Detail Performance Enhancement Added code to streamline the execution of consecutive read or write CDBs. Further optimized the execution path for normal reads and writes. Performance Enhancement Add support code in attempt to reduce bus latency by allowing SCSI reads and writes from interrupt routines. Performance Enhancement Optimize routines in SCSI core by only using certain internal messages where they are needed. Reliability Improvements/Media Errors Description Detail Reliability Enhancement: Read Enhancement Fixed a 03/03/11 error that occurred once in testing. This problem can happen when there are rewrites at the end of a group. Enhance read so that rewrites that span groups don’t cause media error. Reliability Enhancement: Nested error recovery enhancement Fixed a 03/3b/00 error, drive fail to retry on cylinder err: Set CylinderStopped flag when unload in tapetimercheck() because this flag is checked to start cylinder and do retries Reliability Enhancement: internal timer fix Fix for a 08/00/05 sense code returned during format. Extended internal timeout while waiting for buffer. Reliability Enhancement: Write Append Error Make sure 'AppendTable' cannot get updated from data from the System Area. This could lead to a 03/50/00 error later if the tape initialization does not update the table (rare case). Reliability improvement: Write Append error Improvement for preventing 03/50/00 write append error. Strengthen Vendor group validation when a tape is inserted. This may help prevent append errors later if write command is received. Reliability Improvement: Sequential Error improvement Code change to prevent a 03/3b/00: reset the Record, Filemark, SetMark counts after fast reverse to BOT during Reel Error recovery, these values were not updated after previous Space EOD and cause next Space command get lost. Reliability Enhancement: Sequential Error improvement Fixed a possible 03/3B/00 error that could occur if the read mode began with tape positioned at or near Physical BOT. Increased timeout value when the tape is moving forward through the Device Area. Bug fixes Description Details A timeout condition occurred during a write filemark test. A bug was found where the ring buffer was full and the placing of a filemark encountered RB_BUSY. The problem was that a flag was not set correctly and we did not kick off the thread again. Unexpected Volume Overflow after reformatting a 2 partition DDS2 tape. a) Fixed bug in DDS1/2 pack decode logic that was updating MaxAFC variable at the wrong time. Partition changing Changing to Partition 0 on a blank tape was returning an error. This command should be allowed. Response to SCSI Bus Reset Test Unit Ready command returned ready when rewinding after a bus reset. Fixed so that Not Ready is reported instead. Send Diagnostic command Fixed bug that caused Send Diagnostic enhanced test to fail because of invalid AppendAFC. Aborted format When Mode Select was issued to format the tape and if the format was aborted because the Eject button was pressed, we did not return Check Condition. The fix is to create sense data when CMDABORTED is received and the associated properties bits shows that the pCmd was aborted by Eject previously. Parity Error If parity error occurs during command phase the next command will return 04/44/00. Store initiator id in frontend que so that pCmd can be cleaned up. Tape capacity Tape capacity was not reported correctly via Log Page 0x31 for two partition tapes. Reliability Enhancement: error recovery Ensure that Tape Process return status if a cylinder retry occurs during unload_check(). V8090 to V8091 changes Description Detail Loader Emergency Eject fix Fixed problem with the emergency eject thread table. Added functions to thread table to return busy to hosts during emergency eject and to perform hardware reset after magazine is out of loader. Unload Tape 2 fix Fixed bug that might hang the loader during tape movement and ejecting when excessive errors and retries were invoked. _____________________________________________________________________ The following text gives instructions on updating IBM 12/24GB 4mm DAT Internal Tape Drive firmware using the accompanying Firmware Update Program (FUP.EXE). Contents -------- Cautions Firmware Firmware Files Firmware Update Program (FUP) MS-DOS, Windows 3.1x, and Windows 95/98 MS-DOS Only Mode Windows 95/98 Graphics Mode Using FUP to Update IBM 20/40GB 4mm DAT Tape Drive Firmware FUP Errors License Agreement and Warranty Disclaimer Cautions -------- * Eject any tape media before updating firmware. * Do not interupt power during the firmware update process. Firmware -------- Firmware is a term used for the software program which controls the tape drive. All IBM tape drives store firmware in a ROM (read only memory) internal to the drive. Newer tape drives (since about 1993) use a type of ROM called a flash EEPROM (electrically erasable ROM). Most tape drives, with flash EEPROMs, are capable of receiving updated firmware through the SCSI bus. Firmware Files -------------- New firmware is provided in a file. Firmware filenames have the format .HEX or .BIN. For example, V4BT-400.HEX, V5AC-0.HEX, V6580500.BIN, V658A-0.BIN. Firmware is not generally interchangeable between tape drive models. FUP verifies that new firmware matches the tape drive model. Firmware Upgrade Program (FUP) ------------------------------ FUP.EXE (Firmware Update Program) is used, primarily, to update the firmware in a IBM DAT tape drive or loader. FUP transfers the content of a firmware file to a tape drive. The tape replaces its firmware with the new firmware and saves it in an EEPROM. IBM has built the diskette image to be a self-extracting bootable diskette with ASPI support. We recommend that this method is used as it ensures that nothing will be resident in memory that can corrupt either the firmware update or data local to the system. Using FUP to Update IBM DAT Tape Drive Firmware --------------------------------------------------- This procedure updates your IBM DAT tape drive firmware. It assumes -- * the tape drive is properly connected to the SCSI bus, * the SCSI bus is correctly terminated, * the tape drive has power, and * the computer is booted. 1) Boot with the diskette in the system floppy drive. 2) Eject any tape media from the drive. 3) Write down the firmware filename (V8091000.BIN) intended to be sent to the tape drive. 4) At a DOS prompt, make sure that firmware file and FUP.EXE are present in the current directory. 5) Start the firmware update program, at the DOS prompt, using the command: fup 6) FUP begins by displaying a list of SCSI devices. IBM DAT tape drives are identified. If more than one IBM DAT tape drive is found, you are prompted to select a drive number from list. 7) Once a drive is selected, press any key to continue. 8) A list of files, in the current directory, is shown. Use the arrow keys to select the firmware file (V8091000.BIN) which you wish to send to the tape drive. 9) When a key is pressed, the selected firmware file's integrity is verified. You are cautioned to close any tape backup applications and eject tape media, if present. Press any key to start the firmware download. 10) The download process takes between 15 seconds and 2 minutes. The tape drive LEDs will flash during some portion of the process. 11) On completion, the drive's updated SCSI Inquiry string is shown, and you are prompted to press any key to exit. FUP Errors ---------- The following lists common FUP errors and comments. update ERROR: The ASPI Manager was not found. Check your CONFIG.SYS. update ERROR: The tape drive's model is not recognized, and therefore, cannot be updated by FUP in the normal mode. Comment: FUP cannot update firmware in all tape drive models. A newer version of FUP may be available. Or, your drive may contain a special engineering firmware release which is not recognized by FUP. Consult with a IBM representative. update ERROR: "": The firmware file is an invalid version. Try selecting a different firmware file. update ERROR: "": The firmware file does not match the drive model. Try selecting a different firmware file. Comment: The firmware file appears to be incorrect for the tape drive model. Firmware is, generally, not interchangeable between tape drive models. Obtain a new copy of the firmware file intended for your tape drive model then try again. Special engineering release firmware may also cause this error to be shown. If you suspect this is the case, consult a IBM representative. update ERROR: (): Hexfile record error: update ERROR: (): Hexfile syntax error: update ERROR: "": Missing flash boot code update ERROR: "": Firmware image size = bytes: Invalid image size Comment: The firmware file may be corrupt. Obtain a new copy of the firmware file intended for your tape drive model then try again. update ERROR: "": Firmware image size ( bytes) does not match drive requirement ( bytes) Comment: This message may be seen when using "fup /force". The firmware file image is either to small or too large for the EEPROM. Obtain a new copy of the firmware file intended for your tape drive model then try again. update ERROR: Insufficient memory for byte transfer buffer Comment: If using MS-DOS, Windows 3.1x or, Windows 95/98 in MS-DOS only mode, you may need to remove (or comment out unnecessary drivers and/or "terminate-and-stay- resident" (TSR) programs from CONFIG.SYS and AUTOEXEC.BAT to increase memory available to FUP. update ERROR: Cannot update this drive's firmware in Windows 9x Graphics mode (Within a DOS Box). Reboot your system into MS-DOS only mode. Comment: See the section "Windows 95/98 Graphics Mode" above. update ERROR: "": Is an invalid firmware file name Comment: The selected file name does not have a .HEX or .BIN suffix. Try selecting a firmware file a name of .HEX or .BIN update ERROR: A IBM DAT tape drive was NOT found. Make sure tape drive power is turned on, and SCSI bus is properly terminated. Comment: Shutdown and turn power off. Examine cables and connections. Power up and reboot the system. Try again. update ERROR: An error was encountered while Flashing firmware. The drive was not updated. Comment: The tape drive may have rejected the new firmware. Obtain a new copy of the firmware file intended for your tape drive model then try again. update ERROR: An error was encountered while Flashing firmware. The drive was not updated. Comment: If the switch block settings for switches S9 and S10 are not set to the default(OFF) position the drive will not be identified correctly and the flash mechanism will be able to run. Remove power from the device and correct the switches to the default settings and reapply the flash mechanism. ====================================================================== LICENSE AGREEMENT AND WARRANTY DISCLAIMER This is a legal agreement between you the purchaser and International Business Machines, Inc. By accessing FUP, (the "Software"), you agree to be bound by the terms of this agreement. If you do not agree, do not access the software. IBM provides the accompanying object code of the Software and nonexclusively licenses its use to you on the following terms and conditions. IBM grants you a limited access to use one copy of the Software. You may not copy, distribute the Software for resale. You may not reverse engineer, modify, rent, or lease the Software. In addition, you may not disclose the information or data incorporated in the Software to others, in any format. You accept the Software "as is" without any warranty whatsoever. IBM does not warrant that the Software will meet your requirements; that the Software is fit for any particular purpose or that the use of the Software will be error free. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, WHETHER ORAL OR WRITTEN, EXPRESSED OR IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL IBM BE LIABLE TO YOU, YOUR CUSTOMERS OR OTHER USERS IN ANY WAY BASED ON USE OF THE SOFTWARE, INCLUDING WITHOUT LIMITATION FOR ANY LOSS OF PROFITS, LOSS OF DATA OR USE OF THE SOFTWARE OR INDIRECT, INCIDENTAL, CONSEQUENTIAL, SPECIAL, OR EXEMPLARY DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE OR INABILITY TO USE THE SOFTWARE. ======================================================================