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