home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / HOWTO / Ftape-HOWTO < prev    next >
Text File  |  1998-09-23  |  109KB  |  3,499 lines

  1.   Ftape-HOWTO
  2.   Claus-Justus Heine, <heine@math1.rwth-aachen.de>
  3.   v3.0, August 1998
  4.  
  5.   This HOWTO discusses essential do's and dont's for the ftape floppy
  6.   tape driver under Linux. It focusses on the newest version which is
  7.   ftape-4.02 at the time of this writing. This HOWTO is to be intended
  8.   as first step help and source of information.  The ftape driver inter¡
  9.   faces to QIC-40, QIC-80, QIC-3010 and QIC-3020 compatible drives, and
  10.   to the Iomega Ditto 2GB and Ditto Max drives.  The QIC-3010 and
  11.   QIC-3020 standards are also known as `Travan' (TR-2 and TR-3).  These
  12.   drives connect via the floppy disk controller (FDC) which may be
  13.   either an internal FDC or inside of certain parallel port floppy tape
  14.   drives. Please refer to the section ``Supported drives'' for further
  15.   information.  ftape does not cover SCSI or QIC-02 tape drives.  DAT
  16.   tape drives usually (always?) connect to a SCSI controller.  This is
  17.   but one of the Linux HOWTO documents.  You can get an index of the
  18.   HOWTOs from the Linux HOWTO index, while the real HOWTO's can be
  19.   fetched (using ftp) from sunsite.unc.edu:pub/Linux/doc/HOWTO (this is
  20.   the ``official'' place) or via the World Wide Web from the Linux Docu¡
  21.   mentation Project home page.
  22.   ______________________________________________________________________
  23.  
  24.   Table of Contents
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.   1. Legalese
  68.  
  69.   2. Revision History
  70.  
  71.   3. The preliminaries
  72.  
  73.      3.1 Other sources of information
  74.      3.2 Contacts
  75.      3.3 What is
  76.  
  77.   4. Getting and installing
  78.  
  79.      4.1 Getting
  80.      4.2 Differences between
  81.      4.3 Installing the driver with v2.0.x and earlier kernels
  82.      4.4 Installing the driver with v2.1.x and later kernels
  83.      4.5 Following the development of the
  84.      4.6 Mixing
  85.  
  86.   5. The Care and Feeding of Tape and Tape Drives
  87.  
  88.      5.1 Formatting
  89.         5.1.1 Can I format my tapes under Linux?
  90.         5.1.2 Which formatting programs can I use under DOS?
  91.      5.2 Retensioning
  92.      5.3 Drive Cleaning
  93.      5.4 Repairing de-spooled cartridges
  94.  
  95.   6. Hardware support
  96.  
  97.      6.1 Supported tape drives
  98.      6.2 Supported special controllers
  99.         6.2.1 Colorado FC-10, FC-20
  100.         6.2.2 Mountain MACH-2
  101.         6.2.3 Iomega Tape Accelerator II
  102.         6.2.4 Iomega Ditto Dash and other 2Mbps controllers
  103.         6.2.5 Iomega Ditto EZ PnP controller
  104.      6.3 Unsupported tape drives
  105.      6.4 Using an external tape drive with
  106.      6.5 PCI motherboards and
  107.  
  108.   7. Backing up and restoring data
  109.  
  110.      7.1 Writing an archive to a tape
  111.      7.2 Restoring an archive
  112.      7.3 Testing the archive
  113.      7.4 Putting more than one backup on a tape
  114.      7.5 Appending files to an archive
  115.      7.6 Mount/unmounting tapes
  116.  
  117.   8. Creating an emergency boot floppy for
  118.  
  119.   9. Frequently Asked Questions
  120.  
  121.   10. FAQ: "Compiling and installing Ftape" related questions !
  122.  
  123.      10.1 What Ftape version should I use?
  124.      10.2 I'm having problems getting my XYZ drive to run under the 2.0.xx kernel with the built-in driver.  How do I fix this?
  125.      10.3 I'm running Linux/SMP and the system just freezes when trying to access the Ftape devices!
  126.      10.4 Why does depmod complain about "undefined symbols"?
  127.      10.5 "insmod" says the kernel version is wrong
  128.      10.6 "insmod" says that kernel 1.2.0 and 1.2.0 differ
  129.      10.7 Trying to compile Ftape gives me the error "modversions.h: no such file or directory"
  130.      10.8 What is this versioned symbols stuff anyway?
  131.      10.9 I seem to be getting sftape instead of zftape. When I run "ftmt status" command, I get output that the Ftape docs says corresponds to sftape ( /dev/qft0: Invalid argument ). Why?
  132.      10.10 My Ditto DASH/FC-20/Exabyte Accelerator card works under Microsoft Windows, but I get a drive not found type of error in /var/log/messages when trying to use it under Linux.
  133.      10.11 Ftape DMA transfers gives ECC errors
  134.      10.12 Help! I'm getting 'dmaalloc() failed' in my syslog file.
  135.      10.13 Syslogd works overtime when running Ftape
  136.      10.14 How do I change the trace-level?
  137.      10.15 I'm having problems with Ftape.  I'm using the latest version of Ftape from the Ftape Home Page and believe that I've located a real bug. What should I do?
  138.  
  139.   11. FAQ: "Using Ftape" related questions !
  140.  
  141.      11.1 How fast is Ftape ?
  142.      11.2 When I write to some of my tapes, they seem to spend a lot of time "shoe-shining," or repositioning instead of streaming.  Is something wrong with my system?
  143.      11.3 Do I have to reboot to the DOS world to format tapes?
  144.      11.4 Is it possibly to format Ditto 2GB tapes with ftape?
  145.      11.5 Is it possibly to format Ditto Max or Max Pro tapes with ftape?
  146.      11.6 Ftape detects more bad sectors than DOS on QIC-3020 tapes
  147.      11.7 Is it ok that I'm not hearing the tape move when I do a fsf or a bsf with mt?
  148.      11.8 Why does my XYZ backup program complain about "Invalid argument" errors?
  149.      11.9 I/O errors and FDC - some explanations.
  150.      11.10 Why do I get "/dev/qft0: No such device" errors?
  151.      11.11 I get "device busy" when I make multiple backups on a tape using some script.
  152.      11.12 How do I "..." with tar?
  153.      11.13 What block-size should I use with tar ?
  154.      11.14 Where can I find the tar/mt/cpio/dd binaries - sources - manpages?
  155.      11.15 If I use tapers compression, is it a bad idea to use the compression with zftape, or would it be better to not use tapers compression, and let zftape do it?
  156.      11.16 How does zftape compression compare to say gzip -9?
  157.      11.17 I don't trust compression, but hear that the sftape interface is going away. What should I do?
  158.      11.18 Ftape says "This tape has no 'Linux raw format"
  159.      11.19 Can I exchange tapes with someone using DOS?
  160.      11.20 How does `mt eom' work when you've started overwriting a tape in the middle?
  161.      11.21 When I made backups before using taper, under the 2.0.29 ftape my drive didn't support fsf, under the new zftape it does, why would this be, and what exactly is fsf ?
  162.      11.22 What exactly is the difference between ftape, and zftape?
  163.      11.23 What is the difference between a rewinding, and non rewinding drive?
  164.      11.24 Can someone tell me how to use mt to rewind my TR-3 drive one record using zftape record, so I can verify it?
  165.      11.25 By non-rewinding, they mean that it doesn't automatically rewind, correct? It doesn't mean that under no circumstances it will rewind, right?  I tried using /dev/zqft0, and it instantly rewinds the tape.
  166.      11.26 What is the difference between what mt considers a record and what it considers a file?
  167.      11.27 Reusing tapes with zftape without reformatting the tape.
  168.      11.28 This script implements a simple contents listing for the zftape package using the "MTIOCVOLINFO" ioctl.
  169.  
  170.   12. FAQ: "Tape and Drivers" related questions !
  171.  
  172.      12.1 What are good makers of Travan tapes?
  173.      12.2 Where can I obtain the QIC standards?
  174.      12.3 Is the Iomega Ditto 2GB drive supported?
  175.      12.4 Is the Iomega Ditto Max drive supported?
  176.      12.5 Is the Iomega Ditto Max Pro drive supported?
  177.  
  178.   13. FAQ: Miscellaneous !
  179.  
  180.      13.1 How to subscribe to the Ftape Mailing List?
  181.      13.2 How to un-subscribe from the Ftape Mailing List?
  182.      13.3 Links to related information.
  183.  
  184.   14. Debugging the
  185.  
  186.      14.1 The kernel/
  187.      14.2 OK, it's a bug ...ehhh... feature - How do I submit a report?
  188.  
  189.   15. Contributions
  190.  
  191.  
  192.  
  193.   ______________________________________________________________________
  194.  
  195.   1.  Legalese
  196.  
  197.  
  198.  
  199.   The Linux ftape-HOWTO may be reproduced and distributed in whole or in
  200.   part, subject to the following conditions:
  201.  
  202.  
  203.  
  204.        Copyright (c) 1993-1996 by Kai Harrekilde-Petersen
  205.        Email: khp@dolphinics.no
  206.  
  207.        Copyright (c) 1996-1997 by Kevin Johnson
  208.        Email: kjj@pobox.com
  209.  
  210.        Copyright (c) 1998 by Claus-Justus Heine
  211.        Email: heine@math1.rwth-aachen.de
  212.  
  213.  
  214.  
  215.  
  216.   The Linux ftape-HOWTO is a free document; you may reproduce and/or
  217.   modify it under the terms of version 2 (or, at your option, any later
  218.   version) of the GNU General Public License as published by the Free
  219.   Software Foundation.
  220.  
  221.   This HOWTO is distributed in the hope that it will be useful, but
  222.   WITHOUT ANY WARRANTY; without even the implied warranty of
  223.   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  224.   General Public License for more details.
  225.  
  226.   The author encourages wide distribution of this document for personal
  227.   or commercial use, provided that the above copyright notice remains
  228.   intact and the provisions of the GNU General Public License are
  229.   adhered to.  The summary is that you may copy and distribute this
  230.   document free of charge, or for a profit.  No explicit permission is
  231.   required from the author for reproduction of this document in any
  232.   medium, physical or electronic.
  233.  
  234.   Note that derivative works and translations of this document must be
  235.   placed under the GNU General Public License, and the original
  236.   copyright notice must remain intact.  If you have contributed new
  237.   material to this document, you must make the source code (e.g., SGML
  238.   source) available for your revisions.  Please make revisions and
  239.   updates available directly to the author: Contact heine@math1.rwth-
  240.   aachen.de via Internet e-mail.  This will allow the author to merge
  241.   updates and provide consistent revisions to the Linux community.
  242.  
  243.   The author encourages distributors of Linux software in any medium to
  244.   use the HOWTO as an installation and user guide.  Given the copyright
  245.   above, you are free to print and distribute copies of this document
  246.   with your software.  If doing so, you may wish to include a short
  247.   ``installation supplement'' for your release, or modify the relevant
  248.   sections of this book to reflect your product.
  249.  
  250.   The author would like to know of any plans to publish and distribute
  251.   this HOWTO commercially.  In this way, we can ensure that you are kept
  252.   up-to-date with new revisions.  And, should a new version be right
  253.   around the corner, you might wish to delay your publication of the
  254.   HOWTO until it is available.
  255.  
  256.   If you are distributing this HOWTO commercially, donations, royalties,
  257.   and/or printed copies are greatly appreciated by the author.
  258.   Contributing in this way shows your support for free software and the
  259.   Linux Documentation Project.
  260.  
  261.   If you have questions or comments, please contact the author at
  262.  
  263.   heine@math1.rwth-aachen.de
  264.  
  265.   2.  Revision History
  266.  
  267.  
  268.  
  269.      version 3.0 (August, 1998)
  270.  
  271.      ╖  Additions to list of supported hardware.
  272.  
  273.      ╖  New section about differences between ftape versions.
  274.  
  275.      ╖  Pointers to the Ftape-FAQ and the Ftape manual.
  276.  
  277.      ╖  Updated to ftape-4.02.
  278.  
  279.      ╖  Additions to the FAQ.
  280.  
  281.      ╖  Update all URLs.
  282.  
  283.      version 2.0 (March 15, 1997)
  284.  
  285.      ╖  Updated to ftape v2.11 and v3.xx
  286.  
  287.      ╖  Lots of updates.
  288.  
  289.      version 1.9 (September 20, 1996)
  290.  
  291.      ╖  New maintainers of ftape and the HOWTO.
  292.  
  293.      ╖  A few minor formatting and spelling fixes.
  294.  
  295.      ╖  Updated for Linux v2.0.
  296.  
  297.      ╖  Started to integrate some of Andrew Martin's ftape info.
  298.  
  299.  
  300.      version 1.8 (May 22, 1996)
  301.  
  302.      ╖  Copyright policy changed to GNU GPL v2
  303.  
  304.      ╖  The maintainer's email address has changed.
  305.  
  306.      ╖  Updated to ftape-2.08
  307.  
  308.      ╖  ftape is now a part of the kernel distribution.
  309.  
  310.      version 1.7.1 (February 13, 1996)
  311.  
  312.      ╖  Updated to ftape-2.06b
  313.  
  314.      version 1.7 (January 28, 1996)
  315.  
  316.      ╖  Updated to ftape-2.06 and modules-1.3.57
  317.  
  318.      version 1.6.2 (January 23, 1996)
  319.  
  320.      ╖  Connor TST3200R drive added
  321.  
  322.      ╖  Updated 2Mbps fdc information.
  323.  
  324.      version 1.6.1 (January 16, 1996)
  325.  
  326.      ╖  minor corrections
  327.  
  328.      version 1.6 (January 10, 1996)
  329.  
  330.  
  331.      ╖  New maintainer of ftape
  332.  
  333.      ╖  updated to v2.05
  334.  
  335.      ╖  added new drives
  336.  
  337.  
  338.  
  339.   3.  The preliminaries
  340.  
  341.  
  342.  
  343.   3.1.  Other sources of information
  344.  
  345.  
  346.  
  347.      ftape version 3
  348.         ftape-3.x came with a manual of its own, which is contained in
  349.         the ftape-3.04d package available from the usual places.  See
  350.         ``Getting Ftape''.
  351.  
  352.  
  353.      ftape version 4
  354.         ftape-4.x also has a documentation package ftape-doc which is
  355.         available from the usual places. This Ftape-HOWTO, however, also
  356.         focusses on ftape-4.x and is meant as an entry point to the
  357.         available documentation. See ``Getting Ftape''.
  358.  
  359.  
  360.      ftape-tools
  361.         The ftape-tools package (including useful utilities for ftape)
  362.         comes with its own manual.  See ``Getting Ftape''.
  363.  
  364.  
  365.      Ftape-FAQ
  366.         The Ftape-FAQ is included wordly in this manual, but more recent
  367.         versions may be found at http://www.correct.nl/~ftape.
  368.  
  369.  
  370.  
  371.   3.2.  Contacts
  372.  
  373.  
  374.   The maintainer of the source for ftape is Claus Heine
  375.   <heine@math1.rwth-aachen.de>.  He has a web page at http://www-
  376.   math.math.rwth-aachen.de/~LBFM/claus/ftape/.
  377.  
  378.   If you have a problem or questions about ftape, try posting to the
  379.   Linux Tape mailing list linux-tape@vger.rutger.edu (see ``Following
  380.   the ftape development'' below).  There also used to be a newsgroup
  381.   that mirrored the mailing list traffic but it has vanished some time
  382.   ago.
  383.  
  384.   I use ftape (it is my sole means of backing up on my linux box :-).  I
  385.   hesitate to make recommendations on what hardware to buy.  See the
  386.   section ``Supported drives'' and ``Unsupported drives'' for a list of
  387.   supported and unsupported drives.
  388.  
  389.   You should try to post a summary of your problems and its solution(s),
  390.   after you've got it working, even if you only got it partially
  391.   working. Please also send a copy copy of your solution to the Linux
  392.   Tape mailing list at <linux-tape@vger.rutgers.edu> so that it can be
  393.   added to the HOWTO and/or the FAQ.
  394.  
  395.   If you receive this as part of a printed distribution or on a CD-ROM,
  396.   please check out the Linux Documentation home page or ftp to
  397.   ftp://sunsite.unc.edu:/pub/Linux/doc/HOWTO to see if there exists a
  398.   more recent version.  This could potentially save you a lot of
  399.   trouble.
  400.  
  401.   If you email me, please include the string ftape in the subject line.
  402.   This will help ensure the mail doesn't inadvertently get buried. But
  403.   preferrably you should email to the Linux Tape mailing list at <linux-
  404.   tape@vger.rutgers.edu> instead of contacting me directly.
  405.  
  406.  
  407.  
  408.   3.3.  What is ftape
  409.  
  410.  
  411.   ftape is a driver program that controls various low-cost tape drives
  412.   that connect to the floppy controller.
  413.  
  414.   ftape is not a backup program as such; it is a device driver, which
  415.   allows you to use the tape drive (just like the SoundBlaster 16 driver
  416.   let you use your sound card) through the device files
  417.   /dev/[n]qft[0-3].
  418.  
  419.   ftape was originally written by Bas Laarhoven <bas@vimec.nl>, with ``a
  420.   little help from his friends'' to sort out the ECC (Error Correcting
  421.   Code) stuff. ftape is copyrighted by Bas under the GNU General Public
  422.   License, which basically says: ``go ahead and share this with the
  423.   world, just don't disallow other people from copying it further''.
  424.  
  425.   ftape has undergone several changes since then. While the Linux-2.0.x
  426.   kernel series still contains ftape-2.08 the v2.1.x and soon the v2.2.*
  427.   kernel series come with ftape-3.x (hopefully even with ftape-4.02, but
  428.   this wasn't clear at the time of this writing) which differs in some
  429.   points from the ftape-2.x driver.  Since version 3.00 the ftape driver
  430.   has been maintained by me (Claus-Justus Heine); it has been changed
  431.   and improved in several respects and support for new hardware has been
  432.   added.
  433.  
  434.   ftape is quite stable, and has been that for some time now.  It is
  435.   reliable enough for critical backups (but it's always a good idea to
  436.   check your backups, so you won't get a nasty surprise some day).
  437.  
  438.   ftape supports drives that conform to the QIC-117 and one of the
  439.   QIC-80, QIC-40, QIC-3010, and QIC-3020 standards as well as the Iomega
  440.   Ditto 2GB and Ditto Max drives which no longer strictly conform to the
  441.   QIC standards in all respects.
  442.  
  443.   ftape can drive floppy tape drives that connect to the internal FDC as
  444.   well as certain parallel port floppy tape drives.
  445.  
  446.   ftape supports neither QIC-02, IDE (ATAPI), nor SCSI tape drives.
  447.   SCSI drives are accessed as /dev/[n]st[0-7] and are supported by the
  448.   kernel through the SCSI drivers.  If you look for help on SCSI tape
  449.   drives, you should read the SCSI-howto.  ATAPI tape drives are
  450.   supported by the kernel since 1.3.46.  See section ``Supported
  451.   drives'' and ``Unsupported drives'' for a list of supported and
  452.   unsupported drives.
  453.  
  454.  
  455.  
  456.  
  457.  
  458.   4.  Getting and installing ftape
  459.  
  460.  
  461.  
  462.  
  463.   4.1.  Getting ftape
  464.  
  465.  
  466.   The v2.0.x versions of the kernel include version 2.08 of ftape I
  467.   recommend, however, that you grab the latest version of the full
  468.   source code package for ftape. It is a newer version, includes files
  469.   that are not included in the kernel v2.0.X distribution, and includes
  470.   much better documentation about how to install ftape.  The v2.1.x and
  471.   later versions of the kernel include the version 3.04 of ftape.
  472.  
  473.  
  474.   I recommend that you download the latest stable version of ftape which
  475.   is 4.02 at the time of this writing and is available from
  476.  
  477.   http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/archives.html
  478.  
  479.   as well as from
  480.  
  481.   ftp://sunsite.unc.edu/pub/Linux/kernel/tapes/.
  482.  
  483.   You probably should also grab the ftape-doc and the ftape-tools
  484.   package that are available from the same locations.
  485.  
  486.   If you still want to use the ftape-2.08 which is shipped with the
  487.   v2.0.x kernels, then you get a version of the driver which is really
  488.   out of date and doesn't support QIC-3020 tapes at 2Mbps correctly,
  489.   neither does it support the Ditto 2GB drives nor the Ditto Max drives
  490.   nor any kind of parallel port tape drive. The section ``Supported
  491.   drives'' gives detailed information about which version of the ftape
  492.   driver supports which hardware.
  493.  
  494.  
  495.   4.2.  Differences between ftape-2.x , ftape-3.x  and ftape-4.x  ver¡
  496.   sions
  497.  
  498.  
  499.   ftape-3.x and ftape-4.x use the file system interface that was
  500.   implemented for a branch release which was called zftape. Actually,
  501.   the module that implements the VFS (Virtual File System) interface of
  502.   ftape-3.x and ftape-4.x still is called zftape.o and its C-sources
  503.   inside the kernel tree reside in
  504.   [/usr/src/linux/]drivers/char/ftape/zftape/.
  505.  
  506.   ftape-2.x (i.e. the version still contained in the v2.0.x kernel) uses
  507.   another file system interface, that was implemented by ftape's
  508.   original author Bas Larhoven.
  509.  
  510.  
  511.      File Marks
  512.         The conceptional difference between ftape-2.x and later versions
  513.         of ftape is the way file marks are implemented.
  514.  
  515.         Floppy tape devices don't have real file marks. (--  File marks
  516.         are used to distinguish different backup sets if you write
  517.         multiple backup sets to a tape. SCSI and QIC-150 tapes have real
  518.         file marks, i.e. between two different backup sets there is a
  519.         region on the tape that is written special data to so that the
  520.         drive logic can detect that marker when the tape is wound with
  521.         (possibly) high speed over those file marks.--) Because the goal
  522.         of ftape's file system interface was from the beginning on to
  523.         provide an interface that could be used with standard Unix-like
  524.         tape utilities (i.e. mt) the developers of ftape started to
  525.         emulate file marks by storing the positions on the tape where a
  526.         file mark should be located in certain fields of the header
  527.         segments. (-- header segments refers to a region at the
  528.         beginning of the tape sized two times 29k to hold some important
  529.         information about the tape format and size and some status
  530.         information.--)
  531.  
  532.         However, the QIC standards already designate a special region to
  533.         store such information in, the so called volume table segment.
  534.         Since ftape-3.x this volume table segment is used instead of
  535.         using unused data fields in the header segment. As a result it
  536.         is possible to use your tape cartridge with different operating
  537.         systems in the sense that your Win or DOS backup program will
  538.         realize that certain regions of the tape cartridge are already
  539.         occupied with data, and ftape-3.x and later will detect the
  540.         regions used by those DOS and Win programs. However, you can't
  541.         extract a DOS backup set under Linux or extract a volume written
  542.         by ftape under DOS, safe you write your own software to do that.
  543.  
  544.  
  545.      IOCTL interface
  546.         There are certain differences in the IOCTL (-- This IO control
  547.         interface is used by e.g. mt to rewind the tape or skip to the
  548.         next file mark or do any other tape operation.--)
  549.  
  550.         interface between ftape-2.x and ftape-3.x and later. A detailed
  551.         description can be found in the ftape-manual contained in the
  552.         ftape-doc package.  See ``Getting Ftape''.
  553.  
  554.  
  555.      Formatting
  556.         Formatting of cartridges is supported with ftape-3.x and later
  557.         only. Please get the ftape-tools package that contains the
  558.         ftformat program that interfaces to the driver to format
  559.         cartridges.  See ``Getting Ftape''. The ftape-tools package
  560.         comes with (more or less) detailed documentation, so the case of
  561.         formatting cartridges is not dealt with in this document.
  562.  
  563.  
  564.      Compression
  565.         ftape-3.x supported user transparent on-the-fly compression in
  566.         software. This feature (or bug) has vanished in ftape-4.x as it
  567.         made further improvements concerning the realiability of backups
  568.         very very hard. This means, ftape-4.x comes without compression
  569.         support.
  570.  
  571.         However de-compression of compressed archives produced with
  572.         ftape-3.x is supported in order not to brake existing backup
  573.         programs where a user-level filter would not suffice to preserve
  574.         compatibility. Think, e.g., of taper which calls the MTIOC
  575.         ioctls itself instead of relying on the mt program to perform
  576.         tape operations.
  577.  
  578.  
  579.   The ftape-manual contained in the ftape-doc package contains much more
  580.   detailed information about ftape`s file system interface as well as
  581.   implementation notes which by far exceed the scope of this HOWTO. See
  582.   ``Getting Ftape'' for informations about where to obtain the manual.
  583.  
  584.  
  585.  
  586.  
  587.   4.3.  Installing the driver with v2.0.x and earlier kernels
  588.  
  589.  
  590.   The following section provides some useful information to get you
  591.   going with the installation of v4.x which is not shipped with the
  592.   kernel source tree yet but has to be downloaded separately, see the
  593.   section ``Getting ftape'' above.
  594.  
  595.   Once you've downloaded the source code (probably ftape-4.02-tar.gz),
  596.   untar it.  You can do this by determining what directory you want the
  597.   source code to be located in.  I recommend /usr/src/ or ~/src.  When
  598.   the tar file is extracted, it will dump everything into a ftape-4.02
  599.   subdirectory, so that you'll end up, in the example I've given, with
  600.   something like /usr/src/ftape-4.02 or ~/src/ftape-4.02.
  601.  
  602.   NOTE: you cannot compile ftape-4.02 into your v2.0.x kernel. Instead,
  603.   configure your kernel to not compile the ftape driver and follow the
  604.   installation instructions in the ftape-4.02 distribution and install
  605.   ftape-4.02 as a module.
  606.  
  607.   Read the README file.  The README is required reading.  It's the top
  608.   of the tree, so to speak.  If there are specific files that the README
  609.   tells you to read then read them.  It will make the process much less
  610.   complicated.
  611.  
  612.   Do NOT proceed with compiling the package until you have read the
  613.   appropriate README files and the INSTALL file.
  614.  
  615.   Afterwards you need to edit the MCONFIG file and configure you package
  616.   according to your hardware. The MCONFIG file contains lots of
  617.   explanations so it should be fairly easy to go along with it.
  618.  
  619.   However, most of the hardware configuration can be done via setting
  620.   parameters during module load time so most parameters specified in the
  621.   file MCONFIG simply give the default configuration, but you don't need
  622.   to recompile the driver to change IO addresses or interrupt settings.
  623.   The file INSTALL and the file modules/insert contain examples how to
  624.   specify the proper module parameters when loading the kernel modules,
  625.   so I won't go into further detail here.
  626.  
  627.   If you are using a Linux-v1.3.x kernel, you should consider moving to
  628.   v2.0.x.  v1.3.x was the development release prior to the production
  629.   release v2.0.x.
  630.  
  631.  
  632.  
  633.   4.4.  Installing the driver with v2.1.x and later kernels
  634.  
  635.  
  636.   (* Maybe ftape-4.02 will be included into the v2.2.x kernel, but this
  637.   isn't clear at the time of this writing. This HOWTO will be revised
  638.   appropriately when this has become clear. So long you have to refer to
  639.   the previous section ``Installing the driver with v2.0.x and earlier
  640.   kernels'' and disregard the contents of this section.  *)
  641.  
  642.  
  643.   The Linux kernel v2.1.x and later already include ftape-4.x so you
  644.   don't need to download the ftape-4.x kernel driver package.
  645.  
  646.   ftape-4.x as included in the v2.1.x versions of the kernel can be
  647.   completely configured using the kernel configuration menus (either
  648.   with make menuconfig or make xconfig. Also, there is online help
  649.   available that documents each parameter setting which I won't repeat
  650.   here.
  651.  
  652.   The various boot- and loadtime parameter settings are explained in the
  653.   file
  654.  
  655.   [/usr/src/linux/]Documentation/ftape.txt
  656.  
  657.   of the Linux-v2.1.x and later kernel distributions.
  658.  
  659.  
  660.  
  661.   4.5.  Following the development of the ftape  driver
  662.  
  663.  
  664.   If you want to follow the development of the ftape driver, you should
  665.   subscribe to the Linux Tape mailing list linux-tape@vger.rutgers.edu.
  666.   To do so you need to send an email saying `subscribe linux-tape' (in
  667.   the body) to majordomo@vger.rutgers.edu.  When you subscribe, you will
  668.   be sent a greeting mail, which will tell you how to submit real mails
  669.   and how to get off the list again. Store this email in a safe place.
  670.   Please.
  671.  
  672.   Please note that I do not, repeat DO NOT, have any special powers with
  673.   regard to this mailing list.  If you're stuck on the list, don't
  674.   bother to tell me that.  I can only shrug and send you my sympathy
  675.   (but that won't get you off the list).
  676.  
  677.  
  678.  
  679.   4.6.  Mixing ftape  and floppies
  680.  
  681.  
  682.   If you use your floppy tape drive with the standard FDC then the
  683.   floppy drive and the floppy tape drive cannot run concurrently as they
  684.   share the same hardware, the FDC, and the floppy and the ftape driver
  685.   do not talk to each other.  Thus, if you have mounted a floppy and
  686.   then try to access the tape drive, ftape will complain that it cannot
  687.   grab IRQ6 and then die.  This is especially a problem when designing a
  688.   emergency disk for use with ftape.  This solution is to either load
  689.   the boot/root disk into a ramdisk and then unmount the floppy, or have
  690.   two floppy drive controllers.
  691.  
  692.  
  693.  
  694.  
  695.   5.  The Care and Feeding of Tape and Tape Drives
  696.  
  697.  
  698.  
  699.  
  700.   5.1.  Formatting
  701.  
  702.  
  703.   Before a tape can be used, it must be formatted.  The formatting
  704.   process lays out sector information onto the tape.  Other tape
  705.   interfaces don't typically require formatting.  The reason floppy
  706.   tapes do is that they need to look like a floppy (kinda gross, but
  707.   what the hey - it works :-).
  708.  
  709.  
  710.  
  711.   5.1.1.  Can I format my tapes under Linux?
  712.  
  713.  
  714.   Yes, you can, if you use ftape-3.04d or above. To format a floppy tape
  715.   cartridge you need a user level tool called ftformat as well which is
  716.   contained in the ftape-tools distribution (see section ``Getting
  717.   ftape'').
  718.  
  719.   The ftape-tools package comes with its own manual, so I do not need to
  720.   repeat here how to use ftformat.
  721.  
  722.  
  723.   5.1.2.  Which formatting programs can I use under DOS?
  724.  
  725.  
  726.  
  727.   The following are known to work:
  728.  
  729.  
  730.   ╖  Colorado Memory System's software (tape.exe)
  731.  
  732.   ╖  Conner Backup Basics v1.1 and all Windows versions
  733.  
  734.   ╖  Norton Backup
  735.  
  736.   ╖  QICstream version 2
  737.  
  738.   ╖  Tallgrass FileSecure v1.52
  739.  
  740.   ╖  Escom Powerstream 3.0 (qs3.exe -- QICstream v3?)
  741.  
  742.   These programs are known to be more or less buggy:
  743.  
  744.  
  745.   ╖  Conner Backup Basics 1.0
  746.  
  747.   ╖  Colorado Windows tape program
  748.  
  749.   ╖  CP Backup (wastes tape space, but is OK apart from that)
  750.  
  751.   As a general rule, most software under DOS should work.  The Conner
  752.   Backup Basics v1.0 has a parameter off by one (someone could not read
  753.   the QIC-80 specs right!), which is corrected in version 1.1.  However,
  754.   ftape detects this, and will work around it.  Dennis T. Flaherty
  755.   (<dennisf@denix.elk.miles.com>) report that Conner C250MQ owners can
  756.   obtain the new v1.1, by calling Conner at 1-800-4Conner (in the US)
  757.   and ask for an upgrade (for a nominal fee for the floppy).  The
  758.   Windows versions should work fine.  Some versions of Colorado's tape
  759.   program for windows, has an off-by-one error in the number of
  760.   segments. ftape also detect and work around that bug.
  761.  
  762.   Central Point Backup can be used, but it wastes precious tape space
  763.   when it encounters a bad spot on the tape.
  764.  
  765.   NOTE: If you are running a formatting software under DOS, which is not
  766.   mentioned here, please mail the relevant info to me
  767.   (<heine@math1.rwth-aachen.de>), so I can update the list.
  768.  
  769.  
  770.  
  771.   5.2.  Retensioning
  772.  
  773.  
  774.   QIC tapes are particularly sensitive to tape stretch.  The reason is
  775.   that floppy tapes are pre-formatted with sector information, whereas
  776.   other tape types have their sync information written as the data is
  777.   written to the tape.  If the floppy tape stretches and the sync fields
  778.   get out of sync the result will be read errors.  The problem is worse
  779.   with longer tapes.
  780.  
  781.   It is a good idea to retension new tapes a few times before using them
  782.   and before formatting them.  You should also try retensioning the tape
  783.   if you are start getting read errors.  It might also be a good idea
  784.   retension the tape before a backup.
  785.  
  786.  
  787.   5.3.  Drive Cleaning
  788.  
  789.  
  790.   The coating on the tape is an oxide compound.  As the tape is dragged
  791.   across the tape head it has a tendency to leave tiny amounts of
  792.   residue on the head.  You should periodically use a tape cleaner -
  793.   following the specs for the drive in question.  Tape cleaners should
  794.   be available from any distributer of tapes.
  795.  
  796.   One more additional note about tape cleaning.  You might want to clean
  797.   the drive after the first use of a brand new tape.  A brand new tape
  798.   will typically leave quite a bit of residue the first time it's used.
  799.  
  800.   Thanks to Neal Friedman for the explanation and suggestion that this
  801.   information be included in the HOWTO.
  802.  
  803.  
  804.   5.4.  Repairing de-spooled cartridges
  805.  
  806.  
  807.   In rare occasions it can happen that the tape drive doesn't detect the
  808.   EOT (End Of Tape) markers correctly. These markers are simply holes in
  809.   the tape which are detected by the tape drive with means of a little
  810.   photo-transistor (or the like).
  811.  
  812.   The manual of your tape drive will probably give you proper hints how
  813.   to clean those EOT detectors.
  814.  
  815.   However, if the EOT detection fails, then the tape drive despooles the
  816.   cartridge because the tape isn't glued to the wheels, but hold by
  817.   friction only.
  818.  
  819.   There are detailed instructions how to fix such a despooled tape at
  820.   the Iomega WWW pages at
  821.  
  822.   http://www.iomega.com/support/techs/ditto/3006.html
  823.  
  824.   and at the Hewlett Packard WWW pages at
  825.  
  826.   http://www.hp.com/isgsupport/cms/docs/lpg12020.html
  827.  
  828.   If the pages shouldn't be in the exact locations as given above, then
  829.   please try to browse a little bit through the web pages of HP or
  830.   Iomega until you find the needed information.
  831.  
  832.  
  833.  
  834.   6.  Hardware support
  835.  
  836.  
  837.  
  838.   6.1.  Supported tape drives
  839.  
  840.  
  841.   All drives that are both QIC-117 compatible and one of the QIC-40, 80,
  842.   3010, and 3020 standards should work.  QIC-WIDE and Travan drives are
  843.   also supported (TR-1 is just QIC-80 with 8mm tapes, while TR-2 and
  844.   TR-3 is a.k.a QIC-3010 and 3020 respectively). Iomega Ditto 2GB and
  845.   Ditto Max drives are supported, too, though they no longer conform to
  846.   the QIC standards in every respect. Some parallel port tape drives are
  847.   supported as well.
  848.  
  849.   Some of the comments given below about possible problems with certain
  850.   tape drives are very old, and I don't have access to all of the
  851.   hardware, so I couldn't check everything.
  852.  
  853.   Some of the reports below have been commented by me
  854.   (<heine@math1.rwth-aachen.de>) like this:
  855.  
  856.  
  857.        This is a comment.
  858.  
  859.   Currently, the list of drives that are known to work with ftape is:
  860.  
  861.  
  862.      Alloy Retriever 250
  863.  
  864.  
  865.      Archive 5580i, XL9250i
  866.  
  867.  
  868.      Colorado DJ-10, DJ-20 (aka: Jumbo 120, Jumbo 250)
  869.  
  870.  
  871.      Colorado 1400
  872.         <kosowsky@bellini.harvard.edu> reported a problem doing a 1G
  873.         backup using taper.
  874.  
  875.  
  876.      Colorado Trakker parallel port tape drive
  877.  
  878.         Support added by Jochen Hoenicke
  879.         <Jochen.Hoenicke@Informatik.Uni-Oldenburg.DE>.
  880.  
  881.  
  882.      HP Colorado T1000
  883.  
  884.           The problem reports are probably totally out-dated. In
  885.           particular, the zftape the people talk about doesn't
  886.           exist any more, and the ftape driver is the very
  887.           ftape-2.08.
  888.  
  889.  
  890.      Works with 3M Travan 400M (TR-1) tapes with 120M tapes.  Also
  891.      reported that mt dies, but with backups using tar it works ok.
  892.      With cpio, ftape is recommended rather than zftape.
  893.      (<millner@millner.bevc.blacksburg.va.us>)
  894.  
  895.      Problems have been reported with the drive continually stopping and
  896.      starting with zftape (<75104.1756@compuserve.com>).  This appears
  897.      to be a problem with the tape going too fast for the computer; the
  898.      DMA buffers are getting flushed before getting filled again.  Newer
  899.      versions of zftape don't do this any more is a suitably fast backup
  900.      program or large DMA buffers are used
  901.      (<millner@millner.bevc.blacksburg.va.us>).
  902.  
  903.  
  904.      Conner C250MQ(T)
  905.         The 250Q is reported to generate write error and frequent
  906.         repositioning. (Frank Stuess at Nacamar Data Communications)
  907.  
  908.  
  909.           Write errors need not be caused by the tape drive, but
  910.           also by bad tape cartridges. Frequent repositioning can
  911.           be caused by bad cartridges, too, but can also be caused
  912.           by overrun errors which would indicate that the FDC and
  913.           DMA controller have problems to talk to each other.
  914.  
  915.  
  916.  
  917.      Conner TSM420R, TSM850R
  918.         The 400 and 800 models only work with TR-1 tapes.
  919.  
  920.  
  921.           I don't know whether it was meant that named drives
  922.           doesn't work with ordinary 120MB DC-2120 cartridges, or
  923.           that TR-3 tapes can't be read. The tape drives weren't
  924.           designed for the latter. So what.
  925.      Conner TST3200R
  926.         Works with TR-3 tapes at 1Mbps (ie. 1600M capacity only).  Wirks
  927.         with QIC-WIDE 400M tapes (Sony 5122's?)  (<chris@cs.wmich.edu>).
  928.         Works with TR3, QIC-3010, and QIC-3020 tapes.  Comes with a 2MB
  929.         FDC which the Promise 2300+ 1Mbps controller works
  930.         (<kjh@pollux.usc.edu>).
  931.  
  932.         Reported that the floppy disk can no longer read low-density
  933.         floppies.  May have to fiddle with IRQ/ports/dma channels
  934.         (<chris@yakkocs.wmich.edu>).
  935.  
  936.  
  937.           The TST3200R works well with ftape.
  938.  
  939.  
  940.  
  941.      Conner TST800R
  942.         The TST800R works with TR-1, Sony QW5122F (210M) and DC2120
  943.         tapes.
  944.  
  945.  
  946.           Works well with ftape since ftape-2.07 at least. Used it
  947.           myself until the drive died with a melted transistor.
  948.           Probably caused by over-heating it previously.
  949.  
  950.  
  951.  
  952.      Conner CTT3200
  953.  
  954.         The CTT3200 is supposedly identical to the Iomega Ditto 3200.
  955.         It works with the supplied 2Mbps controller, but reported not to
  956.         work under DOS on some machines. (<jmorris@dtx.net>)
  957.  
  958.  
  959.      Conner 1.7G Tapestor (TSM1700R)
  960.  
  961.         Works with QIC-WIDE tapes (<pschmidt@slip.net>).  Partially
  962.         works with QIS-3200.  Using the HSC-2 controller, the DMA
  963.         channel needs to be changed (incremented by 1, channel2?, Modify
  964.         the Makefile).  You then need to modify the ftape Makefile to
  965.         reflect this change.  However, ftape seems to be a bit flaky
  966.         with this (no version number supplied) (<ttait@tiac.net>).  It
  967.         may not work at 2Mbps (QIC-3020) with the HSC controller.  The
  968.         tape died with a messages like "dumb tape stop" and has since
  969.         been unreliable (<ttait@tiac.net>).
  970.  
  971.  
  972.           No recent informations available
  973.  
  974.  
  975.  
  976.      Escom or Archive (Hornet) 31250Q
  977.  
  978.  
  979.      Exabyte EXB-1500
  980.         Work with QIC-3010 tapes.
  981.  
  982.  
  983.      Exabyte TR-3
  984.  
  985.      Irwin 80SX, Insight 80Mb
  986.  
  987.  
  988.      Iomega 250
  989.  
  990.  
  991.      Iomega Ditto Tape Insider 420, 1700
  992.  
  993.  
  994.      Iomega Ditto Tape Insider 3200
  995.         This is the unit, that I use.  The default jumper settings don't
  996.         work.  Leave the irq and ioport address at the default (6 and
  997.         0x370, respectfully), but change the DMA from 3 to 2. (Kevin
  998.         Johnson <kjj@pobox.com>).
  999.  
  1000.  
  1001.           Refer to the file MCONFIG of recent ftape distributions
  1002.           for other suggestions for ioport, irq and DMA channel.
  1003.  
  1004.  
  1005.      May require the having {0x08882, 80, wake_up_colorado, "Iomega
  1006.      3200"}, added to vendors.h on older versions of ftape.
  1007.  
  1008.      Problems reported with ftape 2.07 and kernel 1.12.13.  With all
  1009.      sorts of combinations of accelerator, etc, the drive may (on some
  1010.      systems) only be accessed once (<erwin@box.nl>).  Also, after the
  1011.      first access, the next use of the tape says it is write protected
  1012.      (<erwin@box.nl>, <M.J.Ammerlaan@dutiwy.twi.tudelft.nl>).
  1013.  
  1014.      There has been one report of a problem where the tape got wound off
  1015.      the end of the spool.
  1016.  
  1017.  
  1018.           This may be caused by a dirty EOT sensor, and need not be
  1019.           a real hardware bug (except when it was a bug that dirt¡
  1020.           ied the EOT sensor ...)
  1021.  
  1022.  
  1023.      Another problem has been reported with writing archives (with dd)
  1024.      to the tape.  It may start fine, but when the driver catches up
  1025.      with dd, it stops the tape and rewinds it to the beginning.  Then
  1026.      it starts winding on through the tape ad infinitum.  It appears to
  1027.      occur when the driver asks the tape to pause which should cause the
  1028.      tape to move back by 3 segments, but instead is moves back to the
  1029.      beginning of the tape.  A bug fix submitted is reported to not
  1030.      solve the problem.
  1031.  
  1032.  
  1033.           Should have been fixed somewhere between ftape-3.00 and
  1034.           ftape-4.00. Unluckily, the fast-skipping facilities of
  1035.           all Iomega floppy tape drives are really poor. Recent
  1036.           ftape versions work around this problem. I suggest get¡
  1037.           ting the latest version of the ftape driver when you
  1038.           experience this problem.
  1039.  
  1040.  
  1041.  
  1042.      Iomega Ditto 800 Insider
  1043.         Works with Travan TR1, TR2, or DC2120 tapes
  1044.         (<klein@informatik.uni-rostock.de>).
  1045.  
  1046.  
  1047.      Iomega Ditto 2GB
  1048.         Support added by Jochen Hoenicke
  1049.         <Jochen.Hoenicke@Informatik.Uni-Oldenburg.DE> to ftape-3.xx and
  1050.         later.
  1051.  
  1052.         Can't format cartridges, writing is only possible with special
  1053.         Ditto 2GB cartridges (hardware limitation, not a lacking feature
  1054.         of ftape).
  1055.  
  1056.  
  1057.      Iomega Ditto Max
  1058.  
  1059.      Iomega Ditto Max Pro
  1060.         Supported since ftape-4.00. Thanks to Tim Jones
  1061.         <tjones@estinc.com>.
  1062.  
  1063.         Can't format cartridges, writing is only possible with special
  1064.         Ditto Max cartridges (hardware limitation, not a lacking feature
  1065.         of ftape)
  1066.  
  1067.         I wasn't able to get the Ditto Max to work with any other device
  1068.         than /dev/[n]qft0. I don't know whether this is a feature of the
  1069.         Ditto Max or the Ditto EZ controller I had plugged the Ditto Max
  1070.         into.
  1071.  
  1072.         (* You don't need to buy a Ditto Max Pro to use the 5/10GB
  1073.         cartridges. With ftape there is no real difference between the
  1074.         Ditto Max and the Ditto Max Pro.  *)
  1075.  
  1076.  
  1077.      Iomega Ditto 800/3200/2GB/Max/Max Pro Easy (parallel port)
  1078.         Supported since ftape-4.00 with the bpck-fdc FDC driver.
  1079.  
  1080.  
  1081.      Mountain FS8000
  1082.  
  1083.  
  1084.      Reveal TB1400
  1085.  
  1086.         Reported not to work with kernel 1.3.79 and ftape (no version
  1087.         given) or with kernel 1.2.13 and zftape 1.04
  1088.         (<colin@colina.demon.co.uk>).
  1089.  
  1090.  
  1091.           The mentioned ftape driver versions are out of date. If
  1092.           you still have such a beast try the more recent versions
  1093.           of the ftape driver.
  1094.  
  1095.  
  1096.  
  1097.      Summit SE 150, SE 250
  1098.  
  1099.  
  1100.      Tallgrass FS300
  1101.         If you have a Tallgrass FS300 and an AHA1542B, you need to
  1102.         increase the bus-on / bus-off time of the 1542B.  Antti Virjo
  1103.         (<klanvi@uta.fi>), says that changing CMD_BUSON_TIME to 4 and
  1104.         CMD_BUSOFF_CMD to 12 in linux/drivers/scsi/aha1542.c will do the
  1105.         trick.
  1106.  
  1107.  
  1108.      Teac 800
  1109.  
  1110.  
  1111.      Memorex tape drive backup system
  1112.  
  1113.  
  1114.      Wangtek 3040F, 3080F
  1115.  
  1116.  
  1117.   You can always check out the newest list of drives that are recognised
  1118.   by ftape, by looking in the file vendors.h in the ftape distribution.
  1119.  
  1120.   Although I do not want to endorse one drive type over another, it has
  1121.   been reported that the Colorado DJ-20 drive is rather noisy, when
  1122.   compared to, say, a Conner C250MQ drive ('tis said that the Colorado
  1123.   is 5-10 times as noisy as the Conner drive. Since I have neither, I
  1124.   can't tell for sure).
  1125.  
  1126.  
  1127.        If you have a drive that works fine, but it is not listed
  1128.        here, or if you have corrections to the above information,
  1129.        please send a mail to the HOWTO maintainer
  1130.        (<heine@math1.rwth-aachen.de>).
  1131.  
  1132.  
  1133.  
  1134.   6.2.  Supported special controllers
  1135.  
  1136.  
  1137.   These dedicated high-speed tape controllers are supported by ftape:
  1138.  
  1139.  
  1140.   ╖  Colorado FC-10, FC-20
  1141.  
  1142.   ╖  Mountain MACH-2
  1143.  
  1144.   ╖  Iomega Tape Accelerator II
  1145.  
  1146.   ╖  2Mbps controllers (using the i82078-1 fdc)
  1147.  
  1148.   ╖  Iomega Ditto EZ 4Mbps PnP controller
  1149.  
  1150.  
  1151.   6.2.1.  Colorado FC-10, FC-20
  1152.  
  1153.  
  1154.   Support for the FC-10 controller has been merged into the ftape driver
  1155.   in version 1.12. See the RELEASE-NOTES and the Makefile files in the
  1156.   ftape distribution.  Since of version 2.03 of ftape, the FC-20
  1157.   controller will work, but only at 1Mbit/sec (check the Release
  1158.   notes!).
  1159.  
  1160.  
  1161.   6.2.2.  Mountain MACH-2
  1162.  
  1163.  
  1164.   The support for the MACH-2 controller was added in ftape-1.14d.
  1165.  
  1166.  
  1167.   6.2.3.  Iomega Tape Accelerator II
  1168.  
  1169.  
  1170.   To use the Iomega Tape Accelerator II (not to be mistaken as the
  1171.   Iomega Ditto Dash!), use -DMACH2, and set the right settings for I/O
  1172.   base, IRQ and DMA.  This works (by the empirical testing of Scott
  1173.   Bailey <sbailey@xcc.mc.xerox.com>), with at least ftape-2.02.
  1174.  
  1175.  
  1176.   6.2.4.  Iomega Ditto Dash and other 2Mbps controllers
  1177.  
  1178.  
  1179.   The Iomega Ditto Dash, and all other known 2Mbps controllers, use the
  1180.   Intel 82078-1 chip, which can run at 2Mbps. This is supported properly
  1181.   since ftape-3.00.
  1182.  
  1183.  
  1184.   6.2.5.  Iomega Ditto EZ PnP controller
  1185.  
  1186.  
  1187.   This controller requires the use of e.g. the isapnptools package to
  1188.   configure it. You may get it from
  1189.   http://www.roestock.demon.co.uk/isapnptools/
  1190.  
  1191.   The controller will cause too many overrun errors when used at the
  1192.   highest possible speed of 4Mbps. Neither Tim Jones <tjones@estinc.com>
  1193.   nor I <heine@math1.rwth-aachen.de> have been able to find but a single
  1194.   system which could run the controller at 4Mbps. 3Mbps seems to  be
  1195.   fine.
  1196.  
  1197.   If you configure the Ditto EZ to use DMA 2 (the DMA channel used by
  1198.   the floppy controller) then your floppy drive will no longer work. It
  1199.   doesn't help to disable the controllers DMA gate (as is the case with
  1200.   other hight speed controllers) so this can't be helped from inside
  1201.   ftape.
  1202.  
  1203.  
  1204.   6.3.  Unsupported tape drives
  1205.  
  1206.  
  1207.  
  1208.   ╖  Some parallel port floppy tape drives still not work. Others do.
  1209.  
  1210.   ╖  Irwin AX250L / Accutrak 250. (not a QIC-80 drive)
  1211.  
  1212.   ╖  IBM Internal Tape Backup Unit (identical to the Irwin AX250L drive)
  1213.  
  1214.   ╖  COREtape light
  1215.  
  1216.   The Irwin AX250L (and the IBM Internal Tape Backup Unit) does not work
  1217.   the ftape.  This is because they only support QIC-117, but not the
  1218.   QIC-80 standard (they use Irwin's proprietary ``servoe (Rhomat)''
  1219.   format).  I know nothing about the Rhomat format, nor where to get any
  1220.   info on it.  Sorry.
  1221.  
  1222.   The COREtape light does not accept the initialisation commands, we're
  1223.   feeding it. This pretty much leaves the drive unusable.
  1224.  
  1225.  
  1226.   6.4.  Using an external tape drive with ftape
  1227.  
  1228.  
  1229.   If you have a floppy controller which has a female DB37 connector on
  1230.   the bracket (and some means of delivering power to the drive), you can
  1231.   use it with ftape.  OK, that sentence was not very obvious. Let's try
  1232.   it this way: Some FDC's (the very ancient one's), have a DB37
  1233.   connector on the bracket, for connecting to external floppy drives.
  1234.  
  1235.   If you make a suitable cable from the DB37 connector (on the FDC) to
  1236.   your external tape drive, you can get ftape to control your tape
  1237.   drive.
  1238.  
  1239.   This is because that from a program's view there is no difference
  1240.   between the internal and the external connectors. So, from ftape's
  1241.   point of view, they are identical.
  1242.  
  1243.  
  1244.   ╖  Pins 20-37: GROUND
  1245.  
  1246.   ╖  1: +12 Volt (POWER)
  1247.  
  1248.   ╖  2: +12 Volt return (GROUND)
  1249.  
  1250.   ╖  3: +5 Volt return (GROUND)
  1251.  
  1252.   ╖  4: +5 Volt (POWER)
  1253.  
  1254.  
  1255.   ╖  5: 2
  1256.  
  1257.   ╖  6: 8
  1258.  
  1259.   ╖  7: 10
  1260.  
  1261.   ╖  8: 12
  1262.  
  1263.   ╖  9: 14
  1264.  
  1265.   ╖  10: 16
  1266.  
  1267.   ╖  11: 18
  1268.  
  1269.   ╖  12: 20
  1270.  
  1271.   ╖  13: 22
  1272.  
  1273.   ╖  14: 24
  1274.  
  1275.   ╖  15: 26
  1276.  
  1277.   ╖  16: 28
  1278.  
  1279.   ╖  17: 30
  1280.  
  1281.   ╖  18: 32
  1282.  
  1283.   ╖  19: 34
  1284.  
  1285.   The power connector is of the "mini" type, sitting on 3.5" floppy
  1286.   drives.  The idea appears to be that you plug one of the power
  1287.   connectors from the PSU to this connector on the board.  If you want
  1288.   to use just a single cable, you might want to get a 50 wire cable, and
  1289.   use multiple wires for the power lines (and ground, for that matter).
  1290.  
  1291.   I have received no confirmation from anyone that this works.  Let me
  1292.   know your results if you try it.
  1293.  
  1294.  
  1295.  
  1296.   6.5.  PCI motherboards and ftape
  1297.  
  1298.  
  1299.   Unfortunately, some PCI motherboards cause problems when running
  1300.   ftape.  Some people have experienced that ftape would not run in a PCI
  1301.   based box, but ran flawlessly in a normal ISA based 386DX machine.  If
  1302.   you have such a problem, please read the README.PCI file in the ftape
  1303.   distribution.
  1304.  
  1305.  
  1306.        A floppy disk controller needs the ISA bus DMA controller
  1307.        for its memory transfers. Seemingly the ISA DMA controller
  1308.        doesn't get control over the memory bus often enough on some
  1309.        PCI based systems.
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.   7.  Backing up and restoring data
  1317.  
  1318.  
  1319.   This section describes some simple uses of tar and mt. Other examples
  1320.   can be found in the ftape-manual of the ftape-doc package. The ftape-
  1321.   tools contains some simple automated DejaGnu (-- Package for writing
  1322.   automated tests.--)
  1323.  
  1324.   test-suites. See section ``Getting ftape'' for informations about
  1325.   where to download those additional packages from.
  1326.  
  1327.  
  1328.   7.1.  Writing an archive to a tape
  1329.  
  1330.  
  1331.   You can use `tar', `dd', `cpio', and `afio'. You will need to use `mt'
  1332.   to get the full potential of your tapes and the ftape driver.  For a
  1333.   start I'd recommend using `tar', as it can archive lots of directories
  1334.   and let you pick out separate files from an archive.  cpio creates
  1335.   smaller archives and is more generally more flexible than tar, but is
  1336.   missing some features like volume labels.  `afio' creates backups
  1337.   where each file is compressed individually and then concatenated.
  1338.   This will allow you to access the files ``after'' the point of the
  1339.   error.  If you use gzipped tar files, all data after the point of the
  1340.   error is lost! (to me, this is a pretty good reason for NOT using
  1341.   compression on backups).  The choice of which is most appropriate
  1342.   depends on the situation and the features and malfeatures of each of
  1343.   the packages.  I recommend taking a look at each package at reviewing
  1344.   the options that each provides.  It's possible that this HOWTO may
  1345.   provide more detail on this subject at some point in the future.
  1346.  
  1347.   There are more links pointing to backup software at http://www-
  1348.   math.math.rwth-aachen.de/~LBFM/claus/ftape/ in the software section of
  1349.   that page.
  1350.  
  1351.   To make a backup of your kernel source tree using tar, do this
  1352.   (assuming you have the sources in /usr/src/linux):
  1353.  
  1354.  
  1355.  
  1356.                # cd /usr/src
  1357.                # tar cf /dev/ftape linux
  1358.  
  1359.  
  1360.  
  1361.  
  1362.   This will not compress the files, but gives you a smoother tape run.
  1363.   If you want the compression (and you've got tar 1.11.2), you just
  1364.   include the -z flag(*), eg: `tar czf /dev/ftape linux'
  1365.  
  1366.   For further instructions on how to use tar, dd and mt look at the man
  1367.   pages and the texinfo files that comes with the respective
  1368.   distributions.
  1369.  
  1370.   (*) tar assumes that the first argument is options, so the `-' is not
  1371.   necessary, i.e. these two commands are the same: `tar xzf /dev/ftape'
  1372.   and `tar -xzf /dev/ftape'
  1373.  
  1374.  
  1375.  
  1376.   7.2.  Restoring an archive
  1377.  
  1378.  
  1379.   OK, let us restore the backup of the kernel source you made in section
  1380.   ``Writing an archive to a tape'' above.  To do this you simply say
  1381.  
  1382.  
  1383.  
  1384.                tar xf /dev/ftape
  1385.  
  1386.  
  1387.   If you used compression, you will have to say
  1388.  
  1389.  
  1390.  
  1391.                tar xzf /dev/ftape
  1392.  
  1393.  
  1394.  
  1395.  
  1396.   When you use compression, gzip will complain about trailing garbage
  1397.   after the very end of the archive (and this will lead to a `broken
  1398.   pipe' message).  This can be safely ignored.
  1399.  
  1400.   For the other utilities, please read the man page.
  1401.  
  1402.  
  1403.  
  1404.   7.3.  Testing the archive
  1405.  
  1406.  
  1407.   tar has an option (-d) for detecting differences between two archives.
  1408.   To test your backup of the kernel source say
  1409.  
  1410.  
  1411.  
  1412.                tar df /dev/ftape
  1413.  
  1414.  
  1415.  
  1416.  
  1417.   If you do not have the man page for tar, you are not lost (yet); tar
  1418.   has a built-in option list: try `tar --help 2>&1 | less'
  1419.  
  1420.  
  1421.   7.4.  Putting more than one backup on a tape
  1422.  
  1423.  
  1424.  
  1425.   To put more than one backup on a tape you must have the mt utility.
  1426.   You will probably have it already, if you got one of the mainline
  1427.   distributions (eg. Slackware or Debian).
  1428.  
  1429.   Programs like tar and cpio generate a single Tape ARchive and know
  1430.   nothing about multiple files or positioning of a tape, it just reads
  1431.   or writes from/to a device. mt knows everything about moving the tape
  1432.   back and forth, but nothing about reading the data off the tape.  As
  1433.   you might have guessed, combining tar or cpio with mt does the trick.
  1434.  
  1435.   By using the nqft[0-3] (nftape) device, you can use `mt' to position
  1436.   the tape the correct place (`mt -f /dev/nqft0 fsf 2' means step over
  1437.   two ``file marks'', i.e.  tar files) and then use tar or cpio to read
  1438.   or write the relevant data.
  1439.  
  1440.   The most common use of the non-rewinding device is to append another
  1441.   backup to an existing tape.  Here are the specific steps with a little
  1442.   explanation thrown in for good measure.
  1443.  
  1444.  
  1445.   ╖  Insert a tape into the drive.  On some devices this may cause the
  1446.      tape to be rewound.
  1447.  
  1448.   ╖  Issue an End-of-Tape command to the NON-rewinding device.
  1449.  
  1450.  
  1451.  
  1452.  
  1453.           mt -f /dev/n???? eof
  1454.  
  1455.  
  1456.  
  1457.  
  1458.  
  1459.   The tape should now be positioned at the End-of-Data (EOD). The tape
  1460.   won't move unless a program opens the device, closes the rewinding
  1461.   device, removes the device driver from kernel memory (rmmod) or ejects
  1462.   the tape.  Using `mt eof' may be faster on QIC tapes.
  1463.  
  1464.   ╖  The next tape operation will start at the EOD mark.  If you perform
  1465.      a write, it will append a new `file'.  If you perform a read it
  1466.      will fail with EOF.  The EOD mark on most tape formats is actually
  1467.      two consecutive EOF marks, however, since version 3.xx ftape  uses
  1468.      the volume table as specified in the QIC-113 standard to emulate
  1469.      file marks, thus there aren't two consecutive file marks at EOD.
  1470.      Writing the EOF marks is handled by either the device driver or the
  1471.      hardware when a close() is performed.
  1472.  
  1473.   ╖  Here's where you write the actual data to the tape.
  1474.  
  1475.   ╖  Here's the important part. Now rewind the tape.  Both ftape caches
  1476.      some information that belongs in the header segments on the tape
  1477.      and update those header segments only when the tape is rewound.
  1478.      This caching is necessary because rewinding the tape and updating
  1479.      the header segments takes a conspicuous amount of time.  The
  1480.      drawback of this caching is that you will lose information if you
  1481.      have written to the tape and not rewound the device.
  1482.  
  1483.  
  1484.  
  1485.   7.5.  Appending files to an archive
  1486.  
  1487.  
  1488.   ``Is there a way to extend an archive -- put a file on the tape, then
  1489.   later, add more to the tape?''
  1490.  
  1491.   No. The tar documentation will tell you to use `tar -Ar', but it does
  1492.   not work.  This is a limitation of the current ftape driver.
  1493.  
  1494.  
  1495.  
  1496.   7.6.  Mount/unmounting tapes
  1497.  
  1498.  
  1499.   Since a tape does not have a ``filesystem'' on it, you do not mount /
  1500.   unmount the tape.  To backup, you just insert the tape and run your
  1501.   `tar' command (or whatever you use to access the tape with).
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.   8.  Creating an emergency boot floppy for ftape
  1509.  
  1510.  
  1511.   (* As of the time of this writing (August 1998) I remember that I have
  1512.   read about several emergency disk sets in the c.o.l.a
  1513.   (comp.os.linux.announce) news group since the time this section has
  1514.   been written. Some of those packages actually might produce rather
  1515.   sophisticated emergency boot floppy sets. Please check out yourself.
  1516.   I didn't try to create an emergency boot floppy with recent versions
  1517.   of ftape.  *)
  1518.  
  1519.   This section was written by Claus T°ndering <ct@login.dknet.dk>.
  1520.  
  1521.   Once you are the happy owner of a tape drive and several tapes full of
  1522.   backups, you will probably ask yourself this question: ``If everything
  1523.   goes wrong, and I completely lose my hard disk, how do I restore my
  1524.   files from tape?''
  1525.  
  1526.   What you need is an emergency floppy disk that contains enough files
  1527.   to enable you to boot Linux and restore your hard disk from tape.
  1528.  
  1529.   The first thing you should do is to read ``The Linux Bootdisk HOWTO''
  1530.   written by Graham Chapman <grahamc@zeta.org.au>.  That document tells
  1531.   you almost everything you need to know about making an emergency
  1532.   floppy boot kit.  The paragraphs below contain a few extra pieces of
  1533.   information that will make your life a bit easier when you follow
  1534.   Graham Chapman's procedures:
  1535.  
  1536.  
  1537.   ╖  You don't really need /etc/init, /etc/inittab, /etc/getty, and
  1538.      /etc/rc.d/* on your floppy disk.  If Linux doesn't find /etc/init,
  1539.      it will start /bin/sh on your console, which is fine for restoring
  1540.      your system.  Deleting these files gives you extra space on your
  1541.      floppy, which you will probably need.
  1542.  
  1543.   ╖  Find a small version of /bin/sh.  They are frequently available on
  1544.      the boot floppies that come with a Linux distribution.  This again
  1545.      will give you extra space.  I'd suggest ash, which is extremely
  1546.      small (approx 62Kbytes), and yet very bash compatible.
  1547.  
  1548.   ╖  The /etc/fstab you include on your floppy disk should look
  1549.      something like this:
  1550.  
  1551.  
  1552.                /dev/fd0        /               minix   defaults
  1553.                none            /proc           proc    defaults
  1554.                /dev/hda        /mnt            ext2    defaults
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.   Once you have booted from your floppy, give the command:
  1561.  
  1562.  
  1563.                mount -av
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.   ╖  Make sure your floppy drive is not mounted when you access the
  1570.      streamer tape!  Otherwise you may get the following error message:
  1571.  
  1572.  
  1573.                Unable to grab IRQ6 for ftape driver
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.   This means that you MUST load the floppy into a RAMDISK.
  1580.  
  1581.   This has the unfortunate consequence that the programs needed to
  1582.   restore the files from the tape can not be located on a separate
  1583.   floppy disk.  You have two options here:
  1584.  
  1585.      1. You place tar (or cpio or afio or whatever other backup program
  1586.         you use) on your root floppy disk.  (This is where you'll need
  1587.         all the extra space created in the steps above.)
  1588.  
  1589.      2. Before you start restoring from tape, copy tar (or cpio or afio
  1590.         or whatever) to your hard disk and load it from there.
  1591.  
  1592.   ╖  Apart from your backup program, you will probably need mt on your
  1593.      root floppy as well.
  1594.  
  1595.   ╖  Make sure your ftape device (typically /dev/nqft0) is present on
  1596.      your boot floppy.
  1597.  
  1598.   ╖  Finally: TRY IT OUT! Of course, I don't recommend that you destroy
  1599.      your hard disk contents to see if you are able to restore
  1600.      everything.  What I do recommend, however, is that you try booting
  1601.      from your emergency disks and make sure that you can at least make
  1602.      a file listing of the contents of your backup tape.
  1603.  
  1604.  
  1605.  
  1606.  
  1607.   9.  Frequently Asked Questions
  1608.  
  1609.  
  1610.   (* This is the literal inclusion of the Ftape Frequently Asked
  1611.   questions collection which is maintained by Johan De Wit
  1612.   <jo@correct.nl> and which may be viewed on the web at
  1613.   http://www.correct.nl/~ftape.  As Linuxdoc SGML doesn't include sub-
  1614.   sub-sections into the table of contents, I have prepended the word FAQ
  1615.   to the sections of the original FAQ document.  *)
  1616.  
  1617.   This FAQ collection might be slightly out of data as it was collected
  1618.   while version 3.04d of the ftape driver was the newest one. If any
  1619.   answer given in the FAQ contradicts any other statement of this HOWTO,
  1620.   then please disregard the answer in the FAQ and drop me
  1621.   (<heine@math1.rwth-aachen.de>) as well as the maintainer of the Ftape-
  1622.   FAQ (Johan De Wit <jo@correct.nl>) a note
  1623.  
  1624.  
  1625.   You might encounter references to the following addresses while
  1626.   reading this document:
  1627.  
  1628.  
  1629.   ╖  The maintainer of the Ftape FAQ :
  1630.  
  1631.      Johan De Wit <jo@correct.nl>
  1632.  
  1633.   ╖  The Ftape maintainer :
  1634.  
  1635.      Claus-Justus Heine <claus@momo.math.rwth-aachen.de>
  1636.  
  1637.   ╖  The Ftape Home Page :
  1638.  
  1639.      <http://www-math.math.rwth-aachen.de/~LBFM/claus/ftape/>
  1640.  
  1641.   ╖  Mirrors of the Ftape Home Page :
  1642.  
  1643.      <http://www.torque.net/ftape/>
  1644.  
  1645.      Thanks to Grant R. Guenther <grant@torque.net>
  1646.  
  1647.      <http://www.info-systems.com/ftape/>
  1648.  
  1649.      Thanks to Jakob Curdes <jc@info-systems.com>
  1650.  
  1651.      <http://www.newwave.net/~joshg/ftape/>
  1652.  
  1653.      Thanks to Josh Goins <joshg@newwave.net>
  1654.  
  1655.  
  1656.   ╖  The Ftape HOWTO :
  1657.  
  1658.      <http://sunsite.unc.edu/LDP/HOWTO>
  1659.  
  1660.   ╖  The Ftape Mailing List :
  1661.  
  1662.      <linux-tape@vger.rutgers.edu>
  1663.  
  1664.  
  1665.   There is surely quite a lot missing. Please feel free to improve this
  1666.   FAQ.  The preferred way of doing this is to post to the Ftape Mailing
  1667.   List in case you have a question that isn't answered here.
  1668.  
  1669.   Also, if you are already reading the list regularly and have the
  1670.   impression that some questions occur again and again, feel free to
  1671.   send that question and possibly an answer in the format indicated
  1672.   below to the maintainer of the Ftape FAQ AND to Ftape Mailing List.
  1673.  
  1674.   If you make FAQ related postings, then please DON'T FORGET to prepend
  1675.   the word "[FAQ]" to the subject of your posting. Please don't add the
  1676.   word "FAQ" to the subject if you post something that isn't related to
  1677.   the FAQ.
  1678.  
  1679.   That's all for now.
  1680.  
  1681.   Claus-Justus Heine.
  1682.  
  1683.  
  1684.   10.  FAQ: "Compiling and installing Ftape" related questions !
  1685.  
  1686.  
  1687.  
  1688.   10.1.  What Ftape version should I use?
  1689.  
  1690.  
  1691.   Always the latest stable version which is _supposed_ to be available
  1692.   from ftp://sunsite.unc.edu/pub/Linux/kernel/tapes and http://www-
  1693.   math.math.rwth-aachen.de/~LBFM/claus/ftape/
  1694.  
  1695.   At time of this writing the latest stable version is ftape-4.02.
  1696.  
  1697.   <answer from Claus Heine>
  1698.  
  1699.   10.2.  I'm having problems getting my XYZ drive to run under the
  1700.   2.0.xx kernel with the built-in driver.  How do I fix this?
  1701.  
  1702.  
  1703.   The default version of Ftape included in the 2.0.xx kernel sources is
  1704.   2.08 or 2.09 and is very out of date.  Please update the Ftape drivers
  1705.   to the latest from the Ftape Home Page.
  1706.  
  1707.   <answer from Tim Jones>
  1708.  
  1709.   10.3.  I'm running Linux/SMP and the system just freezes when trying
  1710.   to access the Ftape devices!
  1711.  
  1712.  
  1713.   You need to add -D__SMP__ to the KERNEL_OPT variable in the file
  1714.   MCONFIG. In newer ftape versions you only need to uncomment a certain
  1715.   line in the MCONFIG file.
  1716.  
  1717.   <answer from Claus Heine>
  1718.  
  1719.  
  1720.   10.4.  Why does depmod complain about "undefined symbols"?
  1721.  
  1722.  
  1723.   Ignore the depmod error messages. The problem is that the Ftape
  1724.   modules have to be compiled without the version checksum feature (i.e.
  1725.   CONFIG_MODVERSIONS) with 2.0.* kernels. This causes no problem, even
  1726.   when the modules are used with a kernel that has support for this
  1727.   feature; only that depmod wrongly complains about undefined symbols.
  1728.   Ignore the complaints of depmod and try to insert the modules despite
  1729.   of these complaints:
  1730.  
  1731.  
  1732.        modprobe zftape
  1733.  
  1734.  
  1735.  
  1736.  
  1737.   If this fails, something is wrong.
  1738.  
  1739.   <answer from Claus Heine>
  1740.  
  1741.  
  1742.   10.5.  "insmod" says the kernel version is wrong
  1743.  
  1744.  
  1745.   The insmod program can check the kernel version against the version
  1746.   that Ftape was compiled for in two ways: It can directly compare the
  1747.   kernel version number recorded in the Ftape module against the version
  1748.   of the running kernel, or, if both the kernel and Ftape is compiled
  1749.   with versioned symbols, compare the version of the used kernel
  1750.   symbols.
  1751.  
  1752.   If you have upgraded your version of GCC to v2.7.0 or later, you must
  1753.   recompile the modules utilities with gcc v2.7.x.
  1754.  
  1755.   Newer versions of insmod allows you to "force" insertion of a module
  1756.   into the kernel, even though the version string is incorrect.
  1757.  
  1758.   <from the Ftape-Howto>
  1759.  
  1760.  
  1761.   10.6.  "insmod" says that kernel 1.2.0 and 1.2.0 differ
  1762.  
  1763.  
  1764.   Did you remember to apply the ksyms.c patch to the kernel?  If not,
  1765.   read the README.linux-1.2 file in the source distribution.
  1766.  
  1767.   <from the Ftape-Howto>
  1768.  
  1769.  
  1770.   10.7.  Trying to compile Ftape gives me the error "modversions.h: no
  1771.   such file or directory"
  1772.  
  1773.  
  1774.   The modversions.h file is created when the kernel is compiled with the
  1775.   configuration item CONFIG_MODVERSIONS turned on.  With this option
  1776.   enabled, the file will be created during the make dep step.
  1777.  
  1778.   One more handy tip is that a make mrproper will remove
  1779.   /usr/include/linux/modversions.h.  You will need to reconfig the
  1780.   kernel and do a make dep to get the file back.
  1781.  
  1782.  
  1783.   <from the Ftape-Howto>
  1784.  
  1785.  
  1786.   10.8.  What is this versioned symbols stuff anyway?
  1787.  
  1788.  
  1789.   When you say `yes' to CONFIG_MODVERSIONS during `make config', all the
  1790.   symbols exported by the kernel, i.e: the symbols that the loadable
  1791.   modules can "see", are augmented to include a checksum across the
  1792.   types of the call/return parameters.  This allows insmod to detect
  1793.   whether the definition of a variable or function in the kernel has
  1794.   changed since the time when Ftape was compiled.
  1795.  
  1796.   This ensures a high degree of safety, such that you do not crash the
  1797.   kernel because you used an outdated module with your kernel.
  1798.  
  1799.   If you enable CONFIG_MODVERSIONS in the kernel, make sure you have
  1800.  
  1801.   -DMODVERSIONS -include /usr/include/linux/modversions.h
  1802.  
  1803.  
  1804.   uncommented in the MODULE_OPT line in the Ftape Makefile.  Conversely,
  1805.   if you do not have CONFIG_MODVERSIONS enabled, make sure you have it
  1806.   commented out.
  1807.  
  1808.   <from the Ftape-Howto>
  1809.  
  1810.  
  1811.   10.9.  I seem to be getting sftape instead of zftape. When I run "ftmt
  1812.   status" command, I get output that the Ftape docs says corresponds to
  1813.   sftape ( /dev/qft0: Invalid argument ). Why?
  1814.  
  1815.  
  1816.   There are (at least) two possible sources of the problem:
  1817.  
  1818.   ╖  All Ftape-3.* versions prior to 3.04 install the modules into
  1819.  
  1820.  
  1821.        /lib/modules/misc
  1822.        instead of
  1823.        /lib/modules/uname -r/misc
  1824.  
  1825.  
  1826.  
  1827.  
  1828.   As modprobe searches in /lib/modules/misc/ last there might be an old
  1829.   ftape.o module floating around in /lib/modules/ uname -r/misc which
  1830.   modprobe finds first (uname -r stands for the kernel version).  Remove
  1831.   the old ftape.o module.
  1832.  
  1833.   ╖  Your kernel has support for Ftape compiled in. Reconfigure your
  1834.      kernel without support for Ftape (CONFIG_FTAPE) and recompile and
  1835.      install it.
  1836.  
  1837.   <answer from Claus Heins>
  1838.  
  1839.  
  1840.   10.10.  My Ditto DASH/FC-20/Exabyte Accelerator card works under
  1841.   Microsoft Windows, but I get a drive not found type of error in
  1842.   /var/log/messages when trying to use it under Linux.
  1843.  
  1844.  
  1845.   You are probably trying to use the same IRQ and DMA settings as your
  1846.   on-board FDC. This does not work in versions of Ftape prior to 3.03b.
  1847.   Please update the Ftape Drivers to the latest from the Ftape Home
  1848.   Page.
  1849.   <answer from Tim Jones>
  1850.  
  1851.  
  1852.   10.11.  Ftape DMA transfers gives ECC errors
  1853.  
  1854.  
  1855.   Sadly to say there are some SVGA cards and Ethernet cards that do not
  1856.   decode their addresses correct.  This typically happens when the Ftape
  1857.   buffers are in the range 0x1a0000 to 0x1c0000.  Somehow, the DMA write
  1858.   cycles get clobbered and every other byte written gets a bad value
  1859.   (0xff).  These problems are reported to happen with both SVGA and
  1860.   Ethernet cards.  We know of at least one (bad?) ATI 16bit VGA card
  1861.   that caused this.
  1862.  
  1863.   The easiest solution is to put the card in an 8bit slot (it is often
  1864.   not enough to reconfigure the card to 8bit transfers).  Moving the
  1865.   Ftape buffer away from the VGA range is only a partial solution; All
  1866.   DMA buffers used in Linux can have this problem!  Let us make this one
  1867.   clear: This has nothing to do with the Ftape software.
  1868.  
  1869.   <from the Ftape-Howto>
  1870.  
  1871.  
  1872.   10.12.  Help! I'm getting 'dmaalloc() failed' in my syslog file.
  1873.  
  1874.  
  1875.   You should only see this is you are trying to insmod the ftape.o
  1876.   module.  Try running swapout first.  It is provided with the
  1877.   standalone Ftape source.  It doesn't appear in the Ftape source that's
  1878.   provided with the kernel.
  1879.  
  1880.   Here's an example of how you can set your rc.local file to use it.
  1881.  
  1882.  
  1883.  
  1884.        # Install the Floppy Tape Driver
  1885.        if [ -f /boot/modules/`uname -r`/misc/ftape.o ]; then
  1886.           echo Installing ftape for Linux `uname -r`
  1887.           swapout
  1888.           insmod /boot/modules/`uname -r`/misc/ftape.o
  1889.        fi
  1890.  
  1891.  
  1892.  
  1893.  
  1894.   Please note that you won't have this type of problem if you compile
  1895.   the Ftape driver into the kernel.
  1896.  
  1897.   <from the Ftape-Howto>
  1898.  
  1899.  
  1900.   10.13.  Syslogd works overtime when running Ftape
  1901.  
  1902.  
  1903.   The compile-time options NO_TRACE and NO_TRACE_AT_ALL in Ftape control
  1904.   the amount of system logging.  Add whichever is appropriate to the
  1905.   FTAPE_OPT line in the Makefile and recompile.
  1906.  
  1907.   <from the Ftape-Howto>
  1908.  
  1909.  
  1910.   10.14.  How do I change the trace-level?
  1911.  
  1912.  
  1913.   There are three ways you can do this (in order of personal
  1914.   preference).
  1915.   While we're at it, here are the meanings of the various trace levels.
  1916.  
  1917.  
  1918.   ╖  0 Bugs
  1919.  
  1920.   ╖  1 + Errors
  1921.  
  1922.   ╖  2 + Warnings
  1923.  
  1924.   ╖  3 + Information
  1925.  
  1926.   ╖  4 + More information
  1927.  
  1928.   ╖  5 + Program flow
  1929.  
  1930.   ╖  6 + FDC/DMA info
  1931.  
  1932.   ╖  7 + Data flow
  1933.  
  1934.   ╖  8 + Everything else
  1935.  
  1936.  
  1937.   1. Using insmod to change trace-level
  1938.  
  1939.      If you are using the modules mechanism to load the Ftape driver,
  1940.      you can specify the tracing level as an option to the insmod
  1941.      command.
  1942.  
  1943.  
  1944.                /sbin/insmod ftape.o tracing=<tracing-level>
  1945.  
  1946.  
  1947.  
  1948.  
  1949.   2. Using mt to change trace-level
  1950.  
  1951.      The Ftape driver has a hack in it that allows the fsr option in mt
  1952.      to be used to set the tracing level.  zftape does not have this
  1953.      hack.
  1954.  
  1955.  
  1956.                mt -f /dev/ftape fsr <tracing-level>
  1957.  
  1958.  
  1959.  
  1960.  
  1961.   The use of the fsr command in mt is a hack, and will probably disap¡
  1962.   pear or change with time.
  1963.  
  1964.   3. Recompiling to change trace-level
  1965.  
  1966.      The file tracing.c contains a line int tracing = 3;.  Change the 3
  1967.      to whatever is appropriate and recompile.
  1968.  
  1969.   <From the Ftape-Howto>
  1970.  
  1971.  
  1972.   10.15.  I'm having problems with Ftape.  I'm using the latest version
  1973.   of Ftape from the Ftape Home Page and believe that I've located a real
  1974.   bug. What should I do?
  1975.  
  1976.  
  1977.   Check the Ftape Home Page.  for an even newer version. Then check the
  1978.   FAQ contained in the that package if your problem is listed there.
  1979.   Next, try to check if the manual that comes with the Ftape
  1980.   distribution mentions your problem.
  1981.   There is no need to read the entire manual, simply check the "Concept
  1982.   Index" if it contains a keyword that might be related to your problem,
  1983.   then jump to the proper location in the manual.
  1984.  
  1985.   If you are still convinced you've found a bug, then post a general
  1986.   question describing the problem to the Linux-Tape Mailing List , but
  1987.   do not attach your entire Ftape error-log. If we've seen the problem
  1988.   before, we'll let you know where the resolution effort stands.  If we
  1989.   haven't, the Ftape maintainer will most likely request that you send
  1990.   him the entire Ftape error-log (snipped from your system messages
  1991.   file).
  1992.  
  1993.   <answer from Tim Jones>
  1994.  
  1995.  
  1996.   11.  FAQ: "Using Ftape" related questions !
  1997.  
  1998.  
  1999.  
  2000.   11.1.  How fast is Ftape ?
  2001.  
  2002.  
  2003.   You can achieve quite respectable backup and restore speeds with
  2004.   Ftape: a Colorado DJ-20 and an Adaptec 1542CF controller, has been
  2005.   measured at 4.25Mbyte/min sustained data transfer rate (no
  2006.   compression) across a 70Mbyte tar archive, while comparing the archive
  2007.   on the tape with data on an IDE disk.  The speed of Ftape is mostly
  2008.   dependent on the data transfer rate of your FDC: The AHA1542CF has a
  2009.   ``post-1991 82077'' FDC, and it will push 1Mbit/sec at the tape drive.
  2010.   If you have an FDC which can only deliver 500Kbit/sec data rates, you
  2011.   will see half the transfer rate (well, roughly).
  2012.  
  2013.  
  2014.  
  2015.   11.2.  When I write to some of my tapes, they seem to spend a lot of
  2016.   time "shoe-shining," or repositioning instead of streaming.  Is some¡
  2017.   thing wrong with my system?
  2018.  
  2019.  
  2020.   There has been a few reports of "shoeshining".  This is when the tape
  2021.   just seems to run back and forth endlessly.  This has been seen on a
  2022.   Jumbo 250 (74407.3051@compuserve.com) and on an Iomega 250 Ditto
  2023.   Insider (tom@opus.cais.com). In the latter case it has been narrowed
  2024.   own to using an ELF Linux and running off a SCSI hard disk (connected
  2025.   to an Adaptec 1542cf).  Please contact me if you have an update to
  2026.   this problem.
  2027.  
  2028.   <from the Ftape-Howto>
  2029.  
  2030.   Probably not. If you are backing up a large number of < 2K files,
  2031.   you're just going to have to live with it.  In this event, the
  2032.   repositions are caused by file system access overhead. If you are
  2033.   backing up a normal system's files, this may be caused by slop or
  2034.   media stretching in the tape cartridge. By simply retensioning the
  2035.   tape, you should see this go away. Try
  2036.  
  2037.  
  2038.        ftmt -f /dev/zqft0 reten
  2039.  
  2040.  
  2041.  
  2042.  
  2043.   to retension the tape. If retensioning doesn't solve this, and it's
  2044.   only happening on certain tapes, it might be wise to replace the tapes
  2045.   in question.
  2046.  
  2047.   <answer from Tim Jones>
  2048.  
  2049.   If you use afio as your backup tool you can set it to write a very
  2050.   large number of buffers in one hit by using the -c flag. Make it large
  2051.   enough so that you supply enough data for most of a single end-to-end
  2052.   pass over the tape.  For my system, the following streams quite nicely
  2053.   - stopping relatively few times per tape pass on an unloaded system:
  2054.  
  2055.  
  2056.        find /usr/local -xdev -print | afio -o -v -f -b 10240 -c 800 /dev/qft0
  2057.  
  2058.  
  2059.  
  2060.  
  2061.   In my case I'm writing 800 x 10240 bytes per tape write, i.e. about
  2062.   8MB.  haven't experimented that much with these settings - so someone
  2063.   might like to establish more optimal ones.
  2064.  
  2065.   Presumably other backup utilities could be modified to use a similar
  2066.   technique.
  2067.  
  2068.   <answer by Michael Hamilton>
  2069.  
  2070.   GNU tar doesn't use buffering in this way. The commercial backup
  2071.   program "bru" is able to multi-buffer using shared memory; this works
  2072.   only when writing compressed archive with bru (regardless whether you
  2073.   use Ftape's builtin compression)
  2074.  
  2075.   Another way to overcome the problem might be to use more dma buffers
  2076.   in the Ftape kernel driver like:
  2077.  
  2078.  
  2079.        mt -f /dev/qft0 setdrvbuffer $((6*32786))
  2080.  
  2081.  
  2082.  
  2083.  
  2084.   $((6*32786)) should be expanded by your shell when using a Bourne com¡
  2085.   patible one. This has a negative impact on the system's memory pool:
  2086.   Ftape's dma buffers cannot be used by any other part of the kernel nor
  2087.   by any other application. And kernel memory cannot be swapped out. If
  2088.   you decide to use this kind of multi-buffering then you should unload
  2089.   the driver as soon as it isn't needed any longer.
  2090.  
  2091.   <answer by Claus Heine>
  2092.  
  2093.  
  2094.   11.3.  Do I have to reboot to the DOS world to format tapes?
  2095.  
  2096.  
  2097.   Not if you are using the latest version of the Ftape drivers from  the
  2098.   Ftape Home Page.
  2099.  
  2100.   To format a QIC-80, TR-1, TR-3, QICWide 3010 or 3020 tape, get the
  2101.   latest version of ftape and the latest version of the ftape-tools
  2102.   package (from the same location) and read the documentation of the
  2103.   ftformat utility which is included in the ftape-tools package.
  2104.  
  2105.   (* Do not try to format Ditto 2GB tapes.  *)
  2106.  
  2107.   (* Do not try to format Ditto Max or Max Pro tapes.  *)
  2108.  
  2109.   <answers from Tim Jones and Claus Heine>
  2110.  
  2111.  
  2112.  
  2113.   11.4.  Is it possibly to format Ditto 2GB tapes with ftape?
  2114.  
  2115.  
  2116.   It isn't possible to format Ditto 2GB tapes with Ditto 2GB tape drive,
  2117.   and it isn't possible at all to re-format Ditto 2GB tapes in a way
  2118.   that they still can be used by a Ditto 2GB tape drive.
  2119.  
  2120.   This is a hardware limitation of the Ditto 2GB tape drive. It can't be
  2121.   helped at the software level, i.e. it isn't ftape's fault.
  2122.  
  2123.  
  2124.   11.5.  Is it possibly to format Ditto Max or Max Pro tapes with ftape?
  2125.  
  2126.  
  2127.   No, the Ditto Max can't format tapes.
  2128.  
  2129.   This is a hardware limitation of the Ditto Max (Pro) tape drive. It
  2130.   can't be helped at the software level, i.e. it isn't ftape's fault.
  2131.  
  2132.  
  2133.   11.6.  Ftape detects more bad sectors than DOS on QIC-3020 tapes
  2134.  
  2135.  
  2136.   If you look at the difference, you will notice that Ftape always
  2137.   detects 2784 sectors more than DOS.
  2138.  
  2139.   The number that Ftape reports is correct (of course :-). Each
  2140.   correctly formatted QIC-3020 tape has 2784 sectors at fixed positions
  2141.   that are marked in the bad sector map. To quote from the specs:
  2142.  
  2143.  
  2144.        Tracks 5,7,9,11,13,15,17,19,21,23,25 and 27 within 4 seg¡
  2145.        ments of either EOT or BOT are prone to increased error
  2146.        rates due to hole imprints.  Therefore, these regions shall
  2147.        be mapped as bad at format time and entered in the bad sec¡
  2148.        tor map by indicating that all sectors within the identified
  2149.        segments are bad.
  2150.  
  2151.  
  2152.   This gives 12 tracks * 2 * 4 segments * 29 sectors == 2784 sectors.
  2153.  
  2154.   So Ftape choose to report the real number of sectors that cannot be
  2155.   used on the tape, while DOS gives a more optimistic number giving a
  2156.   better indication of tape quality.  (Ftape's behavior might change in
  2157.   the future to detect correct formatting and display the separate
  2158.   numbers. It has rather low priority though).
  2159.  
  2160.   QIC-3010 are alike QIC-3020 tapes regarding this.
  2161.  
  2162.   <from the Ftape-Howto>
  2163.  
  2164.  
  2165.   11.7.  Is it ok that I'm not hearing the tape move when I do a fsf or
  2166.   a bsf with mt?
  2167.  
  2168.  
  2169.   Yes.  The driver merely updates an internal counter when those
  2170.   commands are issues.  The tape should move to the proper location on
  2171.   the next read or write access to the tape drive.
  2172.  
  2173.   <from the Ftape-Howto>
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.   11.8.  Why does my XYZ backup program complain about "Invalid argu¡
  2180.   ment" errors?
  2181.  
  2182.  
  2183.   zftape requires the data to be written in multiples of a fixed minimal
  2184.   block size. This is a very usual behavior for a tape device. There are
  2185.   three ways to get rid of those errors:
  2186.  
  2187.   ╖  set Ftape's block size to the block size used by the backup
  2188.      program. The example below works for "afio":
  2189.  
  2190.  
  2191.        mt -f /dev/qft0 setblk 5120
  2192.  
  2193.  
  2194.  
  2195.  
  2196.   ╖  If you don't want to use Ftape's built in compression you can also
  2197.      use
  2198.  
  2199.  
  2200.        mt -f /dev/qft0 setblk 0
  2201.  
  2202.  
  2203.  
  2204.  
  2205.   to switch Ftape to variable block size mode and be able to write the
  2206.   data in arbitrary portions to the tape (BUT: the builtin compression
  2207.   doesn't work with this setting). When you intend to use "KBackup" then
  2208.   this is the only way to make it work together with Ftape (it _may_
  2209.   work, don't know if it does)
  2210.  
  2211.   ╖  tell your backup program about Ftape's default block size of 10k
  2212.      (which is also the default of GNU tar). For "afio" you can use the
  2213.      following command line switch:
  2214.  
  2215.  
  2216.        afio -b 10k ...
  2217.  
  2218.  
  2219.  
  2220.  
  2221.   You may want to read the section "Tape blocks" of the manual (use its
  2222.   "Concept index" to directly jump to that section)
  2223.  
  2224.   When using GNU tar's builtin compression with GNU tar versions prior
  2225.   to tar-1.12 one needs to run tar with the --block-compress switch to
  2226.   re-block the output to the tape.  Otherwise tar will compress the data
  2227.   it reads, and write it in arbitrary portions to the tape.
  2228.  
  2229.  
  2230.  
  2231.        Example :
  2232.  
  2233.        tar -czvf /dev/qft0 --block-compress /etc
  2234.  
  2235.  
  2236.  
  2237.  
  2238.   WARNING: One shouldn't use tar's builtin compression with large
  2239.   backups as it makes the entire data stream one huge compressed block.
  2240.   If such archives are corrupted right at the beginning it will be very
  2241.   difficult to recover.
  2242.  
  2243.   <answer by Claus Heine>
  2244.  
  2245.   11.9.  I/O errors and FDC - some explanations.
  2246.  
  2247.  
  2248.   When you get next messages, this could be interesting for you !
  2249.  
  2250.  
  2251.   ╖  fdc-io.c (ft_handle_perpend) - Your FDC does not support QIC-3020.
  2252.  
  2253.   ╖  Cannot write to /dev/qft0: I/O error
  2254.  
  2255.   The explanations:
  2256.  
  2257.   "FDC" menas "Floppy Disk Controller". The problem is that your floppy
  2258.   disk controller must be able to support something that is called
  2259.   "perpendicular mode" to be able to read and write QIC-3020/QIC-3010
  2260.   cartridges (i.e. TR-3 cartridges). To my knowledge all FDCs that are
  2261.   capable of at least 1Mbit/sec data transfer rate also support
  2262.   "perpendicular mode" ("perpendicular" refers to the direction of
  2263.   magnetization of the ferro-magnetic particles on the tape).
  2264.  
  2265.   This means that you need to purchase another FDC. Either look around
  2266.   some computer stores and ask for an IO controller cards that is able
  2267.   to support 2.88 Mb floppies (which imlies 1Mbit data transfer rate and
  2268.   perpendicular mode).
  2269.  
  2270.   Or get one of the so called "high speed" controllers that even support
  2271.   2Mbit/sec data transfer rate. Those controllers are based on an Intel
  2272.   82078 FDC. Iomega sells such a card under the name "Ditto Dash". I
  2273.   think Exabyte sells their 2Mbit controllers separately, too, whereas
  2274.   Seagate ships its TR-3 drives (i.e. the TST-3200) together with such a
  2275.   controller.
  2276.  
  2277.  
  2278.   <answer from Claus Heine>
  2279.  
  2280.  
  2281.   11.10.  Why do I get "/dev/qft0: No such device" errors?
  2282.  
  2283.  
  2284.   I assume that the following is the problem: The Ftape module is loaded
  2285.   OK into the kernel:
  2286.  
  2287.  
  2288.        /usr/src/ftape-3.03b-970603# lsmod
  2289.         Module         Pages    Used by
  2290.         ftape             22            0
  2291.  
  2292.  
  2293.  
  2294.  
  2295.   but then this happens:
  2296.  
  2297.  
  2298.        $ ftmt -f /dev/qft0 status
  2299.        ftmt: /dev/qft0: No such device
  2300.  
  2301.  
  2302.  
  2303.  
  2304.   Solution You need to load the zftape.o module as well. With Ftape-3.*
  2305.   the ftape.o module doesn't implement the VFS interface. This is done
  2306.   by zftape.o.
  2307.  
  2308.   <answer from Claus Heine>
  2309.  
  2310.  
  2311.   11.11.  I get "device busy" when I make multiple backups on a tape
  2312.   using some script.
  2313.  
  2314.  
  2315.   The "device busy" messages can only occur while the Ftape devices are
  2316.   still held open by some program. As soon as the close() system call
  2317.   has completed the busy flag is cleared. May be "bru" or some other
  2318.   program has still forked off a child that dies delayed?
  2319.  
  2320.   Yes, this will reproduce the problem, it seems:
  2321.  
  2322.  
  2323.        tar -cvvzf /dev/nqft0 --block-compress ; mt rewind
  2324.  
  2325.  
  2326.  
  2327.  
  2328.   You can skip the "--block-compress" if using the most recent version
  2329.   of GNU tar.
  2330.  
  2331.   However, this is not a bug of Ftape. It seems that the parent tar
  2332.   process exits before its child has closed the tape device. I know,
  2333.   however, from hacking the tar code ages ago, that tar properly waits
  2334.   for its parent to die.
  2335.  
  2336.   However, the busy message simply means that the "busy" variable is
  2337.   still held at 1 (zftape/zftape-init.c). And this simply means that
  2338.   there still is a process hanging around that holds the tape device
  2339.   open.
  2340.  
  2341.   I think I have it (only for the case of tar 'cause I have the source
  2342.   code.
  2343.  
  2344.   If on uses tar with compression, then it forks a child which will
  2345.   become the compressor bei execing  "gzip" or whatever. Before the call
  2346.   to execlp() the child will fork off a grand child of its parent tar.
  2347.   That grandchild will do the actual tape I/O.
  2348.  
  2349.  
  2350.        tar - fork() - write to child tar
  2351.                |
  2352.              child tar - fork() - gzip (will pipe to grand child tar)
  2353.                            |
  2354.                          grand child tar - open archive.
  2355.  
  2356.  
  2357.  
  2358.  
  2359.   Now, parent tar only waits for its child to die. gzip surely doesn't
  2360.   wait for the grand child as the gzip is a result of an execlp().
  2361.  
  2362.   What I don't know is whether the grand child should be implicitly
  2363.   waited for by the parent tar, or if the wait() function also waits for
  2364.   grand childs.
  2365.  
  2366.   But this seems to be the problem: the parent tar already has exited
  2367.   while its grandchild still is busy closing the archive. One hardly
  2368.   will notice this problem if the close() happens fast (i.e. regular
  2369.   files, block devices, also other tape devices?), but it isn't a bug in
  2370.   Ftape, but either in the backup programs or in the kernel or maybe
  2371.   libc exit code.
  2372.  
  2373.   Don't know if the considerations above also apply to bru. If there is
  2374.   no grandchild and the parent process properly waits for its childs
  2375.   then there shouldn't be a problem.
  2376.  
  2377.   <answer from Claus Heine>
  2378.  
  2379.  
  2380.   11.12.  How do I "..." with tar?
  2381.  
  2382.  
  2383.   These are really tar questions: Please read the man page and the info
  2384.   page.  If you have not got it either, try
  2385.  
  2386.  
  2387.        tar  --help 2>&1 | less
  2388.  
  2389.  
  2390.  
  2391.  
  2392.   If your version of tar is v1.11.1 or earlier, consider upgrading to
  2393.   v1.11.8 - This version can call GNU zip directly (i.e.: it supports
  2394.   the -z option) and has an elaborate help included.  Also, it compiles
  2395.   right out of the box on Linux.
  2396.  
  2397.   <from the Ftape-Howto>
  2398.  
  2399.  
  2400.   11.13.  What block-size should I use with tar ?
  2401.  
  2402.  
  2403.   When using compression, and in all general, it can be a benefit to
  2404.   specify to tar, that it should block the output into chunks.  Since
  2405.   Ftape cuts things into 29Kbyte blocks, saying `-b58' should be
  2406.   optimum.
  2407.  
  2408.   "Why 29Kbyte?", I hear you cry.  Well, the QIC-80 standard specifies
  2409.   that all data should be protected by an Error Correcting Code (ECC)
  2410.   code.  The code specified in the QIC-80 standard is known as a Reed-
  2411.   Solomon (R-S) code.  The R-S code takes 29 data bytes and generates 3
  2412.   parity bytes.  To increase the performance of the ECC code, the parity
  2413.   bytes are generated across 29 1Kbyte sectors.  Thus, Ftape takes
  2414.   29Kbytes of data, adds 3Kbytes of ECC parity, and writes 32Kbytes to
  2415.   the tape at a time.  For this reason, Ftape will always read and write
  2416.   32K byte blocks to be able to detect (and correct) data errors.
  2417.  
  2418.   If you are curious, and wish to know more, look in the ecc.c and ecc.h
  2419.   files, for an explanation of the code and a reference to a textbook on
  2420.   Reed-Solomon codes.
  2421.  
  2422.   <from the Ftape-Howto>
  2423.  
  2424.  
  2425.   11.14.  Where can I find the tar/mt/cpio/dd binaries - sources - man¡
  2426.   pages?
  2427.  
  2428.  
  2429.   All of these tools have been developed by the GNU project, and the
  2430.   source (and man page) can be fetched from just-about any ftp site in
  2431.   the world (including ftp.funet.fi, tsx-11.mit.edu, and
  2432.   sunsite.unc.edu).  In any case they can be fetched from the official
  2433.   GNU home site: prep.ai.mit.edu [18.71.0.38]:/pub/gnu.  The latest
  2434.   versions (as of September 12 1996) are:
  2435.  
  2436.  
  2437.  
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.   cpio:   2.4.2 (cpio-2.4.2.tar.gz)
  2444.   dd:     3.13 (fileutils-3.13.tar.gz)
  2445.   mt:     2.4.2 (cpio-2.4.2.tar.gz)
  2446.   tar:    1.11.8 (tar-1.11.8.tar.gz)
  2447.   gzip:   1.2.4 (gzip-1.2.4.tar.gz)
  2448.  
  2449.  
  2450.  
  2451.  
  2452.   They all compile out of the box on Linux v1.0.4 / libc v4.5.19 / gcc
  2453.   v2.5.8.
  2454.  
  2455.   <from the Ftape-Howto>
  2456.  
  2457.  
  2458.   11.15.  If I use tapers compression, is it a bad idea to use the com¡
  2459.   pression with zftape, or would it be better to not use tapers compres¡
  2460.   sion, and let zftape do it?
  2461.  
  2462.  
  2463.   It is not bad as such to compress data twice (which would be the case
  2464.   when using tapers compression together with zftape's compression) but
  2465.   it doesn't make any sense. You won't gain much further compression,
  2466.   but only waste CPU cycles.
  2467.  
  2468.   Tapers compression should be quite safe, as taper compresses single
  2469.   files; in contrast to tar -czf ... which makes the entire data stream
  2470.   a large compressed block of data, which is really a bad thing with
  2471.   serious backups as a single bad byte at the beginning of the archive
  2472.   can make the entire archive unusable, well, it will be at least quite
  2473.   difficult to recover.
  2474.  
  2475.   <Answer from Claus Heine>
  2476.  
  2477.  
  2478.   11.16.  How does zftape compression compare to say gzip -9?
  2479.  
  2480.  
  2481.   gzip -9 is better (i.e. one gains higher compression). zftape's
  2482.   compression is comparable with the Un*x compress program, but should
  2483.   be faster, and is faster than gzip.
  2484.  
  2485.   <Answer from Claus Heine>
  2486.  
  2487.  
  2488.   11.17.  I don't trust compression, but hear that the sftape interface
  2489.   is going away. What should I do?
  2490.  
  2491.  
  2492.   Use the zftape interface, but don't load the zft-compressor module.
  2493.   The device then becomes /dev/qft0.
  2494.  
  2495.   <answer from Tim Jones>
  2496.  
  2497.  
  2498.   11.18.  Ftape says "This tape has no 'Linux raw format"
  2499.  
  2500.  
  2501.   You get this complaint if you haven't erased your freshly formatted
  2502.   tape.  This is because Ftape expect a "magic header" on the tape, to
  2503.   be able that it is allowed to interpret the header segment in its own
  2504.   way (eg: file marks).  To remove the problem, say
  2505.  
  2506.   mt -f /dev/nftape erase
  2507.  
  2508.  
  2509.   <from the Ftape-Howto>
  2510.  
  2511.  
  2512.   11.19.  Can I exchange tapes with someone using DOS?
  2513.  
  2514.  
  2515.   No.  The DOS software conforms to the QIC-80 specs about the layout of
  2516.   the DOS filesystem, and it should(?)  be a small problem to write a
  2517.   program that can read/write the DOS format.  In fact, I'd bet that
  2518.   creating a nice user interface would be a bigger problem.
  2519.  
  2520.   <From the Ftape-Howto>
  2521.  
  2522.  
  2523.   11.20.  How does `mt eom' work when you've started overwriting a tape
  2524.   in the middle?
  2525.  
  2526.  
  2527.   (EOM is "End Of recorded Media", the position right after all data
  2528.   already recorded to the tape)
  2529.  
  2530.   One cannot use tape "files" like files on an ordinary file system.
  2531.  
  2532.   In principle, a tape doesn't allow anything but appending new data at
  2533.   EOM.  However, if one positiones just in the middle of the already
  2534.   recorded data AND starts writing, then the driver first deletes all
  2535.   following files (thus moving the EOM to the actual position) and then
  2536.   starts writing.
  2537.  
  2538.   Thus, the new EOM after finishing the write process, is then after the
  2539.   newly recorded data.
  2540.  
  2541.   One of the consequences of the above is, of course, that writing to
  2542.   the tape in the middle of the already recorded area, is destructive in
  2543.   the sense, that it not only overwrites the "file" the tape is
  2544.   positioned at, but also deletes all following files.
  2545.  
  2546.   <from the Ftape-Howto> <Answer from Claus Heine>
  2547.  
  2548.  
  2549.   11.21.  When I made backups before using taper, under the 2.0.29 ftape
  2550.   my drive didn't support fsf, under the new zftape it does, why would
  2551.   this be, and what exactly is fsf ?
  2552.  
  2553.  
  2554.   It probably didn't work before because you didn't use a
  2555.  
  2556.  
  2557.        mt -f /dev/rft0 erase
  2558.  
  2559.  
  2560.  
  2561.  
  2562.   before writing data to the cartridge. THIS ISN'T necessary any more.
  2563.  
  2564.   But, hey, what does mt fsf? Tape drives don't store files in the sense
  2565.   that you can use
  2566.  
  2567.   cp somefile /dev/my_what_ever_tape
  2568.  
  2569.  
  2570.   or be able to mount the tape drive like you could mount a harddisk.
  2571.   You can't do nothing with a tape drive but write data to it in a
  2572.   sequential manner.
  2573.  
  2574.  
  2575.   As this is quite inconvenient, somebody invented something which is
  2576.   known under the name file mark or eof mark (eof == End Of File). Those
  2577.   marks don't separate files that have been backed up to the tape
  2578.   device, but only separate blocks of data (whatever data that might
  2579.   be).
  2580.  
  2581.   Normally, the kernel tape device drivers take care of writing file
  2582.   marks when the tape device is closed, i.e.
  2583.  
  2584.  
  2585.        tar -cf /dev/nqft0 /bin
  2586.        tar -cf /dev/nqft0 /etc
  2587.        mt -f /dev/nqft0 rewind
  2588.  
  2589.  
  2590.  
  2591.  
  2592.   would result in a backup of all files under /bin and /etc. When the
  2593.   first tar finishes, the kernel driver will take care of writing a file
  2594.   mark to the tape at the the current tape position, and when the second
  2595.   tar process has finished, another file mark is written to the tape
  2596.   cartridge at that position.
  2597.  
  2598.   Now, the sense of those file marks is, that it is possible to skip
  2599.   between different archives on the tape more quickly than would be
  2600.   possible with reading the data back.
  2601.  
  2602.   The commands to do that are:
  2603.  
  2604.      mt fsf
  2605.         fast skip to the next file mark towards EOT (End Of Tape)
  2606.  
  2607.      mt bsf
  2608.         fast skip to the next file marks towards BOT (Begin Of Tape)
  2609.  
  2610.   Thus, to extract the second archive in the example above, one doesn't
  2611.   need to read the first archive back, but can proceed as follows:
  2612.  
  2613.  
  2614.        mt -f /dev/nqft0 rewind
  2615.        mt -f /dev/nqft0 fsf
  2616.        tar -xvf /dev/nqft0
  2617.  
  2618.  
  2619.  
  2620.  
  2621.   <Answer from Claus Heine>
  2622.  
  2623.  
  2624.   11.22.  What exactly is the difference between ftape, and zftape?
  2625.  
  2626.  
  2627.   When Ftape was young there were two versions of the floppy tape
  2628.   driver, one of them was called zftape because of its built-in user-
  2629.   transparent on-the-fly compression. Whether such a thing is a feature
  2630.   or a bug ('cause this needn't be done in kernel space) is another
  2631.   question. However, the ioctl interface and file mark handling provided
  2632.   by zftape was much better and had less bugs. And zftape allows to use
  2633.   floppy tape cartridges with different OS. Well, you can't exchange
  2634.   data, but zftape won't overwrite volumes created by your Windoze
  2635.   program, and vice versa.
  2636.  
  2637.   Nowadays, Ftape is name of the entire floppy tape driver package AND
  2638.   ftape.o is the file-name of the kernel module that implements the low-
  2639.   level hardware support. zftape has ceased to exist as a separate
  2640.   package, but the new Ftape versions (since ftape-3.00) contain a
  2641.   zftape.o module that needs to be loaded on top of ftape.o (i.e. you
  2642.   need to load BOTH modules to be able to access your floppy tape drive)
  2643.   and implements the file system interface and the advanced (?) features
  2644.   of the previous verions zftape.
  2645.  
  2646.   <Answer from Claus Heine>
  2647.  
  2648.  
  2649.   11.23.  What is the difference between a rewinding, and non rewinding
  2650.   drive?
  2651.  
  2652.  
  2653.   Well, the rewinding tape devices rewind the tape to BOT (Begin Of
  2654.   Tape) when the device is closed, i.e.
  2655.  
  2656.  
  2657.        tar -cvf /dev/qft0 /bin
  2658.  
  2659.  
  2660.  
  2661.  
  2662.   will rewind the tape cartridge when the tar job has finished. In con¡
  2663.   trast,
  2664.  
  2665.  
  2666.        tar -cvf /dev/nqft0 /bin
  2667.  
  2668.  
  2669.  
  2670.  
  2671.   will NOT rewind the tape cartridge and leave the tape R/W head at its
  2672.   current position.
  2673.  
  2674.   Rewinding devices should be used when performing a single backup, non-
  2675.   rewinding devices can be useful when doing multiple backups as one
  2676.   doesn't need to space to EOM (End Of recorded Media) before appending
  2677.   another archive.
  2678.  
  2679.   Non-rewinding devices MUST be used when sending any of the tape motion
  2680.   command to the tape drive, such as
  2681.  
  2682.  
  2683.        mt -f /dev/nqft0 fsf
  2684.  
  2685.  
  2686.  
  2687.  
  2688.   , because when the mt process finishes then the tape device is closed
  2689.   which would result in rewinding the cartridge with the rewinding
  2690.   devices.
  2691.  
  2692.   <Answer from Claus Heine>
  2693.  
  2694.  
  2695.   11.24.  Can someone tell me how to use mt to rewind my TR-3 drive one
  2696.   record using zftape record, so I can verify it?
  2697.  
  2698.  
  2699.   Well, it depends. If the tape is still positioned inside the volume
  2700.   just written, "mt bsf 1" (or equivalently "mt bsf") will backspace
  2701.   just to the beginning of that volume (this is how "tar --verify"
  2702.   works). If the tape is already positioned AFTER the filemark that
  2703.   marks the end of the last written volume, then you need to issue "mt
  2704.   bsf 2"
  2705.  
  2706.  
  2707.   The logic behind this is as follows: "MTBSF count" backspaces over
  2708.   count file marks, stops, and then positions on the EOT side of the
  2709.   last skipped file mark. This means, an "mt bsf 2" will position right
  2710.   at the beginning of the previous volume.
  2711.  
  2712.   <answer form Claus Heine>
  2713.  
  2714.  
  2715.   11.25.  By non-rewinding, they mean that it doesn't automatically
  2716.   rewind, correct? It doesn't mean that under no circumstances it will
  2717.   rewind, right?  I tried using /dev/zqft0, and it instantly rewinds the
  2718.   tape.
  2719.  
  2720.  
  2721.   You are right: auto-rewind means, the tape is rewound when the tape
  2722.   device is closed, non-rewinding  means, the tape isn't automatically
  2723.   rewound when the tape device is closed (but you can, of course, use
  2724.   the tape motion commands BSF/FSF etc. to position the tape head at
  2725.   every position you like).
  2726.  
  2727.   <answer form Claus Heine>
  2728.  
  2729.  
  2730.   11.26.  What is the difference between what mt considers a record and
  2731.   what it considers a file?
  2732.  
  2733.  
  2734.   A record is the minimal amount of bytes that will be accepted by the
  2735.   tape in one read/write operation (except in "variable block size mode"
  2736.   where it just should be the amount of data actually written in a
  2737.   single write operation??).
  2738.  
  2739.   For zftape every read and write access has to be a multiple of a fixed
  2740.   block size (fixed, but tunable with MTSETBLK). This block size is a
  2741.   "tape record" (as mentioned in the GNU mt man page and defaults to
  2742.   10kb for zftape.
  2743.  
  2744.   A "file" (in the sense of the mt man page) is a, well, misleading
  2745.   terminus. What is meant is an area of the tape between two file marks.
  2746.   This is not a file like a file on the file system, in the sense that
  2747.   it could have a name, file access modes, could be moved or copied with
  2748.   cp, mv, rm etc.
  2749.  
  2750.   Instead, It simply is the area of the tape that was recorded in one
  2751.   backup session, its end is marked by a tape file mark, and its
  2752.   beginning is delimited by either BOT or the file mark of the previous
  2753.   tape "file". That tape "files" are the things that can be skipped with
  2754.   the MTBSF/FSF commands.
  2755.  
  2756.   <answer form Claus Heine>
  2757.  
  2758.  
  2759.   11.27.  Reusing tapes with zftape without reformatting the tape.
  2760.  
  2761.  
  2762.   We try to answer the followong questions :
  2763.  
  2764.   ╖  Is there a good way to erase, as in remove the data or at least the
  2765.      volumes from a tape, without reformating?
  2766.  
  2767.   ╖  Can you overwrite the last volume on a tape with making a mess out
  2768.      of it?
  2769.  
  2770.   ╖  Can you overwrite the last several volumes without making a mess?
  2771.  
  2772.  
  2773.   ╖  Can you delete the last volume?
  2774.  
  2775.   If you want to "erase" an entire cartridge, then simply do:
  2776.  
  2777.  
  2778.  
  2779.        mt -f /dev/qft0 erase
  2780.  
  2781.  
  2782.  
  2783.  
  2784.   This will erase the volume table (i.e. the "file marks").
  2785.  
  2786.   Pre-ftape-3.x releases of zftape and ftape used to allow overwriting
  2787.   of already existing volumes on a cartridge. I have removed this
  2788.   feature as it was reported that it already has caused data-loss with
  2789.   some backup programs.
  2790.  
  2791.   If you indeed need to remove some volumes on the tape then you should
  2792.   use the
  2793.  
  2794.  
  2795.  
  2796.        vtblc
  2797.  
  2798.  
  2799.  
  2800.  
  2801.   program that comes with the ftape-tools package which can be down-
  2802.   loaded from the same locations as the ftape kernel driver package.
  2803.   Please refer to the documentation which is contained in the ftape-
  2804.   tools package for more information.
  2805.  
  2806.   If you simply want to reuse old tapes, then it suffices to do
  2807.  
  2808.  
  2809.  
  2810.        mt rewind
  2811.  
  2812.  
  2813.  
  2814.  
  2815.   If the tape is at BOT (Begin Of Tape) then every write access to the
  2816.   tape will silently erase all file marks and overwrite the data already
  2817.   existing on the tape.
  2818.  
  2819.   <answer by Claus Heine>
  2820.  
  2821.  
  2822.   11.28.  This script implements a simple contents listing for the
  2823.   zftape package using the "MTIOCVOLINFO" ioctl.
  2824.  
  2825.  
  2826.   Here is as little perl/bash script that lists the contents of a
  2827.   cartridge using the zftape specific "volinfo" ioctl. Hope this shows
  2828.   how to handle this kind of stuff.
  2829.  
  2830.   What it basically does is the following:
  2831.  
  2832.  
  2833.   1. Rewind the cartridge
  2834.  
  2835.   2. Issue the volinfo command:
  2836.  
  2837.  
  2838.  
  2839.      claus@thales:~$ mt volinfo
  2840.      file number          = 1
  2841.      block size           = 10240
  2842.      physical space used  =  522.0 kilobytes
  2843.      real size of volume  =  520.0 kilobytes
  2844.  
  2845.  
  2846.  
  2847.  
  2848.   Parse the ouput and place the values in appropriate variables
  2849.  
  2850.   3. Skip to the next volume with "mt fsf"
  2851.  
  2852.   4. Exit if this gives an error (EOD), otherwise "goto 2)"
  2853.  
  2854.   The Perl Script
  2855.  
  2856.  
  2857.  
  2858.  
  2859.  
  2860.  
  2861.  
  2862.  
  2863.  
  2864.  
  2865.  
  2866.  
  2867.  
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.  
  2874.  
  2875.  
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.  
  2902.  
  2903.  
  2904.  
  2905.   #!/usr/bin/perl
  2906.   #
  2907.   #     Copyright (C) 1997 Claus-Justus Heine
  2908.   #
  2909.   # This program is free software; you can redistribute it and/or modify
  2910.   # it under the terms of the GNU General Public License as published by
  2911.   # the Free Software Foundation; either version 2, or (at your option)
  2912.   # any later version.
  2913.   #
  2914.   # This program is distributed in the hope that it will be useful,
  2915.   # but WITHOUT ANY WARRANTY; without even the implied warranty of
  2916.   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2917.   # GNU General Public License for more details.
  2918.   #
  2919.   # You should have received a copy of the GNU General Public License
  2920.   # along with this program; see the file COPYING.  If not, write to
  2921.   # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  2922.   #
  2923.   #   This script implements a simple contents listing for the zftape
  2924.   #   package using the MTIOCVOLINFO ioctl.
  2925.   #
  2926.  
  2927.   $version = <<EOT;
  2928.   listtape-1.0 -- a perl script to list the contents of a floppy tape cartridge
  2929.   under Linux using the zftape driver
  2930.  
  2931.   RCS \$Revision: 1.2 $
  2932.   RCS \$Date: 1998/08/30 13:44:03 $
  2933.   EOT
  2934.  
  2935.   $tapedev = "/dev/tape";
  2936.   $usage = <<EOT;
  2937.   Usage: listtape [options ...]
  2938.  
  2939.   Mandatory or optional arguments to long options are mandatory or optional
  2940.   for short options too.
  2941.  
  2942.   -f, --file=FILE       Tape device to use. Default is  "/dev/tape".
  2943.   -h, --help            Print this help.
  2944.   -?                    Same as '-h'.
  2945.   --usage           Same as '-h'.
  2946.   -V, --version         Print version information.
  2947.  
  2948.   Author: Claus-Justus Heine <claus\@momo.math.rwth-aachen.de>
  2949.   EOT
  2950.  
  2951.   while ($ARGV[0] =~ /^-/) {
  2952.   $_ = shift;
  2953.   if (/--file/) {$_ = shift; $tapedev = $_; next;}
  2954.   if (/-f/) {$_ = shift; $tapedev = $_; next;}
  2955.   if (/--help/) { print $usage; exit 0; }
  2956.   if (/-h/) { print $usage; exit 0; }
  2957.   if (/--usage/) { print $usage; exit 0; }
  2958.   if (/-\?/) { print $usage; exit 0; }
  2959.   if (/--version/) { print $version; exit 0; }
  2960.   if (/-V/) { print $version; exit 0; }
  2961.   die $usage;
  2962.   }
  2963.  
  2964.   &open_tape($tapedev, "status");
  2965.   while(<FTMT>)
  2966.   {
  2967.   $online = 1 if (/.*online.*/);
  2968.   }
  2969.  
  2970.   if (! $online) { die "No cartridge present.\n"; }
  2971.   &mtop($tapedev, "rewind");
  2972.  
  2973.   printf "%11s%12s%20s%20s\n",
  2974.   "file number", "block size", "volume size", "tape space";
  2975.  
  2976.   while (1)
  2977.   {
  2978.   &open_tape($tapedev, "volinfo");
  2979.   while (<FTMT>) {
  2980.   if (/^file number\s*=\s*([0-9]*)$/) { $filenumber = $1; }
  2981.   if (/^block size\s*=\s*([0-9]*)$/) { $blocksize = $1; }
  2982.   if (/^physical space used\s*=\s*([[0-9]*.*)/) { $rawsize = $1; }
  2983.   if (/^real size of volume\s*=\s*([[0-9]*.*)/) { $size = $1; }
  2984.   }
  2985.   close(FTMT);
  2986.   if (&mtop($tapedev, "fsf 1") != 0) {
  2987.   &mtop($tapedev,"rewind");
  2988.   print "\nRemaining space: $rawsize\n";
  2989.   print "Tape block size: $blocksize\n";
  2990.   exit 0;
  2991.   }
  2992.   printf "%6d          %5d  %20s%20s\n",
  2993.       $filenumber, $blocksize, $size, $rawsize;
  2994.   }
  2995.  
  2996.   sub mtop
  2997.   {
  2998.   local ($tape, $operation) = @_;
  2999.   local ($exitval);
  3000.   system "ftmt -f $tape $operation > /dev/null 2>&1";
  3001.   }
  3002.  
  3003.   sub open_tape
  3004.   {
  3005.   local ($tape, $operation) = @_;
  3006.   local ($command);
  3007.  
  3008.   $command = "ftmt -f " . $tape . " " . $operation . " |";
  3009.   open(FTMT, $command) || die "Couldn't open $command -- $!\n";
  3010.   }
  3011.  
  3012.  
  3013.  
  3014.  
  3015.  
  3016.  
  3017.   The Bash Script
  3018.  
  3019.  
  3020.  
  3021.  
  3022.  
  3023.  
  3024.  
  3025.  
  3026.  
  3027.  
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.  
  3034.  
  3035.  
  3036.  
  3037.   ______________________________________________________________________
  3038.  
  3039.   #! /bin/bash
  3040.   #
  3041.   #     Copyright (C) 1997 Claus-Justus Heine
  3042.   #
  3043.   # This program is free software; you can redistribute it and/or modify
  3044.   # it under the terms of the GNU General Public License as published by
  3045.   # the Free Software Foundation; either version 2, or (at your option)
  3046.   # any later version.
  3047.   #
  3048.   # This program is distributed in the hope that it will be useful,
  3049.   # but WITHOUT ANY WARRANTY; without even the implied warranty of
  3050.   # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3051.   # GNU General Public License for more details.
  3052.   #
  3053.   # You should have received a copy of the GNU General Public License
  3054.   # along with this program; see the file COPYING.  If not, write to
  3055.   # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  3056.   #
  3057.   #   This script implements a simple contents listing for the zftape
  3058.   #   package using the MTIOCVOLINFO ioctl.
  3059.   #
  3060.  
  3061.   #
  3062.   # insert better option parsing here
  3063.   #
  3064.   TAPEDEV=${1-/dev/tape}
  3065.  
  3066.   if ! echo $TAPEDEV | grep "/dev/n"
  3067.   then
  3068.   TAPEDEV=/dev/n$(basename $TAPEDEV)
  3069.   fi
  3070.  
  3071.   if ! [ -c $TAPEDEV ]
  3072.   then
  3073.   echo $TAPEDEV is not a character device!  1>&2
  3074.   exit 1
  3075.   fi
  3076.  
  3077.   if ! mt -f $TAPEDEV rewind
  3078.   then
  3079.   echo Could not rewind $TAPEDEV - no cartridge present?  1>&2
  3080.   exit 1
  3081.   fi
  3082.  
  3083.   echo -e "\nContents of $TAPEDEV:\n"
  3084.  
  3085.   printf "%11s%12s%20s%20s\n" "file number" "block size" "volume size" "tape space"
  3086.  
  3087.   trap "rm -f /tmp/$0.$$" exit
  3088.  
  3089.   while true
  3090.   do
  3091.   if ! foo=$(mt -f $TAPEDEV volinfo |cut -f 2 -d =)
  3092.   then
  3093.   echo $TAPEDEV doesn\'t seem to be a floppy tape device 1>&2
  3094.   exit 1
  3095.   fi
  3096.   #
  3097.   # "echo foo | read foo" will not work as the "read foo" is executed in
  3098.   # another shell.
  3099.   #
  3100.   echo $foo > /tmp/$0.$$
  3101.   read file blksz used usedunit size sizeunit < /tmp/$0.$$
  3102.   if ! mt -f $TAPEDEV fsf 1 > /dev/null 2>&1
  3103.   then
  3104.   echo -e "\nRemaining space: $used $usedunit"
  3105.   echo -e "Tape block size: $blksz"
  3106.   if ! mt -f $TAPEDEV rewind
  3107.   then
  3108.       echo Rewind of $TAPEDEV failed 1>&2
  3109.       exit 1
  3110.   fi
  3111.   exit 0
  3112.   fi
  3113.   printf "%6d          %5d  %20s%20s\n"\
  3114.   $file $blksz "$size $sizeunit" "$used $usedunit"
  3115.   done
  3116.   ______________________________________________________________________
  3117.  
  3118.  
  3119.  
  3120.   <answer from Claus Heine>
  3121.  
  3122.  
  3123.   12.  FAQ: "Tape and Drivers" related questions !
  3124.  
  3125.  
  3126.  
  3127.   12.1.  What are good makers of Travan tapes?
  3128.  
  3129.  
  3130.   I was the UNIX Product Manager at Archive Corp (Prior to the
  3131.   Conner/Seagate mess) and we performed extensive tests of tape media
  3132.   for compatibility certification, including retentivity, flaking and
  3133.   length consistancy.  Based on the results of the tests, we selected
  3134.   the best of these certified manufacturers' products to private label
  3135.   as our own media.  Here is the order in which we selected vendors up
  3136.   through 1995 (when I lost contact with the ATI group):
  3137.  
  3138.  
  3139.      QIC
  3140.  
  3141.         1. 3M (now known as Imation)
  3142.  
  3143.         2. QMaxell/Sony (tie)
  3144.  
  3145.         3. (BTW - Iomega uses Sony private-labelled media)
  3146.  
  3147.      4MM
  3148.  
  3149.         1. Fuji
  3150.  
  3151.         2. Maxell/Sony (tie - is this a trend?)
  3152.  
  3153.      8MM
  3154.  
  3155.         1. Fuji/Exabyte - which we believed to be OEM'd Fuji (tie - so
  3156.            much for trend!)
  3157.  
  3158.         2. Sony
  3159.  
  3160.         3. Maxell
  3161.  
  3162.      DLT
  3163.  
  3164.         1. Maxell
  3165.  
  3166.         2. Sony
  3167.  
  3168.  
  3169.   Otherwise, we had entries in our search from other vendors which were
  3170.   generally a private-labelled version of one of the major labels above.
  3171.   The exceptions were Verbatim and DIC.  Both of these manufacturer's
  3172.   media had fall-out rates and length discrepancies that were so high
  3173.   that we would not certify them and even warned customers about them
  3174.   indicating that we could not offer any sort of guarantee that they
  3175.   would get a good backup using the media from these manufacturers.
  3176.  
  3177.   In addition, since coming to EST, I've found that Verbatim media is
  3178.   still not worth the money saved in purchasing it.  We have 11 of their
  3179.   TR-Extra and QIC-Extra (QICXL) tapes that were useless after fewer
  3180.   than 20 passes each.
  3181.  
  3182.   While this is my personal opinion, it is based on over 9 years of
  3183.   experience with this very question, I strongly recommend Imation/3M
  3184.   media for QIC/Travan user, Fuji media 4MM users, Exabyte/Fuji for 8MM
  3185.   and DEC labelled media for DLT users.
  3186.  
  3187.   <answer from Tim Jones>
  3188.  
  3189.  
  3190.   12.2.  Where can I obtain the QIC standards?
  3191.  
  3192.  
  3193.   If you wish to help developing Ftape, or add some utility (e.g. a tape
  3194.   formatting program), you will need that appropriate QIC standards.
  3195.   The standard(s) to get is: QIC-80, -117, -3010, and 3020.  QIC-117
  3196.   describes how commands are sent to the tape drive (including timing
  3197.   etc), so you would probably never need it.  QIC-80/3010/3020 describes
  3198.   higher level part, such as tape layout, ECC code, standard filesystem.
  3199.   You can get the QIC standards from the following address:
  3200.  
  3201.  
  3202.  
  3203.        Quarter Inch Cartridge Drive Standards, Inc.
  3204.        311 East Carrillo Street
  3205.        Santa Barbara, California 93101
  3206.        Phone: (805) 963-3853
  3207.        Fax:   (805) 962-1541
  3208.  
  3209.  
  3210.  
  3211.  
  3212.   Note: They are registered as `Freeman Associates, Inc' in the phone
  3213.   book.
  3214.  
  3215.   <from the Ftape-Howto>
  3216.  
  3217.  
  3218.   12.3.  Is the Iomega Ditto 2GB drive supported?
  3219.  
  3220.  
  3221.   Yes, if you are using version ftape-3.x or later of the Ftape drivers
  3222.   from the Ftape Home Page or from
  3223.   ftp://sunsite.unc.edu/pub/Linux/kernel/tapes.
  3224.  
  3225.   <answer from Tim Jones>
  3226.  
  3227.   As the Ditto 2GB is a Tr-3 tape (though it can only store 1GB instead
  3228.   of the 1.6GB you get with a regular Tr-3 drive) you need an FDC (FDC
  3229.   means: Floppy Disk Controller) that is capable of at 1Mbit/sec
  3230.   transfer rate. You don't need to worry about this if you have an
  3231.   accellerator card (i.e. the Ditto Dash controller). Otherwise try to
  3232.   purchase an FDC that claims to be capable of driving 2.88Mb floppies
  3233.   because this implies that the FDC is capable of 1Mbit transfer rate.
  3234.  
  3235.   Ftape prints the maximum data rate of the FDC to the kernel log files
  3236.   like this:
  3237.  
  3238.   ftape-ctl.c (ftape_init_drive) - Highest FDC supported data rate: 500 Kbps.
  3239.  
  3240.  
  3241.  
  3242.   <answer from Claus Heine>
  3243.  
  3244.  
  3245.   12.4.  Is the Iomega Ditto Max drive supported?
  3246.  
  3247.  
  3248.   Yes, if you are using version ftape-4.02 or later of the Ftape drivers
  3249.   from the Ftape Home Page or from
  3250.   ftp://sunsite.unc.edu/pub/Linux/kernel/tapes.
  3251.  
  3252.   <answer from Claus Heine>
  3253.  
  3254.  
  3255.   12.5.  Is the Iomega Ditto Max Pro drive supported?
  3256.  
  3257.  
  3258.   Yes. But if you want to use the 5GB (10GB with compression) cartridges
  3259.   you don't need it. With ftape there doesn't seem to be any difference
  3260.   between the Ditto Max and the Ditto Max Pro.
  3261.  
  3262.   <answer from Claus Heine>
  3263.  
  3264.  
  3265.   13.  FAQ: Miscellaneous !
  3266.  
  3267.  
  3268.  
  3269.   13.1.  How to subscribe to the Ftape Mailing List?
  3270.  
  3271.  
  3272.   You can subscribe to that list by sending mail to
  3273.  
  3274.  
  3275.        majordomo@vger.rutgers.edu
  3276.  
  3277.  
  3278.  
  3279.  
  3280.   with the single line
  3281.  
  3282.  
  3283.        subscribe linux-tape
  3284.  
  3285.  
  3286.  
  3287.  
  3288.   in its body. Please store the answer you get from majordomo in a safe
  3289.   place because it contains instructions how to UNSUBSCRIBE from the
  3290.   mailing list.
  3291.  
  3292.   <answer from Claus Heine>
  3293.  
  3294.  
  3295.   13.2.  How to un-subscribe from the Ftape Mailing List?
  3296.  
  3297.  
  3298.   Send mail to
  3299.  
  3300.  
  3301.   majordomo@vger.rutgers.edu
  3302.  
  3303.  
  3304.  
  3305.  
  3306.   with the single line
  3307.  
  3308.  
  3309.        unsubscribe linux-tape MY@EMAIL.ADDRESS
  3310.  
  3311.  
  3312.  
  3313.  
  3314.   where MY@EMAIL.ADDRESS has to be replaced by the the email address
  3315.   that you used when subscribing to the list. Note that you must have
  3316.   received an email with instructions how to unsubscribe from the mail¡
  3317.   ing list at the time you subscribed to it.
  3318.  
  3319.   <answer from Claus Heine>
  3320.  
  3321.  
  3322.   13.3.  Links to related information.
  3323.  
  3324.  
  3325.  
  3326.   <http://www.uwsg.indiana.edu/usai/library/backups.html>
  3327.  
  3328.   More links wanted !!!
  3329.  
  3330.  
  3331.  
  3332.  
  3333.  
  3334.   14.  Debugging the ftape  driver
  3335.  
  3336.  
  3337.  
  3338.  
  3339.   14.1.  The kernel/ ftape  crashes on me when I do `...' - is that a
  3340.   bug?
  3341.  
  3342.  
  3343.   No, that is a feature ;-)
  3344.  
  3345.   Seriously, reliable software do not crash.  Especially kernels do not
  3346.   or rather should not crash.  If the kernel crashes upon you when you
  3347.   are running ftape, and you can show that it is ftape that is messing
  3348.   things up, regard it as a Bug That Should Be Fixed.  Mail the details
  3349.   to the maintainer (<heine@math1.rwth-aachen.de>) and to the tape list.
  3350.  
  3351.  
  3352.  
  3353.   14.2.  OK, it's a bug ...ehhh... feature - How do I submit a report?
  3354.  
  3355.  
  3356.   First, make sure you can reproduce the problem.  Spurious errors are a
  3357.   pain in the ass, since they are just about impossible to hunt down :-/
  3358.   This is a quick check list:
  3359.  
  3360.  
  3361.   ╖  Kernel version, and patches applied
  3362.  
  3363.   ╖  ftape version
  3364.  
  3365.   ╖  tape drive model / manufacturer
  3366.  
  3367.   ╖  Expansion bus type (EISA, ISA, PCI, or VL-bus)
  3368.  
  3369.   ╖  What you did to expose the problem
  3370.  
  3371.   ╖  What went wrong on your system.
  3372.  
  3373.   ╖  Do not delete the kernel and the ftape.o file. I might want you run
  3374.      try some patches out or run a different test on your system.
  3375.  
  3376.   Increase the tracing level to 4 or 5 and run the command that caused
  3377.   problems again (don't do it if your fear that you loose data or damage
  3378.   your hardware, there is absolutely no warranty for neither data loss
  3379.   nor hardware damage caused by ftape, remember this). Increasing the
  3380.   trace level beyond 5 probably doesn't make any sense as it affects the
  3381.   timing of the driver in a way that it doesn't work well any more. Get
  3382.   the tracing data from the kernel log or /proc/kmsg, depending on where
  3383.   you harvest your error messages.  Try to look at what ftape spews out
  3384.   at you.  It may look in-comprehensible to you at first, but you can
  3385.   get valuable information from the logfile.  Most messages have a
  3386.   function name prepended, to make it easier to locate the problem.
  3387.   Look through the source, don't just cry ``WOLF!'', without giving it a
  3388.   try.  If your version of the kernel (or ftape for that matter), is
  3389.   ``old'', when compared to the newest version of the kernel, try to get
  3390.   a newer (or even the newest) kernel and see if the problem goes away
  3391.   under the new kernel.  When you post your problem report, include the
  3392.   information about ftape version, kernel version, expansion bus type
  3393.   (ISA, VL-bus, PCI or EISA), bus speed, floppy controller, and tape
  3394.   drive.  State exactly what you did, and what happened on your system.
  3395.   Some people have experienced that ftape would not run in a PCI based
  3396.   box, but ran flawlessly in a normal ISA based 386DX machine (see
  3397.   section ``Getting PCI motherboards to work with <tt/ftape/'' on PCI
  3398.   machines above)
  3399.  
  3400.   Also, please think of the poor souls who actually pay the their
  3401.   Internet access (like me): avoid posting a (huge) log from the ftape
  3402.   run, without reason.  Instead, you could describe the problem, and
  3403.   offer to send the log to the interested parties.
  3404.  
  3405.   Send your bug report to <linux-tape@vger.rutgers.edu>. You might also
  3406.   want to mail the bug to <heine@math1.rwth-aachen.de>.
  3407.  
  3408.  
  3409.  
  3410.   15.  Contributions
  3411.  
  3412.  
  3413.   The following is a list of notable folks that have contributed to
  3414.   ftape's HOWTO document.  This is a recent addition added by someone
  3415.   coming in midstream.  My sincerest apologies if I've inadvertently
  3416.   left someone important off the list. You can view anoterh attempt to
  3417.   collect such kind of information at Ftape's Hall of Fame
  3418.  
  3419.   Johan De Wit <jo@correct.nl>: The maintainer of the Ftape FAQ.
  3420.  
  3421.   Kevin Johnson <kjj@pobox.com>: The previous maintainer of the Ftape-
  3422.   HOWTO
  3423.  
  3424.   Kai Harrekilde-Petersen <khp@dolphinics.no>: The previous maintainer
  3425.   of ftape and the HOWTO.
  3426.  
  3427.  
  3428.   Andrew Martin <martin@biochemistry.ucl.ac.uk>: Many additions to the
  3429.   HOWTO.
  3430.  
  3431.  
  3432.  
  3433.   Bas Laarhoven <bas@vimec.nl>: The original author of ftape.
  3434.  
  3435.  
  3436.  
  3437.  
  3438.  
  3439.  
  3440.  
  3441.  
  3442.  
  3443.  
  3444.  
  3445.  
  3446.  
  3447.  
  3448.  
  3449.  
  3450.  
  3451.  
  3452.  
  3453.  
  3454.  
  3455.  
  3456.  
  3457.  
  3458.  
  3459.  
  3460.  
  3461.  
  3462.  
  3463.  
  3464.  
  3465.  
  3466.  
  3467.  
  3468.  
  3469.  
  3470.  
  3471.  
  3472.  
  3473.  
  3474.  
  3475.  
  3476.  
  3477.  
  3478.  
  3479.  
  3480.  
  3481.  
  3482.  
  3483.  
  3484.  
  3485.  
  3486.  
  3487.  
  3488.  
  3489.  
  3490.  
  3491.  
  3492.  
  3493.  
  3494.  
  3495.  
  3496.  
  3497.  
  3498.  
  3499.