The information contained herein is solely for the use and benefit 
of EXABYTE customers.  It is not intended for distribution beyond 
the internal use of our customers.


ELIANT 820 FIRMWARE CHANGE LIST AND CODE ENHANCEMENTS


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 103:  Control Code 103, Servo Code 206

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.
 
- 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.

- Fixed a problem handling an Abort during a dump.

- 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.

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

- 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: 

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

- Changed cleaning cycle to clean trailing head more effectively.


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.

- Fixed an error in maximum burst functionality which prevented a reconnect 
after disconnecting during a data transfer. 

- 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.  

- 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.

- 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.

- 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.

- 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.

- 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.

- 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.

- 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.

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

- 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.

- Added code to eject tapes which break after tape load.

- Improved code for internal handling of cleaning cycles.


Version 85:  Control Code 85, Servo Code 86
Added a new FSC 6F for a code load failure duing calibration.

Added more conditions on when to restart holemode processing during read
recovery.  Timeouts were occurring in some cases due to too many holemode passes 
and the extra 
passes were generally not picking up the missing blocks.

Added more fixes for write failures, especially FSC 95 errors.

Made the 'smart clean' algorithm even smarter by not allowing a single area of 
Damaged tape to cause the clean LEDs to come on.  The high statas thsat cause 
the clean LED to come on now need to happen consistently over a larger portion 
of tape.

Changed the amount the channel threshold is lowered when the channel parameters 
are altered due to reading problems.  The new channel calibration is selecting a 
lower threshold so the new set of channel parametes didn't need as low of a 
threshold value.

Added counter to keep track of how many times the clean roller is invoked during 
write and read.

Added code to ensure cleaning wheel is not invoked too frequently on write 
recovery.

Added code to handle the mode switch initialization in the servo code.  The 
Control code needed to handle the load of new servo code and the loading of the 
first data
 tape without ejecting the data tape.

Added three fixes to address FSC 8C failures from physical write code.  

Added code to handle write abort processing in the IPORT code.  The problem is that 
after an abort, on the read back, an FSC 19 is reported.  This is a problem with the 
firmware not recovering correctly from the write abort.

Added code to limit the number of iterations on the read recovery.  There was already 
code to control this but there were a few cases in which the number of recoveries was 
high enough to cause SCSI timeouts.  

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

Fixed a problem that occurred when the code was told to create a new segment on a 
tape but the tape is write protected. 

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.

Fix a problem with reading into PEOT while in read recovery (holemode).  Part of the 
fix went into the previous release, the rest is in this release.

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

Changed the way the 30 timer for the clean LED is counted.  

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

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 a different initiator.  

Added the framework to support the clean roller during read processing.  The new 
code will ensure that the roller is not invoked too often.

Added code to handle running into PEOT while in holemode read recovery.  

Added code to ensure the smart clean LED comes on as soon as possible.  Previously, 
the LED would be turned on when the needs clean character was sent over the serial port.  
However, due to timing constraints, this only occurred when the drive was not 
reading/writing from/to tape.

Fixed two problems in the IPORT read code that were causing failures and 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 BRT 
filled with nothing but mark blocks.

Fixed the same problem in both the logical read manager and logical write manager 
elated to turning off logical side data transfer while the physical side is splicing 
write) or stopping the buffer fill (read).  There was a small timing window in both 
cases that was not being handled correctly.

Fixed a problem with calibration values occasionally getting overwritten by tracking retry data.  

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.

Added code to address FSC 18 and A2 failures.  The firmware now prevents SCSI transfers 
from occurring at the start of a splice operation.

Added code to start a SCSI data transfer while in holemode 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.

Version 76:  Control Code 76, Servo Code 80 Initial Release
