IBM DDS/3 Firmware Update January 10, 2001 FUP -- IBM Option 12/24GB 4mm DAT Firmware Update Program v1.7 The 1224V755.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 7.550-0 firmware has been correctly applied. _____________________________________________________________________ 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 12/24GB 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 (V755-0.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 (V755-0.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. ====================================================================== Firmware Difference List, V753b to V7550 FCR 287: Backup/Restore operation may fail with error codes 04/44/90 or 04/44/91. These error codes concern the flash memory component. This item was fixed in V743B release. It is repeated here because the change is being moved from branch source code into main base code. Solution: 1. Increase background erase time slice from 64us to 8ms. 2. Only check flash status when the flash’s state machine is in the idle state. 3. Changed all foreground erase to check status at 10ms interval and only during flash state machine idle time. 4. Added detection, prevention and recovery code in 3 areas of the firmware. 1. Foreground erase during FW downloads. 2. P1/P2 initialization on power up. 3. P1/P2 background erase. These changes guard against hangs and failures during FW flash, ensure proper P1/P2 initialization on power up and recovery from real-time over erasure conditions during background erase which would result in 04/44/90 or 91 in previous codes. FCR 269: Drive returned 03/3B/00 while running Variable Block SAT. Repositioning to a target group is based on fg counts. This can lead to difficulties, depending on the mode change latency of the drive/tape combinations. Meaning that we overshoot and may not accurately position to that specific target group if the search algorithm solely is based on fg-counts. Solution: To improve the reposition characterisics, also depend on subcode decoding for more accurate repositioning as well as fg counts. FCR 281: Hang caused by SCSI commands which do not move tape. Hang/power cycle condition observed, due to SCSI commands. Some SCSI commands, issued multiple times, will first move tape, but not after the first time the command is issued. This can cause a hang to ocurr, because the timer within tapetimercheck function gets reset and thererfore the drive does not unthread the tape. For example, if a tape was rewound via SCSI Rewind command and host issues a Rewind cmd. every 5 seconds for a period longer than 4 minutes the drive may hang. Solution: Independently check tape status and dependent on that, unthread tape after 65 seconds. FCR 273: Drive reports 4/44/a1 when spacing to EOD. Least Mean Square filter was reset while the filter was on. Solution: Added synchronization bit to code to prevent resetting the filter while LMS is on. FCR 301: If a Head Clean is needed during the diagnostic write sequence (initiated by the Enhanced Diag option in the Send Diag cmd.), the drive can not reposition to the append point. This is due to the fact that incomplete groups are written onto tape (no bats and git tables). Solution: Use the current groupcount instead of decoding the git table within the group. This only applies to diagnostic tape or enhanced diagnostic write sequence. Regular writing is not affected by this modification. FCR 208: Inserting a previously cut tape will not be detected properly and sense data will not be posted. In case a tape cut is detected with DDS3 media, the DriveError variable is overwritten in the vco_adjust function. This leads to misdetecing a tape cut. Solution: Do not execute the vco_adjust routine when we detect a tape cut within the recovery sequence. FCR 293: Loader hang condition after issuing unload command. Configuration: Loader one tape in magazine. Host issues UNLOAD command and display reads "Load 5" and drive locks up. Drive does not respond to front panel push buttons. Solution: Added check to the state machine where we check how many tapes are currently in the magazine. In case there aren't any we branch to state 90 in the loader state machine waiting for push button event. FCR 283: Loader issue only. If Step is pushed while the loader is still busy, event is recognized but the eject command is not issued. The issue is a broken link between read/write and the tape task. Found by writing to LEOM and then pushing Step button. Solution: Added EjectFlag event to ejectrequest() function. FCR 187: When formatting a blank tape firmware doesn't carry out 128 rewrites before failing for excessive rewrite error. Solution: Carry out same amount of rewrites as if tape was is data area. During tape format always execute 128 rewrites. Three levels of retries followed by a headclean.rw rw rw .. 128 headclean rw rw rw .. 128 headclean rw rw rw ..128 abort. FCR 303: 04/46/00 error seen. We created the error code by letting drive unthread tape then issuing a Rewind command. We prevented the tape from being threaded and eventually 04/46/00 error reported. Solution: Added a level of error recovery in case a mechanical error occurs while trying to thread tape during a rewind. FCR 306: Port Scorpion 40 (DDS-4) Preventive Cleaning implementation into Scorpion 24 (DDS-3). FCR 290: Currently when a drive stops writing we keep the cylinder spinning and after 30 seconds we issue FSTOP command. The cylinder may keep spinning for another 2 minutes. Solution: Change the FSTOP time to 10 seconds after write/read/search processes stop. FCR 331: A cylinder timeout can occur during tape format. A condition was seen where excessive rewrites occurred during a tape format operation. When the cylinder timeout occurred the drive was in the process of head cleaning and did not reposition to the append group after the head clean process. After 4 minutes the cylinder watchdog timer triggers posting 04/81/86. Solution: Ensure that the pg-delay values while repositioning are correct. New MCP code version 3.31. FCR 317: A hardware error was seen during a reposition to BOT. The searchtoformat function failed but return value could not be properly checked because of a syntax error in the souce code. The sense code returned was 04/44/B9. Solution: Correct an improperly written control statement in the source code. FCR 319: During Seagate stress testing a condition was seen where a Space reverse command encountered BOT unexpectedly. Solution: Added additional code to ensure tape positioning for marginal tape/drive situations. FCR 332: Autoloader only. When Emergency Eject was invoked the tape would not be moved from drive mechanism to magazine. The tape would be ejected from drive but not returned to the magazine. Solution: Added delay time to finish the internal move media command before rebooting the loader. FCR 344: FW hangs when segment P1/P2 is erased in the background. Runtime issue introduced with V743B and flash memory component. It appears that Erase suspend mode does not work according to the spec. of the flash part. Solution: As a workaround we erase P1/P2 segment when drive is idle and no tape is present. Removed erase suspend mode within flashBgErase function. Will erase the P1/P2 segment in one cycle, taking approximately 200 - 300 ms. Added check if tape is present to the flash background erase state machine, to make sure that the drive is idle. FCR 346 Problem: Firmware hangs when flash memory component is erased in the background because of faults with the component. Solution (for the Seagate DDS-3 Autoloader): As a workaround we erase/update flash segments when drive is idle and no tape is present. Also ensure that there is no communication between loader and drive via internal serial port for 1000ms before beginning erase/update operation on flash segments FCR 352: Some flash components would fail to allow V7500 firmware to download properly. Result would be a drive which would need to be returned. Solution: In f_pgm_doEra function a line of code which sets the flash erase timeout value was moved to the same value as in V743B firmware (V743B f/w does not fail to download). FCR 350: Customer experiencing 04/46/00 errors when manually ejecting tapes when operating ArcServe IT backup software. Configuration was tape drive on same bus as hard drives. Solution: Problem traced to flushing data and writing EOD as a result of button push interferes with ArcServe sending commands to the drive. This causes a timeout between the OS and the hard drives and between ArcServe and the tape drive. The solution is to enable the drive to flush data and write filemarks and EOD frames when a Write Filemark is received. Now when the button is pushed timeouts will not occur. 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. ======================================================================