
Eliant 820 Firmware Release Notes


Version 112: Control Code 112, Servo Code 208

Control code:

Fixed a problem which could result in either an FSC 3A or FSC 83 when doing a space file operation on an 8200 mode tape.

Added a customer unique feature which is only enabled with configuration image 8HE-0084.  This feature holds the bottom LED steady rather than blinking during tape motion.  

Servo code:

No changes

Version 111: Control Code 111, Servo Code 208

Control code:

Log Sense values for Parameters 6, 7 and A on Page 3Ch were invalid if the Log Sense command with Page Control (PC) bits set to 01 (Current Cumulative values) followed a Log Select command with PC bits set to 00 (Current Threshold), 10 (Default Threshold) or 11 (Default Cumulative values).

Fixed an FSC 8C on read.

Improved the read recovery algorithm, reducing the amount of time a read recovery operation will last under certain conditions.

Servo code:

No changes

Version 110: Control Code 110, Servo Code 208

Control code:

Fixed a problem with pushing the eject button during a cleaning tape cycle.  If this happened, the drive would forever report Not Ready (sense key 02h) on the subsequent data tape insertion.

Servo code:

No changes

Version 109:  Control Code 109, Servo Code 208

Control code:

Added a customer unique feature which is only enabled with configuration images 
8HE-0072 or 8HE-0073.

Servo code:

No changes

Version 108:  Control Code 108, Servo Code 208

Control code:

Fixed a problem with the switch implemented in 8HC-0106 so that the FSC 18 recovery mode is only accessed when necessary.

Servo code:

No changes

Version 107:  Control Code 107, Servo Code 208

Control code: No  changes

Servo code:

Modified servo to position the tape guides in the eject state to improve cartridge loads in 10h libraries.

Version 106:  Control Code 106, Servo Code 207

Control code:

Fixed a problem wherein the information bytes could be incorrect if a fixed block read had an illegal length (ILI).

Added a switch so that the FSC 18 recovery mode is only accessed when necessary.

Servo code:

No changes

Version 105:  Control Code 105, Servo Code 207

Control code:

Added numerous fixes to improve the manufacturing process.

Servo code:

Added numerous fixes to improve the manufacturing process.

Version 104:  Control Code 104, Servo Code 206

Control code:

Changed code used to calibrate drives in manufacturing.

Servo code:

no changes

Version 103:  Control Code 103, Servo Code 206

Control code:

no changes

Servo code:

Changed cleaning cycle to clean trailing head more effectively.

Version 102:  Control Code 102, Servo Code 205

Control code:

Fixed a problem with incorrect sense data being returned when the eject button was pushed after a load command. The drive was returning Sense Key = 02h, ASC/ASCQ = 04/01. Now it returns ASC/ASCQ = 04/00.
 
Servo code:

No changes

Version 101:  Control Code 101, Servo Code 205

Control code:

Fixed a problem with a false servo hardware failure occurring if the host repeatedly issues SCSI resets during POST.

Fixed a problem with FSC AC or 8C when the unload button is pushed and the drive is in Prevent Media Removal state and the host issues a Load Command.

Servo code:

No changes

Version 100:  Control Code100, Servo Code 205

Control code:

Fixed a problem handling an Abort during a dump.

Servo code: 

Fixed problem with ejecting the Maxell cleaning medium if it is not recognized as a valid cleaning tape.

Version 99:  Control Code 99, Servo Code 205

Control code:

Fixed problem with the bottom LED light.  The light would go on when  a tape cartridge was loaded into a drive which had the autoload feature disabled.  Now the light will come on only when the tape is loaded into the tape path.

Servo code:

Added code to reject Maxell's cleaning medium if it is not recognized as a valid cleaning tape.

Version 98:  Control Code 98, Servo Code 204

Control code:

Added code to handle small logical block sizes on FSC 08 recovery.

Servo code:

no changes

Version 97:  Control Code 97, Servo Code 204

Control code:

Changed the sense key returned on FSC 08 from sense key 04 (hardware error) to sense key 0B (aborted command).  This allows the host to retry the command.

Fixed a problem which would cause the drive to hang and not respond to the host when there is a hardware motion failure.

Fixed a problem with read recovery processing near EOD.  Previously data transfer was not restarted after recovering the data. 

Servo code:

no changes

Version 96:  Control Code 96, Servo Code 204

Control code:

