diff options
Diffstat (limited to 'drivers/char/ftape/RELEASE-NOTES')
-rw-r--r-- | drivers/char/ftape/RELEASE-NOTES | 966 |
1 files changed, 966 insertions, 0 deletions
diff --git a/drivers/char/ftape/RELEASE-NOTES b/drivers/char/ftape/RELEASE-NOTES new file mode 100644 index 00000000000..03799dbc05a --- /dev/null +++ b/drivers/char/ftape/RELEASE-NOTES @@ -0,0 +1,966 @@ +Hey, Emacs, we're -*-Text-*- mode! + +===== Release notes for ftape-3.04d 25/11/97 ===== +- The correct pre-processor statement for "else if" is "#elif" not + "elsif". +- Need to call zft_reset_position() when overwriting cartridges + previously written with ftape-2.x, sftape, or ancient + (pre-ftape-3.x) versions of zftape. + +===== Release notes for ftape-3.04c 16/11/97 ===== +- fdc_probe() was calling DUMPREGS with a result length of "1" which + was just fine. Undo previous change. + +===== Release notes for ftape-3.04b 14/11/97 ===== + +- patches/2.x.x/floppy.c.diff was somewhat broken, releasing i/o + regions it never had allocated. +- fdc_probe() was calling DUMPREGS with a result length of "1" instead + of "10" +- Writing deleted data marks if the first segents on track zero are + should work now. +- ftformat should now be able to handle those cases where the tape + drive sets the read only status bit (QIC-40/80 cartridges with + QIC-3010/3020 tape drives) because the header segment is damaged. +- the MTIOCFTCMD ioctl may now be issued by the superuser ONLY. + +===== Release notes for ftape-3.04a 12/11/97 ===== +- Fix an "infinite loop can't be killed by signal" bug in + ftape_get_drive_status(). Only relevant when trying to access + buggy/misconfigured hardware +- Try to compensate a bug in the HP Colorado T3000's firmware: it + doesn't set the write protect bit for QIC80/QIC40 cartridges. + +===== Release notes for ftape-3.04 06/11/97 ===== +- If positioning with fast seeking fails fall back to a slow seek + before giving up. +- (nearly) no retries on "no data errors" when verifying after + formatting. Improved tuning of the bad sector map after formatting. +- the directory layout has changed again to allow for easier kernel + integration +- Module parameter "ftape_tracing" now is called "ft_tracing" because + the "ftape_tracing" variable has the version checksum attached to it. +- `/proc/ftape' interface for 2.0.* kernels. `/proc/ftape' no longer + is a directory but a file that contains all the information formerly + provided in separate files under the `/proc/ftape/' directory. +- Most of the configuration options have been prefixed by "CONFIG_FT_" + in preparation of the kernel inclusion. The Makefiles under + "./ftape/" should be directly usable by the kernel. +- The MODVERSIONS stuff is now auto-detected. +- Broke backslashed multi line options in MCONFIG into separate lines + using GNU-make's "+=" feature. +- The html and dvi version of the manual is now installed under + '/usr/doc/ftape` with 'make install` +- New SMP define in MCONFIG. ftape works with SMP if this is defined. +- attempt to cope with "excessive overrun errors" by gradually + increasing FDC FIFO threshold. But this doesn't seem to have too + much an effect. +- New load time configuration parameter "ft_fdc_rate_limit". If you + encounter too many overrun errors with a 2Mb controller then you + might want to set this to 1000. +- overrun errors on the last sector in a segment sometimes result in + a zero DMA residue. Dunno why, but compensate for it. +- there were still fdc_read() timeout errors. I think I have fixed it + now, please FIXME. +- Sometimes ftape_write() failed to re-start the tape drive when a + segment without a good sector was reached ("wait for empty segment + failed"). This is fixed. Especially important for > QIC-3010. +- sftape (aka ftape-2.x) has vanished. I didn't work on it for + ages. It is probably still possible to use the old code with + ftape-3.04, if one really needs it (BUT RECOMPILE IT) +- zftape no longer alters the contents of already existing volume + table entries, which makes it possible to fill in missing fields, + like time stamps using some user space program. +- ./contrib/vtblc/ contains such a program. +- new perl script ./contrib/scripts/listtape that list the contents of a + floppy tape cartridge parsing the output of "mt volinfo" + "mt fsf" +- the MTWEOF implementation has changed a little bit (after I had a + look at amanda). Calling MTWEOF while the tape is still held open + after writing something to the tape now will terminate the current + volume, and start a new one at the current position. +- the volume table maintained by zftape now is a doubly linked list + that grows dynamically as needed. + + formatting floppy tape cartridges + --------------------------------- + * there is a new user space formatting program that does most of the + dirty work in user space (auto-detect, computing the sector + coordinates, adjusting time stamps and statistics). It has a + simple command line interface. + * ftape-format.o has vanished, it has been folded into the low level + ftape.o module, and the ioctl interface into zftape.o. Most of the + complicated stuff has been moved to user space, so there was no + need for a separate module anymore. + * there is a new ioctl MTIOCFTCMD that sends a bare QIC-117 command + to the tape drive. + * there is a new mmap() feature to map the dma buffers into user + space to be used by the user level formatting program. + * Formatting of yet unformatted or totally degaussed cartridges + should be possible now. FIXME. + +===== Release notes for ftape-3.03b, <forgot the exact date> ==== + +ftape-3.03b was released as a beta release only. Its main new feature +was support of the DITTO-2GB drive. This was made possible by reverse +engineering done by <fill in his name> after Iomega failed to support +ftape. Although they had promised to do so (this makes me feel a bit +sad and uncomfortable about Iomega). + +===== Release notes for ftape-3.03a, 22/05/97 ==== + +- Finally fixed auto-un-loading of modules for kernels > 2.1.18 +- Add an "uninstall" target to the Makefile +- removed the kdtime hack +- texi2www didn't properly set the back-reference from a footnote back + to the regular text. + + zftape specific + --------------- + * hide the old compression map volume. Taper doesn't accept the + presence of non-Taper volumes and Taper-written volume on the same + tape. + * EOD (End Of Data) handling was still broken: the expected behavior + is to return a zero byte count at the first attempt to read past + EOD, return a zero byte count at the second attempt to read past + EOD and THEN return -EIO. + + ftape-format specific + --------------------- + * Detection of QIC-40 cartridges in select_tape_format() was broken + and made it impossible to format QIC-3010/3020 cartridges. + * There are strange "TR-1 Extra" cartridges out there which weren't + detected properly because the don't strictly conform to the + QIC-80, Rev. N, spec. + +===== Release notes for ftape-3.03, 30/04/97 ===== + +- Removed kernel integration code from the package. I plan to provide + a package that can be integrated into the stock kernel separately + (hopefully soon). + As a result, a simple `make' command now will build everything. +- ALL compile time configuration options have been moved to the file + `MCONFIG'. +- Quite a few `low level' changes to allow formatting of cartridges. +- formatting is implemented as a separate module `ftape-format.o'. The + modified `mt' program contains sample code that shows how to use it. +- The VFS interface has been moved from the `ftape.o' module to the + high level modules `zftape.o' resp. `sftape.o'. `ftape.o' contains + the hardware support only. +- A bit of /proc support for kernels > 2.1.28 +- Moved documentation to Doc subdir. INSTALL now contains some real + installation notes. +- `install' target in Makefile. + +zftape specific: +---------------- + +- zftape works for large cartridges now ( > 2^31 bytes) +- MTIOCVOLINFO and MTIOCGETSIZE now return the size in KILOBYTES, + NO LONGER in bytes. + +- permissions for write access to a cartridge have changed: + * zftape now also takes the file access mode into account + * zftape no longer allows writing in the middle of the recorded + media. The tape has to be positioned at BOT or EOD for write + access. + +- MTBSF has changed. It used to position at the beginning of the + previous file when called with count 1. This was different from the + expected behavior for other Un*x tape drivers (i.e. SCSI). MTBSF + with count 1 should merely position at the beginning of the current + volume. Fixed. As a result, `tar --verify' now produces the desired + result: it verifies the last written volume, not the pre-last + written volume. + +- The compression map has vanished --> no need for `mt erase' any + more. Fast seeking in a compressed volume is still be possible, but + takes slightly longer. As a side effect, you may experience an + additional volume showing up in front of all others for old + cartridges. This is the tape volume that holds the compression map. + +- The compression support for zftape has been moved to a separate + module `zft-compressor'. DON'T forget to load it before trying to + read back compressed volumes. The stock `zftape.o' module probes for + the module `zft-compressor' using the kerneld message channel; you + have to install `zft-compressor.o' in a place where modprobe can + find it if you want to use this. + +- New experimental feature that tries to get the broken down GMT time + from user space via a kernel daemon message channel. You need to + compile and start the `kdtime' daemon contained in the contrib + directory to use it. Needed (?) for time stamps in the header + segments and the volume table. + +- variable block size mode via MTSETBLK 0 + +- keep modules locked in memory after the block size has been changed + +sftape specific: +---------------- + +- end of tape handling should be fixed, i.e. multi volume archives + written with `afio' can be read back now. + + +===== Release notes for ftape-3.02a, 09/01/97 ===== + +No big news: +- call zft_init() resp. sft_init() when compiling the entire stuff + into the kernel image. +- fix bug in ftape-setup.c when NO_TRACE_AT_ALL was defined. +- fix bug in sftape-eof.c/zftape-eof.c for old kernels (1.2.*) +- add support for new module interface for recent kernels + +===== Release notes for ftape-3.02, 16/12/96 ===== +- Fixed the `FDC unlock command failed' bug in fdc-io.c. When the FIFO + was already locked when ftape was loaded, ftape failed to unlock it. +- Fixed compilation of `contrib/gnumt'. It now finds `mtio.h' even if + ftape is NOT included into the kernel source tree. +- fc-10.c: include <asm/io.h> for inb() and outb(). +- ftape/sftape/zftape: all global variable now have either a `ftape_', + a `ft_', `sft_', `zft_' or `qic_' prefix to prevent name clashes + with other parts of the kernel when including ftape into the kernel + source tree. +- Kerneld support has changed. `ftape' now searches for a module + `ftape-frontend' when none of the frontend (`sftape' or `zftape') is + loaded. Please refer to the `Installation/Loading ftape' section of + the TeXinfo manual. +- Add load resp. boot-time configuration of ftape. There are now + variables ft_fdc_base, ft_fdc_dma and ft_fdc_irq corresponding to + the former FDC_BASE etc. compile time definitions. One can also use + the kernel command line parameters to configure the driver if it is + compiled into the kernel. Also, the FC-10/FC-20 support is load-time + configurable now as well as the MACH-II hack (ft_probe_fc10, + resp. ft_mach2). Please refer to the section `Installation/Configure + ftape' of the TeXinfo manual. +- I removed the MODVERSIONS option from `Makefile.module'. Let me alone + with ftape and MODVERSIONS unless you include the ftape sources into + the kernel source tree. +- new vendors in `vendors.h': + * HP Colorado T3000 + * ComByte DoublePlay (including a bug fix for their broken + formatting software, thanks to whraven@njackn.com) + * Iomega DITTO 2GIG. NOTE: this drive cannot work with ftape because + the logical data layout of the cartridges used by this drive does + NOT conform to the QIC standards, it is a special Iomega specific + format. I've sent mail to Iomega but didn't receive an answer + yet. If you want this drive to be supported by ftape, ask Iomega + to give me information about it. +- zftape: + * re-introduced the MTIOC_ZFTAPE_GETBLKSZ ioctl for compatibility + with zftape 1.06a and earlier. Please don't use it when writing + new software, use the MTIOCVOLINFO ioctl instead. + * Major overhaul of the code that updates the header segments. Never + change the tape label unless erasing the tape. Thus we almost + never need to write the header segments, unless we would modify + the bad sector map which isn't done yet. Updating of volume table + and compression map more secure now although it takes a bit + longer. + * Fixed bug when aborting a write operation with a signal: zftape + now finishes the current volume (i.e. writes an eof marker) at the + current position. It didn't before which led to somehow *strange* + behavior in this cases. + * Keep module locked in memory when using it with the non-rewinding + devices and the tape is not logical at BOT. Needed for kerneld + support. +- sftape: + * Keep module locked in memory when using it with the non-rewinding + devices and the tape is not logical at BOT. Needed for kerneld + support. + +===== Release notes for ftape-3.01, 14/11/96 ===== + +- Fixed silly bugs in ftape-3.00: + * MAKEDEV.ftape: major device number must be 27, not 23 + * sftape/sftape-read.c: sftape_read_header_segments() called + itself recursively instead of calling ftape_read_header_segment() + * zftape/qic-vtbl.h: conversion of ftape's file marks to zftape's + internal volume table was broken. + * patches/2.x.x/linux-2.0.21.dif: my RCS (resp. CVS) system replaced + the `$Revison:' etc. macros in the `ftape.h' concerning part of the + patch :-( Fixed. + * info/ftape.info: Fixed misspellings (`cp' <-> `cp -r' etc.) + * when ftape/sftape or ftape/zftape was compiled into the kernel the + variable ftape_status was declared twice. Fixed. + * removed reference to undeclared variable kernel_version when not + compiling as module + * fixed a bug introduced by the use of bit-fields for some flags + (i.e. write_protected, no_cartridge, formatted) + * flag `header_read' is now reset correctly to zero when tape is + removed. +- fixed a bug in sftape/sftape-eof.c that was already in the original + ftape code. MTFSF/BSF was not handled correctly when positioned + right before the file mark (think of tar) +- Changed TRACE macros (following a suggestion of Marcin Dalecki) to use + the predefined __FUNCTION__ macro of GCC. Spares about 4k of code. +- added new vendor id for Iomega DITTO 2GIG +- fixed a bug already present in zftape-1.06 when aborting a write + with a signal: we now finish the current volume at that + position. Header segments remain NOT up to date until an explicit call + to MTREW or MTOFFL is done. + +===== Release notes for ftape-3.00, 14/10/96 ===== + +- Merged ftape with zftape. There are three modules now: + ftape for the hardware support, sftape for the implementation of the + original ftape eof mark stuff and zftape that implements zftape's way + of handling things (compression, volume table, tape blocks of + constant length) +- Documentation in TeXinfo format in the `info' subdirectory. +- New ioctls for zftape. See zftape/zftape.h +- Dummy formatting ioctl for ftape. See ftape.h +- Kernel patch files for the 2.*.* series to include ftape-3.00 in the + kernel source tree. These includes a kernel compatible Config.in + script and fairly large online information for the kernel configure + script. +- Support for compiling with Linux-1.2.13. +- Modified GNU mt from their cpio package that can handle the new + ioctls. +- ftape/sftape/zftape is kerneld save now! + +Notes on sftape: +- sftape implements the eof handling code of the original ftape. If + you like to stick with the original ftape stuff, you have to use + this module, not zftape. +- sftape is kerneld save, unlike the original ftape. +- we keep the entire header segment now in memory, so no need to read + it before updating the header segments. Additional memory + consumption: 256 bytes. + +Notes for zftape: +- zftape has support for tapes with format code 6 now, which use a + slightly different volume table format compared with other floppy + tapes. +- new ioctls for zftape. Have a look at zftape/zftape.h +- The internal volume table representation has changed for zftape. Old + cartridges are converted automatically. +- zftape no longer uses compression map segments, which have vanished + from the QIC specs, but creates volume table entry that reserves + enough space for the compression map. +- zftape is kerneld save now. +- we keep the entire header segment now in memory, so no need to read + it before updating the header segments. Additional memory + consumption: 256 bytes. + +Notes for contrib/gnumt: +- modified mt from the GNU cpio package that supports all the new + ioctls of zftape. +Notes for contrib/swapout: +- This contains the swapout.c program that was written by Kai + Harrekilde-Pederson. I simply added a Makefile. + +===== Release notes for ftape-2.10, 14/10/96 ===== + +The ftape maintainer has changed. +Kai Harrekilde-Petersen <khp@dolphinics.no> +has resigned from maintaining ftape, and I, +Claus-Justus Heine <claus@momo.math.rwth-aachen.de>, +have taken over. + +- Added support for tapes with `format code 6', i.e. QIC-3020 tapes + with more than 2^16 segments. +- merged changes made by Bas Laarhoven with ftape-2.09. Refer + to his release notes below. I've included them into this + file unchanged for your reference. +- disabled call stack back trace for now. This new feature + introduced by the interim release 2.0.x still seems to + be buggy. +- Tried to minimize differences between the ftape version + to be included into the kernel source tree and the standalone + module version. +- Reintroduced support for Linux-1.2.13. Please refer to the + Install-guide. + +===== Release notes for ftape-2.09, 16/06/96 ===== + +There aren't any really big news in this release, mostly just that I +(the maintainer) have changed my email address (due to a new job). My +new address is <khp@dolphinics.no> + +- The CLK_48MHZ and FDC_82078SL options has gone (all 2Mbps cards seem + to use a 48MHz oscillator anyway and I haven't heard of an 'SL + chip out there). +- The S82078B has been `downgraded' to i82077AA compability. +- TESTING option revived. Right now, it'll enable the (seriously broken) + 2Mbps code. If you enable it, you'll experience a tape drive that's + *really* out to lunch! +- Some (bold) changes in the init code. Please notify me if they + break things for you. + +===== Release notes for ftape-2.08, 14/03/96 ===== + +If you correct a problem with ftape, please send your patch to +khp@dolphinics.no too. + +- Updated to reflect that NR_MEM_LISTS is gone in 1.3.74 +- Teac 700 added to list of known drives. +- The registered device name is now "ft" rather than "ftape". + +===== Release notes for ftape-2.07a, 14/03/96 ===== + +Bugfixes by Marcin Dalecki <dalecki@namu03.gwdg.de>: +- In the last release it just compiled against 1.3.70; + now the params to request_irq() and free_irq are() are fixed, so it also + works in 1.3.73 :-) +- Support for modules is now correct for newer kernels. + +===== Release notes for ftape-2.07, 04/03/96 ===== + + +- ftape updated to compile against 1.3.70. +- Iomega 700 and Wangtek 3200 recognised. + + +===== Release notes for ftape-2.06b, 13/02/96 ===== + +Another simple bugfix version. + +- Jumbo 700 recognised. +- Typo in vendors.h fixed. + + +===== Release notes for ftape-2.06a, 10/02/96 ===== + +This release is a simple bugfix version. + +- Linux/SMP: ftape *should* work. +- FC-10/20: Only accepts IRQs 3-7, or 9. If IRQ 9, properly tell the card + to use IRQ 2. Thanks to Greg Crider (gcrider@iclnet.org) for finding and + locating this bug and testing the patch. +- Insight drive recognised correctly again. +- Motor-on wakeup version of the Iomega 250 drive added + + +===== Release notes for ftape-2.06, 28/01/96 ===== + +Special thanks go to Neal Friedman and Steven Sorbom for their +help in producing and testing this release. + +I have continued to clean up the code, with an eye towards inclusion +of ftape in Linus' official kernel (In fact, as I type this, I am +running on a kernel with ftape support statically linked). I have +test-compiled ftape against my 1.2.13 tree without problems. +Hopefully, everything should be OK for the v1.2.x people. + +WARNING! Alan Cox has mailed me that ftape does *NOT* work with +Linux/SMP. If you try to run ftape under Linux/SMP, it will cause a +kernel deadlock (which is worse than a panic). + +- QIC-3020/TR-3: 1Mbps support works. Neal is capable of reading and + writing data to a tape. ftape will automatically detect the type of + tape (e.g. TR-3 vs QIC-80) and move the fdc in and out of + "perpendicular mode" as necessary. +- 2Mbps support is disabled by default, since it is not fully + debugged. If you are adventurous, remove -DFDC_82078SL in the + Makefile and see what happens :-) +- fdc detection: silly bugs removed (Only 2Mbps fdcs were affected) + and added detection of the National Semiconductors PC8744 fdc chip + (used in the PC873xx "super-IO" chips). +- Removed warning about incompatible types when compiling with Linux + 1.2.x. +- README.PCI updated with info about the DELL Dimension XPS P90. +- Connor TST3200R added to detected drives. +- `swapout' utility added to distribution. It will dirty 5Meg of + memory, trying to swap out other programs. Just say `make swapout' + to build it. ftape will do this automatically Real Soon Now (ie: + when I have found out which kernel memory alloc function to call). + + +===== Release notes for ftape-2.05, 08/01/96 ===== + +- For v1.2.x Kernels, you must apply the patch linux-1.2/ksyms.patch to + the kernel and rebuild it (it adds the __get_dma_pages symbol to + ksyms.c). +- Included new asm-i386/io.h file from v1.3.x kernel series, to enable + gcc v.2.7.[12] to compile v1.2.x kernels (linux-1.2/io.h). +- Module versions: If you wish to compile ftape as a versioned module, + you must first compile your kernel with CONFIG_MODVERSIONS=y. + Otherwise, you will get complaints that <linux/modversions.h> does not + exist (if that happens, a `touch modversions.h' will help you out). +- CLK_48MHZ: new define in the Makefile (default: non-zero). If you have + a tape controller card that uses the i82078(-1) chip, but cannot get + it to work with ftape, try set it to 0 (and please report this). +- QIC-3010/3020: Complete support is still missing, but will hopefully + come soon. Steven Sorbom has kindly provided me with hints about + this. Writing of QIC-3020 tapes definitely does NOT work (do not try + it! - the drive will not be in "perpendicular mode" and this will ruin + the formatting info on the tape). +- ftape_num_buffers is out of fashion: use NR_BUFFERS instead (and + recompile if you want to change it :-). + + +===== Release notes for ftape-2.04, 01/01/96 ===== + +This version by Kai Harrekilde-Petersen <khp@dolphinics.no> + +- ALERT! Support for Kernels earlier then v1.1.85 is about to go away. + I intend to clean up some of the code (getting rid of an annoyingly + large numbers of #ifdef mostly), which means that support for + pre-1.1.85 kernels must go as well. +- NR_FTAPE_BUFFERS is gone; You can instead select the number of dma + buffers by saying `insmod ftape.o ftape_num_buffer=<n>' instead. +- Configure script gone. ftape will now automagically determine your + kernel version by /usr/include/linux/version.h instead. +- CONFIG_MODVERSIONS now work. All combinations of versioned / + unversioned kernel and ftape module works (at least with my 1.3.52 + kernel). +- If you have problems with inserting ftape into an old (1.2.x) + kernel (e.g. insmod says "1.2.8 does not match 1.2.8), recompile + your modules utilities with your new compiler. +- Reveal TB1400 drive added to vendors.h +- Support for the i82078-1 (2Mbps) chip is coming along. The + biggest problem is that I don't have such a card, which makes + testing / debugging somewhat problematic. The second biggest + problem is that I do not have the QIC-3010/3020 standards either. + Status right now is that the chip is detected, and it should be + possible to put it into 2Mbps mode. However, I do not know what + "extras" are needed to complete the support. Although putting the + i82078 into 1Mbps mode ought to work out of the box, it doesn't + (right now, ftape complains about id am errors). + + +===== Release notes for ftape-2.04beta5, 29/12/95 ===== + +Bas offline linux-tape +---------------------- +For reasons only known to the majordomo mail list processor, Bas was +kicked off the linux-tape list sometime during the summer. Being +overworked at his for-pay job, he didn't notice it much. Instead I +(Kai, khp@dolphinics.no) has worked on ftape to produce the 2.04(beta) +version. + +zftape +------ +Note that there exists a much improved version of ftape, written by +Claus-Justus Heine <claus@willi.math.rwth-aachen.de> which is named +zftape, which conforms to the QIC-80 specs on how to mark backups, and +is capable of doing automatic compression. However, zftape makes +substantial changes to ftape, and I (Kai) have therefore declined to +integrate zftape into ftape. Hopefully, this will happen soon. + +CONFIG_QIC117 removed from the kernel +------------------------------------- +The biggest change of all is that ftape now will allocate its dma +buffers when it is inserted. The means that the CONFIG_QIC117 option +has disappeared from the Linux kernel as of v1.3.34. If you have an +earlier kernel, simply answer 'no' to the question will do the trick +(if you get complains about __get_free_pages() missing, contact the +linux-tape mailing list). + +Note that ftape-2.04beta will work equally well on kernels with and +without `ftape support'. The only catch is, that you will waste +around 96-128Kb of precious DMA'able memory on a box that has ftape +support compiled in. + +Now for the real changes: + +- FC-20 can now use DMA channels 1, 2, and 3. Thanks to Daniel + Cohen, catman@wpi.edu. +- ftape no longer requires a (gigantic) 96Kb buffer to be statically + allocated by the kernel. +- Added new Iomega drive (8882) to vendors.h +- -fno-strength-reduce added to Makefile, since GCC is broken. +- i82078-1 (2Mbps) FDC support started. + + +===== Release notes for ftape-2.03b, 27/05/95 ===== + +- Prevented verify_area to return error if called with zero length. +- Fixed a bug in flush_buffers that caused too much padding to be + written when a final segment had bad sectors. +- Increased maximum fast-seek overshoot value from 5 to 10 segments. +- Breaking loop after 5 retries when positioning fails. +- Fixed wrong calculation of tape length for QIC-3010 and QIC-3020 + tapes (densities were swapped). +- Fixed wrong calculation of overshoot on seek_forward: Wrong sign + of error. +- Suppress (false) error message due to new tape loaded. +- Added two new CMS drives (11c3 and 11c5) to vendors.h. + + +===== Release notes for ftape-2.03a, 09/05/95 ===== + +- Fixed display of old error (even if already cleared) in ftape_open. +- Improved tape length detection, ioctls would fail for 425 ft tapes. + Until the tape length is calculated with data from the header + segment, we'll use worst-case values. +- Clear eof_mark after rewinding ioctls. +- Fixed wrong version message (2.03 had 2.02g id). +- Fixed bug that caused the fdc to be reset very frequently. + This shouldn't affect normal operation but the timing of the + report routines has changed again and that may cause problems. + We'll just have to find out.... +- Implemented correct write precompensation setting for QIC-3010/3020. +- Cleaned up fdc_interrupt_wait routine. Hope it still works :-) +- Finally removed (already disabled) special eof mark handling for + gnu tar. +- Changed order of get_dma_residue and disable_dma in fdc-isr.c + because the current order would fail on at least one system. + We're back to the original order again, hope (and expect) this + doesn't break any other system. + + +===== Release notes for ftape-2.03, 07/05/95 ===== + +(Changes refer to the first ftape-2.02 release) + +Support for wide and extended length tapes +------------------------------------------ +The Conner TSM 420 and 850 drives are reported to be working. +I haven't received any reports about other brands; the TSM 420 +and 850 seem to be the most widely used wide drives. +Extended length tapes (425 ft) with normal QIC-80 drives +are operating too (At least I've had no reports stating otherwise). +_Not_ yet completely supported (although they may work) are +QIC-3020 drives and 2 Mbps floppy disk controllers won't work at +the highest speed. +If someone is kind enough to send me one of these, I'll include +support for it too ;-) + +Easier configuration +-------------------- +Problems due to wrong settings in the Makefile are prevented +by using a configuration script that sets the necessary (kernel +version dependent) compile time options. +This kernel version is now determined from the sources found +at /usr/src/linux, or if not found, the old way using +/proc/version. +Versioned modules will be used automatically when supported +by- and configured in- the kernel. +Note that the current modules code (1.1.87) is still broken +and _needs_ the fix included in the insmod directory. +Please don't send me any more Oops reports caused by insmod :-( + +Reduced module size +------------------- +The standard module size is much reduced and some compile time +options can even reduce it further. (I don't recommend this +for normal use but it can be handy for rescue diskettes) + +Option: Approx. module size: + +<standard> 150 Kb +NO_TRACE 125 Kb +NO_TRACE_AT_ALL 67 Kb + + +Much improved driver interruption +--------------------------------- +Most possible loops have been broken and signal detection +has been improved. +In most cases the driver can be aborted by ^C (SIGINT) and +SIGKILL (kill -9) will generate be a sure kill. +(Note that aborting a tape operation may damage the last +data written to tape) + +Improved error recovery +----------------------- +Ftape now returns an error (ENODATA) to the application if +a segment proves to be unrecoverable and then skips the +bad segment. +This causes most applications to continue to work (tar +and afio) loosing only a small amount (up to 29 Kb) of data. +Retried read operations will now be done slightly off-track +to improve the chance of success. Serious head off-track +errors will be detected. + +FC-10 and FC-20 controllers +--------------------------- +Ftape now supports both the old CMS FC-10 and the newer FC-20 +controllers. +Because the operation of these cards is still undocumented, +thus far they will only work with the default settings (See +Makefile). Any feed-back on how to use them with other settings +will be welcome ! +Compilation will fail if one changes the settings to illegal +values. + +Kernels and compilers +--------------------- +Ftape is currently being developed using the 2.5.8 compiler. +The older 2.4.5 probably works too (Set option in Makefile!). +I have no experience with any later compilers nor Elf support. +Any information on this is welcome. +The latest kernel I have tested ftape with is 1.2.6. + +Compression +----------- +An impressive collection of changes for ftape including +on-the-fly compression is still lying on my desk. +If 2.03 proves to be reliable I might start integrating these +but as usual, I'm short in time :-( + +Formatting +---------- +There is still no way to format tapes under Linux. As far as +I know all attempts to write such a program have died now. +Since formatted tapes are rather common now, I think all we +need is a utility that writes a worst case pattern and verifies +that with the drive put in verify mode, reducing margins. +Any takers ? + +Furthermore +----------- +Cleaned up messages. +Prepared to support multiple tape drives on one fdc. +Thanks to all the people who sent bug reports and helped me +improve the driver. Without trying to be complete I'll mention +Gary Anderson (without his accurate reports and unreliable +hardware there wouldn't be a 2.03), Stefan Kneifel (FC-20), +Robert Broughton (FC-20, you were almost there ;-), Bjorn +Ekwall (for the versioned modules and buggy insmod ;-), Peter +Fox, Christopher Oliver, Ralph Whittaker and not the least +Linus Torvalds (for Linux and keeping me busy because of +changes to the kernel ;-) +Thanks to anyone I forgot, for the bug reports, the ftape +bashing and the mental support... + + +That's it for now. Have Fun, + +Bas. + + +===== Release notes for ftape-2.02g, 06/05/95 ===== + +- Added extra test to break read-id loop with signal. +- Changed rewind code to handle negative overshoot for drives + that take very long to start or stop. +- Let use of get/set i/o-regions depend on kernel version. +- Changed code to use a more general test for conditional + compilations depending on kernel version. +- Improved micro-step functionality to go off-track only + while reading (id & data). +- Added failure on tape-not-referenced bit in ftape_command. +- Added FOREVER option to read-wait routine. +- Changed read-id to use shorter timeout causing smaller + rewinds on timeout. +- Made kernel-interface functions static. + + +===== Release notes for ftape-2.02f, 03/05/95 ===== + +- Added support for dual tape drives on my system, extended Configure + script to detect host 'dodo'. +- Log media defect in history if ecc failed and no data was returned. +- Fixed Configure script that was failing for kernel versions with + double digit version or revision numbers. + + +===== Release notes for ftape-2.02e, 01/05/95 ===== + +- Fixed reposition loop at logical eot (failing read_id). +- Fixed 34 segment offset when rewinding. +- Added fast seek capability for more than 255 segments. +- Fixed wrong busy result from ftape_command causing reverse + seek to fail. +- Added breakout from infinite rewind loop (if something fails). + + +===== Release notes for ftape-2.02d, 30/04/95 ===== + +- Improved abortion on signals: Interrupt will make a graceful + exit, Kill will be less nice and should be used if everything + else fails. +- Included check for tape-head off track. +- Implemented exit from tape-start loop. +- Added kernel io-port registration. +- Implemented skip of failing segment (ENODATA) on ecc failure. + This allows afio and tar to continue when the tape is damaged. +- Made distinction between drive names with different codes. + + +===== Release notes for ftape-2.02c, 22/04/95 ===== + +- Fixed too tight command queueing after tape stop/pause command + issued from within interrupt service routine (Showed as timeout + on Acknowledge errors during retries on some systems) +- Tried to fix timeouts when using 425 ft tape because the extended + length doesn't seem to be detected by the hardware. + We now use the format code from the header segment so adjust the + timing after reading the header segment. +- Fixed some messages stating 'unexpected something...' being not + unexpected anymore. +- Started preparations for merge of dynamic buffer allocation and + compression code. +- Changed some debug messages to include relevant segment information + at level 4. +- Included early bail-out when drive offline, preventing a lot of + false messages. +- Moved ftape_parameter_xxx() offsets into function instead of in calls. +- Removed 'weird, drive busy but no data' error when caused by + an error during a read-id. +- Improved 'timeout on acknowledge' diagnostics. +- Moved MODULE option into Configure. +- Reduced code size when no tracing at all was set (Claus Heine). +- No longer log error code 0 (no error) as an error. + + +===== Release notes for ftape-2.02b, 09/04/95 ===== + +- Relaxed timing for status operation and displaying + abnormal results. Hopefully this shows what's going + wrong with the Conner TSM850R drives. +- Created script for configuration, using version number + of kernel source if available, otherwise /proc/version. +- Fixed conditionals in kernel-interface.c. +- Removed unavoidable TRACE output. + + +===== Release notes for ftape-2.02a, 01/04/95 ===== + +- Implemented `new-style' (versioned) modules support for new + kernels. +- Reduced size of module by moving static data to bss. +- Now using version number of kernel source instead of running + kernel for kernel versions >= 1.1.82 +- Added feedback on drive speeds to vendor information. +- Included fixed insmod sources to distribution (Let's hope + the modules distribution get fixed soon :-/). + +Note that I haven't yet implemented any of the code extension I +received. I hope to find some time to do this soon. + + +===== Release notes for ftape-2.02, 15/01/95 ===== + + +- Fixed failing repositioning when overshoot was incremented. +- Fixed rate selection: Because of a deficiency in the QIC-117 + specification one cannot distinguish between a not implemented + and a failing command. Therefor we now try to find out if the + drive does support this command before usage. +- Fixed error retry using wrong offset in fdc-isr. +- Improved retry code to retry only once on a single no-data + error in a segment. +- Validate sector number extracted from eof mark because an + invalid file mark (due to ???) could cause kernel panic. +- Split ftape-io.c into ftape-io.c and ftape-ctl.c files. +- Corrected too high media error count after writing to + a bad tape. +- Added #include <asm/segment.h> again because old kernel versions + need it. +- Fixed fdc not being disabled when open failed because no tape + drive was found. +- Fixed problem with soft error in sector 32 (shift operator with + shiftcount 32 is not defined). + + +===== Release notes for ftape-2.01, 08/01/95 ===== + + +- Removed TESTING setting from distributed Makefile. +- Fixed `mt asf' failure: Rewind was deferred to close which + overruled the fsf ioctl. +- Prevented non-interruptible commands being interrupted. +- Added missing timeout.pause setting. +- Maximum tape speed read from drive type information table. + If the information is not in the table (0) the drive will + determine the speed itself and put a message in the logfile. + This information should then be added to the table in the + vendors.h file (and reported to me). +- Added call to ftape_init_drive after soft reset for those + (antique) drives that don't do an implicit seek_load_point + after a reset or power up. +- Don't try to set data rate if reset failed. +- Prevent update of seek variables when starting from the + beginning or the end of the tape. +- Fixed wrong adjustment of overshoot in seek_forward(). +- Added sync to Makefile (again). +- Added code to diagnose timer problems (calibr.c). +- Replaced time differences by timediff calls. +- Removed reference to do_floppy from object for recent kernels. +- Fixed wrong display of 'failing dma controller' message. +- Removed various no longer used #include statements. +- Added max. tape speed value to vendor-struct. +- Changed ftape-command to check pre-conditions and wait + if needed. +- Further updated qic117.h to rev G. +- Combined command name table and restrictions table to one. + Extended this table with some new fields. +- Increased timeout on Ack timer value and included code to + report out of spec behaviour. +- Increased rewind timeout margin to calculated + 20%. +- Improved data rate selection so it won't fail on some + older (pre standard) drives. +- Changed initialisation code so drive will be rewound if the + driver is reloaded and the tape is not at bot. +- Moved some of the flush operations from close to the ioctls. +- Added exit code value to failing verify area message. +- Loop until tape halted in smart-stop. +- Fast seek handled specially if located at bot or eot. +- Being more conservative on overshoot value. + + +===== Release notes for ftape-2.00, 31/12/94 ===== + + The Install-guide is completely rewritten and now also includes +some information on how to use the driver. If you're either new +to ftape or new to Unix tape devices make sure to read it ! + + If you own a pci system and experience problems with the +ftape driver make sure to read the README.PCI file. It contains +some hints on how to fix your hardware. + + For anybody who hasn't noticed: The version number of the +driver has been incremented (The latest released version has +been version 1.14d). + This has been done for two major reasons: + + o A new (better) error recovery scheme is implemented. + o Support for new drive types has been added. + + All these improvements/changes will probably include a couple +of new (and old?) bugs. If you encounter any problems that you think +I'm not yet aware of, feel free to send a report to <bas@vimec.nl>. + I recommend keeping a version of ftape-1.14d available, just +in case ;-) + + This version should work with all kernel versions from 1.0.9 up +to 1.1.72 (and probably earlier and later versions too). + + +Major new features: + +- Better handling of tapes with defects: When a sector repeatedly + (SOFT_RETRIES in ftape.h) cannot be written to or read from it is + marked as an hard error and gets skipped. + The error correction code can handle up to three of these hard + errors provided there are no other errors in that segment (32 Kb). + +- Allows writing to tapes with defects (although the risk of loosing + data increases !) + Look for the media-defects entry printed with the statistics when + the tape is closed. A non-zero value here shows a bad tape. + [the actual count is wrong (too high), this is a known bug]. + +- Use of backup header segment if first one is failing. + +- Support for extended length tapes with QIC-80: both 425 and 1100 ft. + 0.25 inch tapes are now recognized and handled. + +- Support for new QIC-80 drives with 8 mm `wide' tapes (e.g. Conner + TSM 420). + +- Support for new QIC-3010 and QIC-3020 drives (experimental) with + both 0.25 inch and 8 mm tapes. + +Some minor features were added, a couple of small bugs were fixed and +probably some new ones introduced ;-). + +[lseek() didn't make it into this version] + +Have fun, + +Bas. +---- + LocalWords: ftape MCONFIG mt VFS zftape resp sftape proc subdir MTIOCVOLINFO + LocalWords: MTIOCGETSIZE BOT EOD MTBSF zft kerneld modprobe kdtime contrib TR + LocalWords: MTSETBLK afio uninstall texi www EIO QIC init sft eof aka dma GB + LocalWords: SIGKILL MTIOCFTCMD mmap Iomega FDC fdc io gnumt mtio fc asm inb + LocalWords: outb ft qic frontend TeXinfo irq mach MODVERSIONS CONFIG html dvi + LocalWords: usr doc SMP Mb Dunno FIXME vtblc perl listtape volinfo fsf MTWEOF + LocalWords: amanda degaussed ComByte DoublePlay whraven njackn com MTIOC vtbl + LocalWords: GETBLKSZ MAKEDEV zftape's linux dif CVS Revison cp MTREW MTOFFL + LocalWords: MTFSF BSF Marcin Dalecki GCC Config cpio swapout Kai Harrekilde + LocalWords: Pederson khp dolphinics Justus claus momo rwth aachen Laarhoven |