RELEASE-NOTES 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966
  1. Hey, Emacs, we're -*-Text-*- mode!
  2. ===== Release notes for ftape-3.04d 25/11/97 =====
  3. - The correct pre-processor statement for "else if" is "#elif" not
  4. "elsif".
  5. - Need to call zft_reset_position() when overwriting cartridges
  6. previously written with ftape-2.x, sftape, or ancient
  7. (pre-ftape-3.x) versions of zftape.
  8. ===== Release notes for ftape-3.04c 16/11/97 =====
  9. - fdc_probe() was calling DUMPREGS with a result length of "1" which
  10. was just fine. Undo previous change.
  11. ===== Release notes for ftape-3.04b 14/11/97 =====
  12. - patches/2.x.x/floppy.c.diff was somewhat broken, releasing i/o
  13. regions it never had allocated.
  14. - fdc_probe() was calling DUMPREGS with a result length of "1" instead
  15. of "10"
  16. - Writing deleted data marks if the first segents on track zero are
  17. should work now.
  18. - ftformat should now be able to handle those cases where the tape
  19. drive sets the read only status bit (QIC-40/80 cartridges with
  20. QIC-3010/3020 tape drives) because the header segment is damaged.
  21. - the MTIOCFTCMD ioctl may now be issued by the superuser ONLY.
  22. ===== Release notes for ftape-3.04a 12/11/97 =====
  23. - Fix an "infinite loop can't be killed by signal" bug in
  24. ftape_get_drive_status(). Only relevant when trying to access
  25. buggy/misconfigured hardware
  26. - Try to compensate a bug in the HP Colorado T3000's firmware: it
  27. doesn't set the write protect bit for QIC80/QIC40 cartridges.
  28. ===== Release notes for ftape-3.04 06/11/97 =====
  29. - If positioning with fast seeking fails fall back to a slow seek
  30. before giving up.
  31. - (nearly) no retries on "no data errors" when verifying after
  32. formatting. Improved tuning of the bad sector map after formatting.
  33. - the directory layout has changed again to allow for easier kernel
  34. integration
  35. - Module parameter "ftape_tracing" now is called "ft_tracing" because
  36. the "ftape_tracing" variable has the version checksum attached to it.
  37. - `/proc/ftape' interface for 2.0.* kernels. `/proc/ftape' no longer
  38. is a directory but a file that contains all the information formerly
  39. provided in separate files under the `/proc/ftape/' directory.
  40. - Most of the configuration options have been prefixed by "CONFIG_FT_"
  41. in preparation of the kernel inclusion. The Makefiles under
  42. "./ftape/" should be directly usable by the kernel.
  43. - The MODVERSIONS stuff is now auto-detected.
  44. - Broke backslashed multi line options in MCONFIG into separate lines
  45. using GNU-make's "+=" feature.
  46. - The html and dvi version of the manual is now installed under
  47. '/usr/doc/ftape` with 'make install`
  48. - New SMP define in MCONFIG. ftape works with SMP if this is defined.
  49. - attempt to cope with "excessive overrun errors" by gradually
  50. increasing FDC FIFO threshold. But this doesn't seem to have too
  51. much an effect.
  52. - New load time configuration parameter "ft_fdc_rate_limit". If you
  53. encounter too many overrun errors with a 2Mb controller then you
  54. might want to set this to 1000.
  55. - overrun errors on the last sector in a segment sometimes result in
  56. a zero DMA residue. Dunno why, but compensate for it.
  57. - there were still fdc_read() timeout errors. I think I have fixed it
  58. now, please FIXME.
  59. - Sometimes ftape_write() failed to re-start the tape drive when a
  60. segment without a good sector was reached ("wait for empty segment
  61. failed"). This is fixed. Especially important for > QIC-3010.
  62. - sftape (aka ftape-2.x) has vanished. I didn't work on it for
  63. ages. It is probably still possible to use the old code with
  64. ftape-3.04, if one really needs it (BUT RECOMPILE IT)
  65. - zftape no longer alters the contents of already existing volume
  66. table entries, which makes it possible to fill in missing fields,
  67. like time stamps using some user space program.
  68. - ./contrib/vtblc/ contains such a program.
  69. - new perl script ./contrib/scripts/listtape that list the contents of a
  70. floppy tape cartridge parsing the output of "mt volinfo" + "mt fsf"
  71. - the MTWEOF implementation has changed a little bit (after I had a
  72. look at amanda). Calling MTWEOF while the tape is still held open
  73. after writing something to the tape now will terminate the current
  74. volume, and start a new one at the current position.
  75. - the volume table maintained by zftape now is a doubly linked list
  76. that grows dynamically as needed.
  77. formatting floppy tape cartridges
  78. ---------------------------------
  79. * there is a new user space formatting program that does most of the
  80. dirty work in user space (auto-detect, computing the sector
  81. coordinates, adjusting time stamps and statistics). It has a
  82. simple command line interface.
  83. * ftape-format.o has vanished, it has been folded into the low level
  84. ftape.o module, and the ioctl interface into zftape.o. Most of the
  85. complicated stuff has been moved to user space, so there was no
  86. need for a separate module anymore.
  87. * there is a new ioctl MTIOCFTCMD that sends a bare QIC-117 command
  88. to the tape drive.
  89. * there is a new mmap() feature to map the dma buffers into user
  90. space to be used by the user level formatting program.
  91. * Formatting of yet unformatted or totally degaussed cartridges
  92. should be possible now. FIXME.
  93. ===== Release notes for ftape-3.03b, <forgot the exact date> ====
  94. ftape-3.03b was released as a beta release only. Its main new feature
  95. was support of the DITTO-2GB drive. This was made possible by reverse
  96. engineering done by <fill in his name> after Iomega failed to support
  97. ftape. Although they had promised to do so (this makes me feel a bit
  98. sad and uncomfortable about Iomega).
  99. ===== Release notes for ftape-3.03a, 22/05/97 ====
  100. - Finally fixed auto-un-loading of modules for kernels > 2.1.18
  101. - Add an "uninstall" target to the Makefile
  102. - removed the kdtime hack
  103. - texi2www didn't properly set the back-reference from a footnote back
  104. to the regular text.
  105. zftape specific
  106. ---------------
  107. * hide the old compression map volume. Taper doesn't accept the
  108. presence of non-Taper volumes and Taper-written volume on the same
  109. tape.
  110. * EOD (End Of Data) handling was still broken: the expected behavior
  111. is to return a zero byte count at the first attempt to read past
  112. EOD, return a zero byte count at the second attempt to read past
  113. EOD and THEN return -EIO.
  114. ftape-format specific
  115. ---------------------
  116. * Detection of QIC-40 cartridges in select_tape_format() was broken
  117. and made it impossible to format QIC-3010/3020 cartridges.
  118. * There are strange "TR-1 Extra" cartridges out there which weren't
  119. detected properly because the don't strictly conform to the
  120. QIC-80, Rev. N, spec.
  121. ===== Release notes for ftape-3.03, 30/04/97 =====
  122. - Removed kernel integration code from the package. I plan to provide
  123. a package that can be integrated into the stock kernel separately
  124. (hopefully soon).
  125. As a result, a simple `make' command now will build everything.
  126. - ALL compile time configuration options have been moved to the file
  127. `MCONFIG'.
  128. - Quite a few `low level' changes to allow formatting of cartridges.
  129. - formatting is implemented as a separate module `ftape-format.o'. The
  130. modified `mt' program contains sample code that shows how to use it.
  131. - The VFS interface has been moved from the `ftape.o' module to the
  132. high level modules `zftape.o' resp. `sftape.o'. `ftape.o' contains
  133. the hardware support only.
  134. - A bit of /proc support for kernels > 2.1.28
  135. - Moved documentation to Doc subdir. INSTALL now contains some real
  136. installation notes.
  137. - `install' target in Makefile.
  138. zftape specific:
  139. ----------------
  140. - zftape works for large cartridges now ( > 2^31 bytes)
  141. - MTIOCVOLINFO and MTIOCGETSIZE now return the size in KILOBYTES,
  142. NO LONGER in bytes.
  143. - permissions for write access to a cartridge have changed:
  144. * zftape now also takes the file access mode into account
  145. * zftape no longer allows writing in the middle of the recorded
  146. media. The tape has to be positioned at BOT or EOD for write
  147. access.
  148. - MTBSF has changed. It used to position at the beginning of the
  149. previous file when called with count 1. This was different from the
  150. expected behavior for other Un*x tape drivers (i.e. SCSI). MTBSF
  151. with count 1 should merely position at the beginning of the current
  152. volume. Fixed. As a result, `tar --verify' now produces the desired
  153. result: it verifies the last written volume, not the pre-last
  154. written volume.
  155. - The compression map has vanished --> no need for `mt erase' any
  156. more. Fast seeking in a compressed volume is still be possible, but
  157. takes slightly longer. As a side effect, you may experience an
  158. additional volume showing up in front of all others for old
  159. cartridges. This is the tape volume that holds the compression map.
  160. - The compression support for zftape has been moved to a separate
  161. module `zft-compressor'. DON'T forget to load it before trying to
  162. read back compressed volumes. The stock `zftape.o' module probes for
  163. the module `zft-compressor' using the kerneld message channel; you
  164. have to install `zft-compressor.o' in a place where modprobe can
  165. find it if you want to use this.
  166. - New experimental feature that tries to get the broken down GMT time
  167. from user space via a kernel daemon message channel. You need to
  168. compile and start the `kdtime' daemon contained in the contrib
  169. directory to use it. Needed (?) for time stamps in the header
  170. segments and the volume table.
  171. - variable block size mode via MTSETBLK 0
  172. - keep modules locked in memory after the block size has been changed
  173. sftape specific:
  174. ----------------
  175. - end of tape handling should be fixed, i.e. multi volume archives
  176. written with `afio' can be read back now.
  177. ===== Release notes for ftape-3.02a, 09/01/97 =====
  178. No big news:
  179. - call zft_init() resp. sft_init() when compiling the entire stuff
  180. into the kernel image.
  181. - fix bug in ftape-setup.c when NO_TRACE_AT_ALL was defined.
  182. - fix bug in sftape-eof.c/zftape-eof.c for old kernels (1.2.*)
  183. - add support for new module interface for recent kernels
  184. ===== Release notes for ftape-3.02, 16/12/96 =====
  185. - Fixed the `FDC unlock command failed' bug in fdc-io.c. When the FIFO
  186. was already locked when ftape was loaded, ftape failed to unlock it.
  187. - Fixed compilation of `contrib/gnumt'. It now finds `mtio.h' even if
  188. ftape is NOT included into the kernel source tree.
  189. - fc-10.c: include <asm/io.h> for inb() and outb().
  190. - ftape/sftape/zftape: all global variable now have either a `ftape_',
  191. a `ft_', `sft_', `zft_' or `qic_' prefix to prevent name clashes
  192. with other parts of the kernel when including ftape into the kernel
  193. source tree.
  194. - Kerneld support has changed. `ftape' now searches for a module
  195. `ftape-frontend' when none of the frontend (`sftape' or `zftape') is
  196. loaded. Please refer to the `Installation/Loading ftape' section of
  197. the TeXinfo manual.
  198. - Add load resp. boot-time configuration of ftape. There are now
  199. variables ft_fdc_base, ft_fdc_dma and ft_fdc_irq corresponding to
  200. the former FDC_BASE etc. compile time definitions. One can also use
  201. the kernel command line parameters to configure the driver if it is
  202. compiled into the kernel. Also, the FC-10/FC-20 support is load-time
  203. configurable now as well as the MACH-II hack (ft_probe_fc10,
  204. resp. ft_mach2). Please refer to the section `Installation/Configure
  205. ftape' of the TeXinfo manual.
  206. - I removed the MODVERSIONS option from `Makefile.module'. Let me alone
  207. with ftape and MODVERSIONS unless you include the ftape sources into
  208. the kernel source tree.
  209. - new vendors in `vendors.h':
  210. * HP Colorado T3000
  211. * ComByte DoublePlay (including a bug fix for their broken
  212. formatting software, thanks to whraven@njackn.com)
  213. * Iomega DITTO 2GIG. NOTE: this drive cannot work with ftape because
  214. the logical data layout of the cartridges used by this drive does
  215. NOT conform to the QIC standards, it is a special Iomega specific
  216. format. I've sent mail to Iomega but didn't receive an answer
  217. yet. If you want this drive to be supported by ftape, ask Iomega
  218. to give me information about it.
  219. - zftape:
  220. * re-introduced the MTIOC_ZFTAPE_GETBLKSZ ioctl for compatibility
  221. with zftape 1.06a and earlier. Please don't use it when writing
  222. new software, use the MTIOCVOLINFO ioctl instead.
  223. * Major overhaul of the code that updates the header segments. Never
  224. change the tape label unless erasing the tape. Thus we almost
  225. never need to write the header segments, unless we would modify
  226. the bad sector map which isn't done yet. Updating of volume table
  227. and compression map more secure now although it takes a bit
  228. longer.
  229. * Fixed bug when aborting a write operation with a signal: zftape
  230. now finishes the current volume (i.e. writes an eof marker) at the
  231. current position. It didn't before which led to somehow *strange*
  232. behavior in this cases.
  233. * Keep module locked in memory when using it with the non-rewinding
  234. devices and the tape is not logical at BOT. Needed for kerneld
  235. support.
  236. - sftape:
  237. * Keep module locked in memory when using it with the non-rewinding
  238. devices and the tape is not logical at BOT. Needed for kerneld
  239. support.
  240. ===== Release notes for ftape-3.01, 14/11/96 =====
  241. - Fixed silly bugs in ftape-3.00:
  242. * MAKEDEV.ftape: major device number must be 27, not 23
  243. * sftape/sftape-read.c: sftape_read_header_segments() called
  244. itself recursively instead of calling ftape_read_header_segment()
  245. * zftape/qic-vtbl.h: conversion of ftape's file marks to zftape's
  246. internal volume table was broken.
  247. * patches/2.x.x/linux-2.0.21.dif: my RCS (resp. CVS) system replaced
  248. the `$Revison:' etc. macros in the `ftape.h' concerning part of the
  249. patch :-( Fixed.
  250. * info/ftape.info: Fixed misspellings (`cp' <-> `cp -r' etc.)
  251. * when ftape/sftape or ftape/zftape was compiled into the kernel the
  252. variable ftape_status was declared twice. Fixed.
  253. * removed reference to undeclared variable kernel_version when not
  254. compiling as module
  255. * fixed a bug introduced by the use of bit-fields for some flags
  256. (i.e. write_protected, no_cartridge, formatted)
  257. * flag `header_read' is now reset correctly to zero when tape is
  258. removed.
  259. - fixed a bug in sftape/sftape-eof.c that was already in the original
  260. ftape code. MTFSF/BSF was not handled correctly when positioned
  261. right before the file mark (think of tar)
  262. - Changed TRACE macros (following a suggestion of Marcin Dalecki) to use
  263. the predefined __FUNCTION__ macro of GCC. Spares about 4k of code.
  264. - added new vendor id for Iomega DITTO 2GIG
  265. - fixed a bug already present in zftape-1.06 when aborting a write
  266. with a signal: we now finish the current volume at that
  267. position. Header segments remain NOT up to date until an explicit call
  268. to MTREW or MTOFFL is done.
  269. ===== Release notes for ftape-3.00, 14/10/96 =====
  270. - Merged ftape with zftape. There are three modules now:
  271. ftape for the hardware support, sftape for the implementation of the
  272. original ftape eof mark stuff and zftape that implements zftape's way
  273. of handling things (compression, volume table, tape blocks of
  274. constant length)
  275. - Documentation in TeXinfo format in the `info' subdirectory.
  276. - New ioctls for zftape. See zftape/zftape.h
  277. - Dummy formatting ioctl for ftape. See ftape.h
  278. - Kernel patch files for the 2.*.* series to include ftape-3.00 in the
  279. kernel source tree. These includes a kernel compatible Config.in
  280. script and fairly large online information for the kernel configure
  281. script.
  282. - Support for compiling with Linux-1.2.13.
  283. - Modified GNU mt from their cpio package that can handle the new
  284. ioctls.
  285. - ftape/sftape/zftape is kerneld save now!
  286. Notes on sftape:
  287. - sftape implements the eof handling code of the original ftape. If
  288. you like to stick with the original ftape stuff, you have to use
  289. this module, not zftape.
  290. - sftape is kerneld save, unlike the original ftape.
  291. - we keep the entire header segment now in memory, so no need to read
  292. it before updating the header segments. Additional memory
  293. consumption: 256 bytes.
  294. Notes for zftape:
  295. - zftape has support for tapes with format code 6 now, which use a
  296. slightly different volume table format compared with other floppy
  297. tapes.
  298. - new ioctls for zftape. Have a look at zftape/zftape.h
  299. - The internal volume table representation has changed for zftape. Old
  300. cartridges are converted automatically.
  301. - zftape no longer uses compression map segments, which have vanished
  302. from the QIC specs, but creates volume table entry that reserves
  303. enough space for the compression map.
  304. - zftape is kerneld save now.
  305. - we keep the entire header segment now in memory, so no need to read
  306. it before updating the header segments. Additional memory
  307. consumption: 256 bytes.
  308. Notes for contrib/gnumt:
  309. - modified mt from the GNU cpio package that supports all the new
  310. ioctls of zftape.
  311. Notes for contrib/swapout:
  312. - This contains the swapout.c program that was written by Kai
  313. Harrekilde-Pederson. I simply added a Makefile.
  314. ===== Release notes for ftape-2.10, 14/10/96 =====
  315. The ftape maintainer has changed.
  316. Kai Harrekilde-Petersen <khp@dolphinics.no>
  317. has resigned from maintaining ftape, and I,
  318. Claus-Justus Heine <claus@momo.math.rwth-aachen.de>,
  319. have taken over.
  320. - Added support for tapes with `format code 6', i.e. QIC-3020 tapes
  321. with more than 2^16 segments.
  322. - merged changes made by Bas Laarhoven with ftape-2.09. Refer
  323. to his release notes below. I've included them into this
  324. file unchanged for your reference.
  325. - disabled call stack back trace for now. This new feature
  326. introduced by the interim release 2.0.x still seems to
  327. be buggy.
  328. - Tried to minimize differences between the ftape version
  329. to be included into the kernel source tree and the standalone
  330. module version.
  331. - Reintroduced support for Linux-1.2.13. Please refer to the
  332. Install-guide.
  333. ===== Release notes for ftape-2.09, 16/06/96 =====
  334. There aren't any really big news in this release, mostly just that I
  335. (the maintainer) have changed my email address (due to a new job). My
  336. new address is <khp@dolphinics.no>
  337. - The CLK_48MHZ and FDC_82078SL options has gone (all 2Mbps cards seem
  338. to use a 48MHz oscillator anyway and I haven't heard of an 'SL
  339. chip out there).
  340. - The S82078B has been `downgraded' to i82077AA compability.
  341. - TESTING option revived. Right now, it'll enable the (seriously broken)
  342. 2Mbps code. If you enable it, you'll experience a tape drive that's
  343. *really* out to lunch!
  344. - Some (bold) changes in the init code. Please notify me if they
  345. break things for you.
  346. ===== Release notes for ftape-2.08, 14/03/96 =====
  347. If you correct a problem with ftape, please send your patch to
  348. khp@dolphinics.no too.
  349. - Updated to reflect that NR_MEM_LISTS is gone in 1.3.74
  350. - Teac 700 added to list of known drives.
  351. - The registered device name is now "ft" rather than "ftape".
  352. ===== Release notes for ftape-2.07a, 14/03/96 =====
  353. Bugfixes by Marcin Dalecki <dalecki@namu03.gwdg.de>:
  354. - In the last release it just compiled against 1.3.70;
  355. now the params to request_irq() and free_irq are() are fixed, so it also
  356. works in 1.3.73 :-)
  357. - Support for modules is now correct for newer kernels.
  358. ===== Release notes for ftape-2.07, 04/03/96 =====
  359. - ftape updated to compile against 1.3.70.
  360. - Iomega 700 and Wangtek 3200 recognised.
  361. ===== Release notes for ftape-2.06b, 13/02/96 =====
  362. Another simple bugfix version.
  363. - Jumbo 700 recognised.
  364. - Typo in vendors.h fixed.
  365. ===== Release notes for ftape-2.06a, 10/02/96 =====
  366. This release is a simple bugfix version.
  367. - Linux/SMP: ftape *should* work.
  368. - FC-10/20: Only accepts IRQs 3-7, or 9. If IRQ 9, properly tell the card
  369. to use IRQ 2. Thanks to Greg Crider (gcrider@iclnet.org) for finding and
  370. locating this bug and testing the patch.
  371. - Insight drive recognised correctly again.
  372. - Motor-on wakeup version of the Iomega 250 drive added
  373. ===== Release notes for ftape-2.06, 28/01/96 =====
  374. Special thanks go to Neal Friedman and Steven Sorbom for their
  375. help in producing and testing this release.
  376. I have continued to clean up the code, with an eye towards inclusion
  377. of ftape in Linus' official kernel (In fact, as I type this, I am
  378. running on a kernel with ftape support statically linked). I have
  379. test-compiled ftape against my 1.2.13 tree without problems.
  380. Hopefully, everything should be OK for the v1.2.x people.
  381. WARNING! Alan Cox has mailed me that ftape does *NOT* work with
  382. Linux/SMP. If you try to run ftape under Linux/SMP, it will cause a
  383. kernel deadlock (which is worse than a panic).
  384. - QIC-3020/TR-3: 1Mbps support works. Neal is capable of reading and
  385. writing data to a tape. ftape will automatically detect the type of
  386. tape (e.g. TR-3 vs QIC-80) and move the fdc in and out of
  387. "perpendicular mode" as necessary.
  388. - 2Mbps support is disabled by default, since it is not fully
  389. debugged. If you are adventurous, remove -DFDC_82078SL in the
  390. Makefile and see what happens :-)
  391. - fdc detection: silly bugs removed (Only 2Mbps fdcs were affected)
  392. and added detection of the National Semiconductors PC8744 fdc chip
  393. (used in the PC873xx "super-IO" chips).
  394. - Removed warning about incompatible types when compiling with Linux
  395. 1.2.x.
  396. - README.PCI updated with info about the DELL Dimension XPS P90.
  397. - Connor TST3200R added to detected drives.
  398. - `swapout' utility added to distribution. It will dirty 5Meg of
  399. memory, trying to swap out other programs. Just say `make swapout'
  400. to build it. ftape will do this automatically Real Soon Now (ie:
  401. when I have found out which kernel memory alloc function to call).
  402. ===== Release notes for ftape-2.05, 08/01/96 =====
  403. - For v1.2.x Kernels, you must apply the patch linux-1.2/ksyms.patch to
  404. the kernel and rebuild it (it adds the __get_dma_pages symbol to
  405. ksyms.c).
  406. - Included new asm-i386/io.h file from v1.3.x kernel series, to enable
  407. gcc v.2.7.[12] to compile v1.2.x kernels (linux-1.2/io.h).
  408. - Module versions: If you wish to compile ftape as a versioned module,
  409. you must first compile your kernel with CONFIG_MODVERSIONS=y.
  410. Otherwise, you will get complaints that <linux/modversions.h> does not
  411. exist (if that happens, a `touch modversions.h' will help you out).
  412. - CLK_48MHZ: new define in the Makefile (default: non-zero). If you have
  413. a tape controller card that uses the i82078(-1) chip, but cannot get
  414. it to work with ftape, try set it to 0 (and please report this).
  415. - QIC-3010/3020: Complete support is still missing, but will hopefully
  416. come soon. Steven Sorbom has kindly provided me with hints about
  417. this. Writing of QIC-3020 tapes definitely does NOT work (do not try
  418. it! - the drive will not be in "perpendicular mode" and this will ruin
  419. the formatting info on the tape).
  420. - ftape_num_buffers is out of fashion: use NR_BUFFERS instead (and
  421. recompile if you want to change it :-).
  422. ===== Release notes for ftape-2.04, 01/01/96 =====
  423. This version by Kai Harrekilde-Petersen <khp@dolphinics.no>
  424. - ALERT! Support for Kernels earlier then v1.1.85 is about to go away.
  425. I intend to clean up some of the code (getting rid of an annoyingly
  426. large numbers of #ifdef mostly), which means that support for
  427. pre-1.1.85 kernels must go as well.
  428. - NR_FTAPE_BUFFERS is gone; You can instead select the number of dma
  429. buffers by saying `insmod ftape.o ftape_num_buffer=<n>' instead.
  430. - Configure script gone. ftape will now automagically determine your
  431. kernel version by /usr/include/linux/version.h instead.
  432. - CONFIG_MODVERSIONS now work. All combinations of versioned /
  433. unversioned kernel and ftape module works (at least with my 1.3.52
  434. kernel).
  435. - If you have problems with inserting ftape into an old (1.2.x)
  436. kernel (e.g. insmod says "1.2.8 does not match 1.2.8), recompile
  437. your modules utilities with your new compiler.
  438. - Reveal TB1400 drive added to vendors.h
  439. - Support for the i82078-1 (2Mbps) chip is coming along. The
  440. biggest problem is that I don't have such a card, which makes
  441. testing / debugging somewhat problematic. The second biggest
  442. problem is that I do not have the QIC-3010/3020 standards either.
  443. Status right now is that the chip is detected, and it should be
  444. possible to put it into 2Mbps mode. However, I do not know what
  445. "extras" are needed to complete the support. Although putting the
  446. i82078 into 1Mbps mode ought to work out of the box, it doesn't
  447. (right now, ftape complains about id am errors).
  448. ===== Release notes for ftape-2.04beta5, 29/12/95 =====
  449. Bas offline linux-tape
  450. ----------------------
  451. For reasons only known to the majordomo mail list processor, Bas was
  452. kicked off the linux-tape list sometime during the summer. Being
  453. overworked at his for-pay job, he didn't notice it much. Instead I
  454. (Kai, khp@dolphinics.no) has worked on ftape to produce the 2.04(beta)
  455. version.
  456. zftape
  457. ------
  458. Note that there exists a much improved version of ftape, written by
  459. Claus-Justus Heine <claus@willi.math.rwth-aachen.de> which is named
  460. zftape, which conforms to the QIC-80 specs on how to mark backups, and
  461. is capable of doing automatic compression. However, zftape makes
  462. substantial changes to ftape, and I (Kai) have therefore declined to
  463. integrate zftape into ftape. Hopefully, this will happen soon.
  464. CONFIG_QIC117 removed from the kernel
  465. -------------------------------------
  466. The biggest change of all is that ftape now will allocate its dma
  467. buffers when it is inserted. The means that the CONFIG_QIC117 option
  468. has disappeared from the Linux kernel as of v1.3.34. If you have an
  469. earlier kernel, simply answer 'no' to the question will do the trick
  470. (if you get complains about __get_free_pages() missing, contact the
  471. linux-tape mailing list).
  472. Note that ftape-2.04beta will work equally well on kernels with and
  473. without `ftape support'. The only catch is, that you will waste
  474. around 96-128Kb of precious DMA'able memory on a box that has ftape
  475. support compiled in.
  476. Now for the real changes:
  477. - FC-20 can now use DMA channels 1, 2, and 3. Thanks to Daniel
  478. Cohen, catman@wpi.edu.
  479. - ftape no longer requires a (gigantic) 96Kb buffer to be statically
  480. allocated by the kernel.
  481. - Added new Iomega drive (8882) to vendors.h
  482. - -fno-strength-reduce added to Makefile, since GCC is broken.
  483. - i82078-1 (2Mbps) FDC support started.
  484. ===== Release notes for ftape-2.03b, 27/05/95 =====
  485. - Prevented verify_area to return error if called with zero length.
  486. - Fixed a bug in flush_buffers that caused too much padding to be
  487. written when a final segment had bad sectors.
  488. - Increased maximum fast-seek overshoot value from 5 to 10 segments.
  489. - Breaking loop after 5 retries when positioning fails.
  490. - Fixed wrong calculation of tape length for QIC-3010 and QIC-3020
  491. tapes (densities were swapped).
  492. - Fixed wrong calculation of overshoot on seek_forward: Wrong sign
  493. of error.
  494. - Suppress (false) error message due to new tape loaded.
  495. - Added two new CMS drives (11c3 and 11c5) to vendors.h.
  496. ===== Release notes for ftape-2.03a, 09/05/95 =====
  497. - Fixed display of old error (even if already cleared) in ftape_open.
  498. - Improved tape length detection, ioctls would fail for 425 ft tapes.
  499. Until the tape length is calculated with data from the header
  500. segment, we'll use worst-case values.
  501. - Clear eof_mark after rewinding ioctls.
  502. - Fixed wrong version message (2.03 had 2.02g id).
  503. - Fixed bug that caused the fdc to be reset very frequently.
  504. This shouldn't affect normal operation but the timing of the
  505. report routines has changed again and that may cause problems.
  506. We'll just have to find out....
  507. - Implemented correct write precompensation setting for QIC-3010/3020.
  508. - Cleaned up fdc_interrupt_wait routine. Hope it still works :-)
  509. - Finally removed (already disabled) special eof mark handling for
  510. gnu tar.
  511. - Changed order of get_dma_residue and disable_dma in fdc-isr.c
  512. because the current order would fail on at least one system.
  513. We're back to the original order again, hope (and expect) this
  514. doesn't break any other system.
  515. ===== Release notes for ftape-2.03, 07/05/95 =====
  516. (Changes refer to the first ftape-2.02 release)
  517. Support for wide and extended length tapes
  518. ------------------------------------------
  519. The Conner TSM 420 and 850 drives are reported to be working.
  520. I haven't received any reports about other brands; the TSM 420
  521. and 850 seem to be the most widely used wide drives.
  522. Extended length tapes (425 ft) with normal QIC-80 drives
  523. are operating too (At least I've had no reports stating otherwise).
  524. _Not_ yet completely supported (although they may work) are
  525. QIC-3020 drives and 2 Mbps floppy disk controllers won't work at
  526. the highest speed.
  527. If someone is kind enough to send me one of these, I'll include
  528. support for it too ;-)
  529. Easier configuration
  530. --------------------
  531. Problems due to wrong settings in the Makefile are prevented
  532. by using a configuration script that sets the necessary (kernel
  533. version dependent) compile time options.
  534. This kernel version is now determined from the sources found
  535. at /usr/src/linux, or if not found, the old way using
  536. /proc/version.
  537. Versioned modules will be used automatically when supported
  538. by- and configured in- the kernel.
  539. Note that the current modules code (1.1.87) is still broken
  540. and _needs_ the fix included in the insmod directory.
  541. Please don't send me any more Oops reports caused by insmod :-(
  542. Reduced module size
  543. -------------------
  544. The standard module size is much reduced and some compile time
  545. options can even reduce it further. (I don't recommend this
  546. for normal use but it can be handy for rescue diskettes)
  547. Option: Approx. module size:
  548. <standard> 150 Kb
  549. NO_TRACE 125 Kb
  550. NO_TRACE_AT_ALL 67 Kb
  551. Much improved driver interruption
  552. ---------------------------------
  553. Most possible loops have been broken and signal detection
  554. has been improved.
  555. In most cases the driver can be aborted by ^C (SIGINT) and
  556. SIGKILL (kill -9) will generate be a sure kill.
  557. (Note that aborting a tape operation may damage the last
  558. data written to tape)
  559. Improved error recovery
  560. -----------------------
  561. Ftape now returns an error (ENODATA) to the application if
  562. a segment proves to be unrecoverable and then skips the
  563. bad segment.
  564. This causes most applications to continue to work (tar
  565. and afio) loosing only a small amount (up to 29 Kb) of data.
  566. Retried read operations will now be done slightly off-track
  567. to improve the chance of success. Serious head off-track
  568. errors will be detected.
  569. FC-10 and FC-20 controllers
  570. ---------------------------
  571. Ftape now supports both the old CMS FC-10 and the newer FC-20
  572. controllers.
  573. Because the operation of these cards is still undocumented,
  574. thus far they will only work with the default settings (See
  575. Makefile). Any feed-back on how to use them with other settings
  576. will be welcome !
  577. Compilation will fail if one changes the settings to illegal
  578. values.
  579. Kernels and compilers
  580. ---------------------
  581. Ftape is currently being developed using the 2.5.8 compiler.
  582. The older 2.4.5 probably works too (Set option in Makefile!).
  583. I have no experience with any later compilers nor Elf support.
  584. Any information on this is welcome.
  585. The latest kernel I have tested ftape with is 1.2.6.
  586. Compression
  587. -----------
  588. An impressive collection of changes for ftape including
  589. on-the-fly compression is still lying on my desk.
  590. If 2.03 proves to be reliable I might start integrating these
  591. but as usual, I'm short in time :-(
  592. Formatting
  593. ----------
  594. There is still no way to format tapes under Linux. As far as
  595. I know all attempts to write such a program have died now.
  596. Since formatted tapes are rather common now, I think all we
  597. need is a utility that writes a worst case pattern and verifies
  598. that with the drive put in verify mode, reducing margins.
  599. Any takers ?
  600. Furthermore
  601. -----------
  602. Cleaned up messages.
  603. Prepared to support multiple tape drives on one fdc.
  604. Thanks to all the people who sent bug reports and helped me
  605. improve the driver. Without trying to be complete I'll mention
  606. Gary Anderson (without his accurate reports and unreliable
  607. hardware there wouldn't be a 2.03), Stefan Kneifel (FC-20),
  608. Robert Broughton (FC-20, you were almost there ;-), Bjorn
  609. Ekwall (for the versioned modules and buggy insmod ;-), Peter
  610. Fox, Christopher Oliver, Ralph Whittaker and not the least
  611. Linus Torvalds (for Linux and keeping me busy because of
  612. changes to the kernel ;-)
  613. Thanks to anyone I forgot, for the bug reports, the ftape
  614. bashing and the mental support...
  615. That's it for now. Have Fun,
  616. Bas.
  617. ===== Release notes for ftape-2.02g, 06/05/95 =====
  618. - Added extra test to break read-id loop with signal.
  619. - Changed rewind code to handle negative overshoot for drives
  620. that take very long to start or stop.
  621. - Let use of get/set i/o-regions depend on kernel version.
  622. - Changed code to use a more general test for conditional
  623. compilations depending on kernel version.
  624. - Improved micro-step functionality to go off-track only
  625. while reading (id & data).
  626. - Added failure on tape-not-referenced bit in ftape_command.
  627. - Added FOREVER option to read-wait routine.
  628. - Changed read-id to use shorter timeout causing smaller
  629. rewinds on timeout.
  630. - Made kernel-interface functions static.
  631. ===== Release notes for ftape-2.02f, 03/05/95 =====
  632. - Added support for dual tape drives on my system, extended Configure
  633. script to detect host 'dodo'.
  634. - Log media defect in history if ecc failed and no data was returned.
  635. - Fixed Configure script that was failing for kernel versions with
  636. double digit version or revision numbers.
  637. ===== Release notes for ftape-2.02e, 01/05/95 =====
  638. - Fixed reposition loop at logical eot (failing read_id).
  639. - Fixed 34 segment offset when rewinding.
  640. - Added fast seek capability for more than 255 segments.
  641. - Fixed wrong busy result from ftape_command causing reverse
  642. seek to fail.
  643. - Added breakout from infinite rewind loop (if something fails).
  644. ===== Release notes for ftape-2.02d, 30/04/95 =====
  645. - Improved abortion on signals: Interrupt will make a graceful
  646. exit, Kill will be less nice and should be used if everything
  647. else fails.
  648. - Included check for tape-head off track.
  649. - Implemented exit from tape-start loop.
  650. - Added kernel io-port registration.
  651. - Implemented skip of failing segment (ENODATA) on ecc failure.
  652. This allows afio and tar to continue when the tape is damaged.
  653. - Made distinction between drive names with different codes.
  654. ===== Release notes for ftape-2.02c, 22/04/95 =====
  655. - Fixed too tight command queueing after tape stop/pause command
  656. issued from within interrupt service routine (Showed as timeout
  657. on Acknowledge errors during retries on some systems)
  658. - Tried to fix timeouts when using 425 ft tape because the extended
  659. length doesn't seem to be detected by the hardware.
  660. We now use the format code from the header segment so adjust the
  661. timing after reading the header segment.
  662. - Fixed some messages stating 'unexpected something...' being not
  663. unexpected anymore.
  664. - Started preparations for merge of dynamic buffer allocation and
  665. compression code.
  666. - Changed some debug messages to include relevant segment information
  667. at level 4.
  668. - Included early bail-out when drive offline, preventing a lot of
  669. false messages.
  670. - Moved ftape_parameter_xxx() offsets into function instead of in calls.
  671. - Removed 'weird, drive busy but no data' error when caused by
  672. an error during a read-id.
  673. - Improved 'timeout on acknowledge' diagnostics.
  674. - Moved MODULE option into Configure.
  675. - Reduced code size when no tracing at all was set (Claus Heine).
  676. - No longer log error code 0 (no error) as an error.
  677. ===== Release notes for ftape-2.02b, 09/04/95 =====
  678. - Relaxed timing for status operation and displaying
  679. abnormal results. Hopefully this shows what's going
  680. wrong with the Conner TSM850R drives.
  681. - Created script for configuration, using version number
  682. of kernel source if available, otherwise /proc/version.
  683. - Fixed conditionals in kernel-interface.c.
  684. - Removed unavoidable TRACE output.
  685. ===== Release notes for ftape-2.02a, 01/04/95 =====
  686. - Implemented `new-style' (versioned) modules support for new
  687. kernels.
  688. - Reduced size of module by moving static data to bss.
  689. - Now using version number of kernel source instead of running
  690. kernel for kernel versions >= 1.1.82
  691. - Added feedback on drive speeds to vendor information.
  692. - Included fixed insmod sources to distribution (Let's hope
  693. the modules distribution get fixed soon :-/).
  694. Note that I haven't yet implemented any of the code extension I
  695. received. I hope to find some time to do this soon.
  696. ===== Release notes for ftape-2.02, 15/01/95 =====
  697. - Fixed failing repositioning when overshoot was incremented.
  698. - Fixed rate selection: Because of a deficiency in the QIC-117
  699. specification one cannot distinguish between a not implemented
  700. and a failing command. Therefor we now try to find out if the
  701. drive does support this command before usage.
  702. - Fixed error retry using wrong offset in fdc-isr.
  703. - Improved retry code to retry only once on a single no-data
  704. error in a segment.
  705. - Validate sector number extracted from eof mark because an
  706. invalid file mark (due to ???) could cause kernel panic.
  707. - Split ftape-io.c into ftape-io.c and ftape-ctl.c files.
  708. - Corrected too high media error count after writing to
  709. a bad tape.
  710. - Added #include <asm/segment.h> again because old kernel versions
  711. need it.
  712. - Fixed fdc not being disabled when open failed because no tape
  713. drive was found.
  714. - Fixed problem with soft error in sector 32 (shift operator with
  715. shiftcount 32 is not defined).
  716. ===== Release notes for ftape-2.01, 08/01/95 =====
  717. - Removed TESTING setting from distributed Makefile.
  718. - Fixed `mt asf' failure: Rewind was deferred to close which
  719. overruled the fsf ioctl.
  720. - Prevented non-interruptible commands being interrupted.
  721. - Added missing timeout.pause setting.
  722. - Maximum tape speed read from drive type information table.
  723. If the information is not in the table (0) the drive will
  724. determine the speed itself and put a message in the logfile.
  725. This information should then be added to the table in the
  726. vendors.h file (and reported to me).
  727. - Added call to ftape_init_drive after soft reset for those
  728. (antique) drives that don't do an implicit seek_load_point
  729. after a reset or power up.
  730. - Don't try to set data rate if reset failed.
  731. - Prevent update of seek variables when starting from the
  732. beginning or the end of the tape.
  733. - Fixed wrong adjustment of overshoot in seek_forward().
  734. - Added sync to Makefile (again).
  735. - Added code to diagnose timer problems (calibr.c).
  736. - Replaced time differences by timediff calls.
  737. - Removed reference to do_floppy from object for recent kernels.
  738. - Fixed wrong display of 'failing dma controller' message.
  739. - Removed various no longer used #include statements.
  740. - Added max. tape speed value to vendor-struct.
  741. - Changed ftape-command to check pre-conditions and wait
  742. if needed.
  743. - Further updated qic117.h to rev G.
  744. - Combined command name table and restrictions table to one.
  745. Extended this table with some new fields.
  746. - Increased timeout on Ack timer value and included code to
  747. report out of spec behaviour.
  748. - Increased rewind timeout margin to calculated + 20%.
  749. - Improved data rate selection so it won't fail on some
  750. older (pre standard) drives.
  751. - Changed initialisation code so drive will be rewound if the
  752. driver is reloaded and the tape is not at bot.
  753. - Moved some of the flush operations from close to the ioctls.
  754. - Added exit code value to failing verify area message.
  755. - Loop until tape halted in smart-stop.
  756. - Fast seek handled specially if located at bot or eot.
  757. - Being more conservative on overshoot value.
  758. ===== Release notes for ftape-2.00, 31/12/94 =====
  759. The Install-guide is completely rewritten and now also includes
  760. some information on how to use the driver. If you're either new
  761. to ftape or new to Unix tape devices make sure to read it !
  762. If you own a pci system and experience problems with the
  763. ftape driver make sure to read the README.PCI file. It contains
  764. some hints on how to fix your hardware.
  765. For anybody who hasn't noticed: The version number of the
  766. driver has been incremented (The latest released version has
  767. been version 1.14d).
  768. This has been done for two major reasons:
  769. o A new (better) error recovery scheme is implemented.
  770. o Support for new drive types has been added.
  771. All these improvements/changes will probably include a couple
  772. of new (and old?) bugs. If you encounter any problems that you think
  773. I'm not yet aware of, feel free to send a report to <bas@vimec.nl>.
  774. I recommend keeping a version of ftape-1.14d available, just
  775. in case ;-)
  776. This version should work with all kernel versions from 1.0.9 up
  777. to 1.1.72 (and probably earlier and later versions too).
  778. Major new features:
  779. - Better handling of tapes with defects: When a sector repeatedly
  780. (SOFT_RETRIES in ftape.h) cannot be written to or read from it is
  781. marked as an hard error and gets skipped.
  782. The error correction code can handle up to three of these hard
  783. errors provided there are no other errors in that segment (32 Kb).
  784. - Allows writing to tapes with defects (although the risk of loosing
  785. data increases !)
  786. Look for the media-defects entry printed with the statistics when
  787. the tape is closed. A non-zero value here shows a bad tape.
  788. [the actual count is wrong (too high), this is a known bug].
  789. - Use of backup header segment if first one is failing.
  790. - Support for extended length tapes with QIC-80: both 425 and 1100 ft.
  791. 0.25 inch tapes are now recognized and handled.
  792. - Support for new QIC-80 drives with 8 mm `wide' tapes (e.g. Conner
  793. TSM 420).
  794. - Support for new QIC-3010 and QIC-3020 drives (experimental) with
  795. both 0.25 inch and 8 mm tapes.
  796. Some minor features were added, a couple of small bugs were fixed and
  797. probably some new ones introduced ;-).
  798. [lseek() didn't make it into this version]
  799. Have fun,
  800. Bas.
  801. ----
  802. LocalWords: ftape MCONFIG mt VFS zftape resp sftape proc subdir MTIOCVOLINFO
  803. LocalWords: MTIOCGETSIZE BOT EOD MTBSF zft kerneld modprobe kdtime contrib TR
  804. LocalWords: MTSETBLK afio uninstall texi www EIO QIC init sft eof aka dma GB
  805. LocalWords: SIGKILL MTIOCFTCMD mmap Iomega FDC fdc io gnumt mtio fc asm inb
  806. LocalWords: outb ft qic frontend TeXinfo irq mach MODVERSIONS CONFIG html dvi
  807. LocalWords: usr doc SMP Mb Dunno FIXME vtblc perl listtape volinfo fsf MTWEOF
  808. LocalWords: amanda degaussed ComByte DoublePlay whraven njackn com MTIOC vtbl
  809. LocalWords: GETBLKSZ MAKEDEV zftape's linux dif CVS Revison cp MTREW MTOFFL
  810. LocalWords: MTFSF BSF Marcin Dalecki GCC Config cpio swapout Kai Harrekilde
  811. LocalWords: Pederson khp dolphinics Justus claus momo rwth aachen Laarhoven