Improved code which tests the host's ability to support the Restore Data Pointers message. This feature is normally disabled and requires a special configuration file to enable it.

Servo code:

no changes

Version 95:  Control Code 95, Servo Code 204

Control code:
 
Fixed an error in maximum burst functionality (Mode Select, page 2 which prevented a reconnect after disconnecting during a data transfer.  This error was introduced in code version 90. 

Servo code:

no changes

Version 94:  Control Code 94, Servo Code 204

Control code:

Improved handling of multiple servo errors.  This fixes a problem where the drive could not be reset using the unload button after two (or more) servo errors occurred.

Improved handling of splice operations to prevent an underrun error on write (FSC A2) or in some cases an FSC 18 while reading the tape.

Added code which tests if the host can handle the Restore Data Pointers message.   This feature is normally disabled and requires a special configuration file to enable it.

Added a recovery mode for an FSC 08 error which uses the Restore Data Pointers message.  This feature is normally disabled and requires a special configuration file to enable it.

Improved code for handling message bytes with a parity error.  Previously the drive went to a bus-free state, then posted an overlapped commands error (FSC D8) on the next command.  The drive now aborts the current command and sends the message parity error message.  

Servo code:

Added code to eject tapes which break after tape load.

Version 93:  Control Code 93, Servo Code 203

Control code:

Fixed a problem during splice operations which may cause an underrun error on a write (FSC A2) or in some cases an FSC 18 while reading the tape.

Servo code:

no changes.

Version 92:  Control Code 92, Servo Code 203

Control code:

Only clear UCLN bit in request sense data after a successful clean has been completed or the drive has been reset. 

Fixed servo hardware error LED display.  The top LED now blinks at a slow rate instead of a fast one. 

Fixed a problem when the No AutoLoad bit is set and a cleaning tape is inserted into the drive.  After the cleaning tape is ejected and a data tape is inserted, the drive was reporting FSC C7 before the load command
was received.  Now the code will report FSC C6.

Servo code:

no changes.

Version 91:  Control Code 91, Servo Code 203

Control code:

Changed request sense data after check condition is reported during tape cleaning.  Now the ASC is 30h, the ASCQ is 03h, and the FSC is DCh.  Once the cleaning is complete, the request sense data is changed according to the next operation.

Added code to recover from FSC 18 failures.  

Improved the programmable read channel algorithm which should improve soft error rates on a read.

Fixed an FSC 8C failure that occurred during a locate command with the BT bit enabled.

Servo code:

Improved code for internal handling of cleaning cycles.

Version 90:  Control Code 90, Servo Code 202

Control code:

Improved the programmable read channel algorithm which should improve soft error rates on a read.

Fixed a problem with reporting the wrong FSC after an 8200 tape was ejected because it was not write protected.  If a cartridge was inserted in the drive but not loaded (due to the no autoload bit being set) after an 8200 tape was ejected, the drive would incorrectly report FSC C7.  Now the drive will report FSC C6.

Fixed an FSC 8C problem related to read recovery processing near LBOT.

Fixed a SCSI hang during a write splice operation.  The drive was not reporting status to the host.

Servo code:

Added recovery for mode switch overshoot problem which would cause an FSC AD.

Modified tape format detection at LBOT.   There was a problem with some erased 8200 mode tapes being ejected because they were detected as 8200 mode tapes and were not write protected.

Version 89:  Control Code 89, Servo Code 200

Control code:

Added code to support a configuration option that  does not operate the send diagnostics command. In previous versions the drive returns a check condition (per the SCSI reference manual) if the send diagnostics command is issued without disconnect privileges enabled.  With this version and the appropriate configuration option,  the drive returns good status without executing the command.

Fixed a problem in which the wrong residual value was being returned in the information bytes of the request sense data when LEOT was reached.  Failure only occurred when writing one block per CDB in uncompressed format.

Fixed a problem with the clean lights remaining on after a clean was performed.  The problem occurred very rarely and did not adversely effect the operation of the drive.

Changed the FSC 18 failure from a sense key 04 (hardware) error to a sense key 0B (aborted command) error.  This should allow hosts to continue reading after the FSC 18 failure.

Servo code:

Removed mode switch recovery to avoid the possibility that drives would pass the manufacturing mode switch testing but then fail in the field if they were loaded with downlevel code.  The mode switch failures appear as an FSC AD.

Version 88:  Control Code 88, Servo Code 89

Control code:

Fixed FSC 8C found in manufacturing.

Servo code:

Added code to recover from mode switch overshoot failures (reported as FSC AD).

Version 87:  Control Code 87, Servo Code 87

Control code:

Fixed a problem with diagnostic data being overwritten during a SCSI dump.  This didn't effect any processing (before or after a dump) but did impact some diagnostic information used in subsequent dumps.

Fixed a problem in which, in some cases, SCSI dumps couldn't be taken after a write command failed with an FSC 95, 9B, or 9E.

Fixed a problem in which SCSI code loads didn't work if they followed a write command with compression enabled.

Servo code:

no changes.

Version 86:  Control Code 86, Servo Code 87

Control code:

Added code to support two customer unique configuration options.

Fixed a problem in which the error lights did not come on in some cases when the error occurred during POST.

Servo code:

Added code to do a detension/retension after a series of short motions.  The tape can move up over the pull-out pole after these motions - a detension and retension correctly positions the tape.  The mispositioning of the tape was resulting in FSC 0B and FSC 95 failures.

Version 85:  Control Code 85, Servo Code 86

Control code:

Added improvements to read recovery processing.  Timeouts were occurring in some cases due to too many recovery passes and the extra passes were generally not picking up the missing blocks.  In addition, improved the read recovery passes currently implemented.
Added fixes for FSC 95 write failures  .

Fixed an FSC 8C problem which occurred during write processing.

Added  fixes for reading into PEOT.  

Servo code:

no changes.

Version 84:  Control Code 84, Servo Code 86

Control code:

Modified  SCSI code to address some write and read abort failures from  Product Test .

Servo code:

no changes.

Version 83:  Control Code 83, Servo Code 86

Control code:

no changes 

Servo code:

Added code to preclude a tape insertion during mode switch initialization.  Tapes were being loaded before the initialization was finished, causing hardware failures (FSC AD).

Version 82:  Control Code 82, Servo Code 85

Control code:

Fixed a problem with taking dumps over the SCSI bus after a servo error occurred.  

Added three fixes to address FSC 8C failures during write.

 Improved the write abort handling.  A problem was occurring in which, following the abort of a write command, subsequent read commands would fail with an FSC 19.

Optimized the read recovery algorithm to reduce the number of SCSI timeouts.  Some hosts have short read command timeouts and if the drive needed to do complete read recovery, those hosts were timing out the command.

Fixed a problem with the synchronous data transfer message.  If the host requested offset 0, the drive previously sent Message Reject.

Servo code:

Fixed a problem with positioning to LBOT during write which was causing FSC AB (servo timeout) failures.

Fixed an FSC AD failure.

Version 81:  Control Code 81, Servo Code 84

Control code:

Made more changes to deal with reading into PEOT -- simplified code to handle first pass read and reread passes similarly.

Removed dependency between control code level 80 and servo code.  Changes were made in 80 to improve clean LED handling that involved changes to servo code.  Control code now supports both the new and old methods.

Fixed problem related to the interface between control code and servo code.  Problem eventually caused trouble with log sense commands.

Servo code:

Fixed a problem with sizing of 160m tapes.  If a 160m tape was loaded in the drive and then unloaded with the unload command but prevent media removal was enabled, when the tape was reloaded, it was being sized as a 112m tape instead of a 160m tape.

Version 80:  Control Code 80, Servo Code 83

Control code:

Fixed a problem with reading into PEOT while in read recovery.  

Added a series of improvements for write splice problems (FSC 95).

 Improved the timing algorithm used for determining when the clean LED comes on based on motion hours.

Fixed a problem with 8200 read processing which caused a SCSI bus hang.  Problem had to do with handling the last two physical blocks before a filemark. 

Servo code:

Removed code that told the controller when a clean was necessary.  The controller now keeps track of the 30hr timer (with help from the servo) and determines when a clean is needed.
Modified the tape load algorithm to avoid tape positioning problems which were causing FSC 0B failures.
 
Improved 8200 ATM detection.

Version 79:  Control Code 79, Servo Code 82

Control code:

Fixed a problem in which the wrong FSC was returned to the host on a space or locate command, if the command failed, following a write into PEOT.

Changed the SCSI interface code to disallow a prevent media removal command if the drive is reserved by a different initiator.  This processing now conforms to the SCSI-2 standard.
.
Added code to handle running into PEOT while in read recovery. 

Fixed two SCSI-2 compliance issues relating to 3rd party reservations and releases.

Fixed two problems that were causing SCSI bus hangs.  One problem had to do with the case where the host temporarily stops taking data near the end of a read command and the other had to do with handling a data buffer filled with nothing but filemark blocks.

Fixed a problem during read processing that was causing SCSI bus hangs.  There was a small timing window after the buffer was full in which the SCSI data transfer was stopped and not restarted.

Fixed a problem in write processing that was causing SCSI bus hangs.  During splice operations, it was possible for the SCSI data transfer to be stopped without being restarted.

Servo code:

Changed the sizing of tape to make sure 112m tapes are sized correctly.    Marginal 112m tapes were sometimes sized as 54m tapes. 

Version 78:  Control Code 78, Servo Code 81

Control code:

Added numerous fixes to improve the manufacturing process.

Servo code:

no changes.

Version 77:  Control Code 77, Servo Code 81

Control code:

Fixed a problem with handling the unload button interrupt while a tape was being loaded and the superhot option had been selected.

Fixed a problem with reading a partitioned tape in which the second partition on tape was not fully formatted.  The drive was detecting the problem, but not handling it correctly -- FSC 0xC5 will be reported instead of FSC 0x8C.

Fixed a communication problem with the serial port monitor program  involving the generation of code load tapes.  The problem occurred when the user wanted to create a code load tape but a tape was already in the drive.

Servo code:

Changed communication with the library to make sure the library doesn't do unnecessary pick retries.  The problem was causing failures in the library.

Version 76:  Control Code 76, Servo Code 80

Control code:

Added code to address FSC 18 and A2 failures.   

Added code to start a SCSI data transfer while in read recovery mode if enough data has made it into the buffer to complete the current read command.  This should prevent some SCSI reconnect timeouts and maybe some SCSI command timeouts.  It should also give the drive some more time to do read recovery.

Servo code:

no changes.

Version 75:  Control Code 75, Servo Code 80

Control code:

Add a fix for FSC 9B failures on erase.  .

Fixed  problem with reading up to and after a permanent read error.  The code was not correctly calculating the number of logical blocks lost in the permanent read errors and was occasionally mispositioning.

Fixed an FSC 8C failure on read.  The problem had to do with aborting a verify command before any data was read from tape.

Servo code:

Added code to prevent some cases where the cartridge lid would close on the tape before the cartridge was fully ejected.

Version 74:  Control Code 74, Servo Code 79

Control code:

Added code to allow the read recovery algorithm to be invoked in the case where the servo head is clogged.  The read recoveries may be able to dislodge debris from the servo head.

Fixed a problem in which the control code was sending a shutdown command to the servo code before sending a command to the servo code.  This happened if a cartridge was inserted incorrectly and the servo immediately sent an error message to the control code.  The fix should allow the drive to be reset in the case where the cartridge is inserted improperly.

Servo code:

Added better recovery to cartridge/tray ejection code. 

Released boot code version 5.

Version 73:  Control Code 73, Servo Code 77

Control code:

Added code to send the "needs clean" character over the serial port when the clean LED comes on.  This allows a library to know when the clean LED is on.

Servo code:

Fixed a problem which could cause load failures within libraries.

Version 72:  Control Code 72, Servo Code 76

Control code:

Fixed a problem with search speeds that was causing the drive to end up in the wrong location after a high speed search.  This error would occasionally cause rewinds and space commands to fail.

Fixed a problem with slo-motion read positioning that was locating the tape too far on the BOT side of the missed block (the block the drive is attempting to recover).  This should improve the re-read algorithm, and speed up slo-motion read..

Fixed two CARs related to SCSI bus hangs during read.  In order for the error to occur, the read command needed to start at a permanent read error. 

Fixed a CAR related to reporting the LBOT bit in sense data after a read command was issued but the only thing on tape is EOD.

Servo code:

Added code that tells the controller when 5 minutes of tape motion have elapsed.

Added code to handle supply hub stalls when the tape is being unloaded.  This should prevent the cartridge from being ejected while the tape in still in the path.

Improved tape positioning after a low speed search reverse.

Version 71:  Control Code 71, Servo Code 75

Control code:

Fixed a problem with controlling the LEDs.  The problem occurred when a SCSI command was received while the drive was still in POST.  This problem has been fixed and now the LEDs behave properly. 

Servo code:

No changes.


