home *** CD-ROM | disk | FTP | other *** search
/ Freelog Special Edition 1: Linux / CD1.iso / doc / HOWTO / Ftape-HOWTO < prev    next >
Text File  |  1998-10-14  |  53KB  |  1,286 lines

  1.   ftape-HOWTO
  2.   Kevin Johnson, <kjj@pobox.com>
  3.   v2.0, 15 March 1997
  4.  
  5.   This HOWTO discusses essential do's and dont's for the ftape driver
  6.   under Linux.  The ftape driver interfaces to QIC-40, QIC-80, QIC-3010
  7.   and QIC-3020 compatible drives.  The QIC-3010 and QIC-3020 standards
  8.   are also known as `Travan' (TR-2 and TR-3).  These drives connects via
  9.   the floppy disk controller (FDC).  It does not cover SCSI or QIC-02
  10.   tape drives.  DAT tape drives usually (always?) connect to a SCSI con¡
  11.   troller.  This is but one of the Linux HOWTO documents.  You can get
  12.   an index of the HOWTOs from the Linux HOWTO index
  13.   <http://sunsite.unc.edu/mdw/HOWTO>, while the real HOWTO's can be
  14.   fetched (using ftp) from sunsite.unc.edu:pub/Linux/doc/HOWTO (this is
  15.   the ``official'' place) or via the World Wide Web from the Linux Docu¡
  16.   mentation Project home page <http://sunsite.unc.edu/mdw/linux.html>.
  17.  
  18.   1.  Legalese
  19.  
  20.   Linux ftape-HOWTO may be reproduced and distributed in whole or in
  21.   part, subject to the following conditions:
  22.  
  23.        Copyright (c) 1993-1996 by Kai Harrekilde-Petersen
  24.        Email: khp@dolphinics.no
  25.  
  26.        Copyright (c) 1996-1997 by Kevin Johnson
  27.        Email: kjj@pobox.com
  28.  
  29.   Linux ftape-HOWTO is a free document; you may reproduce and/or modify
  30.   it under the terms of version 2 (or, at your option, any later
  31.   version) of the GNU General Public License as published by the Free
  32.   Software Foundation.
  33.  
  34.   This howto is distributed in the hope that it will be useful, but
  35.   WITHOUT ANY WARRANTY; without even the implied warranty of
  36.   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  37.   General Public License for more details.
  38.  
  39.   The author encourages wide distribution of this document for personal
  40.   or commercial use, provided that the above copyright notice remains
  41.   intact and the provisions of the GNU General Public License are
  42.   adhered to.  The summary is that you may copy and distribute this
  43.   document free of charge, or for a profit.  No explicit permission is
  44.   required from the author for reproduction of this document in any
  45.   medium, physical or electronic.
  46.  
  47.   Note that derivative works and translations of this document must be
  48.   placed under the GNU General Public License, and the original
  49.   copyright notice must remain intact.  If you have contributed new
  50.   material to this document, you must make the source code (e.g., SGML
  51.   source) available for your revisions.  Please make revisions and
  52.   updates available directly to the author: Contact kjj@pobox.com via
  53.   Internet e-mail.  This will allow the author to merge updates and
  54.   provide consistent revisions to the Linux community.
  55.  
  56.   The author encourages distributors of Linux software in any medium to
  57.   use the howto as an installation and user guide.  Given the copyright
  58.   above, you are free to print and distribute copies of this document
  59.   with your software.  If doing so, you may wish to include a short
  60.   ``installation supplement'' for your release, or modify the relevant
  61.   sections of this book to reflect your product.
  62.  
  63.   The author would like to know of any plans to publish and distribute
  64.   this howto commercially.  In this way, we can ensure that you are kept
  65.   up-to-date with new revisions.  And, should a new version be right
  66.   around the corner, you might wish to delay your publication of the
  67.   howto until it is available.
  68.  
  69.   If you are distributing this howto commercially, donations, royalties,
  70.   and/or printed copies are greatly appreciated by the author.
  71.   Contributing in this way shows your support for free software and the
  72.   Linux Documentation Project.
  73.  
  74.   If you have questions or comments, please contact the author at
  75.   kjj@pobox.com.
  76.  
  77.   2.  Revision History
  78.  
  79.      version 2.0 (March 15, 1997)
  80.  
  81.      ╖  Updated to ftape v2.11 and v3.xx
  82.  
  83.      ╖  Lots of updates.
  84.  
  85.      version 1.9 (September 20, 1996)
  86.  
  87.      ╖  New maintainers of ftape and the HOWTO.
  88.  
  89.      ╖  A few minor formatting and spelling fixes.
  90.  
  91.      ╖  Updated for Linux v2.0.
  92.  
  93.      ╖  Started to integrate some of Andrew Martin's ftape info.
  94.  
  95.      version 1.8 (May 22, 1996)
  96.  
  97.      ╖  Copyright policy changed to GNU GPL v2
  98.  
  99.      ╖  The maintainer's email address has changed.
  100.  
  101.      ╖  Updated to ftape-2.08
  102.  
  103.      ╖  ftape is now a part of the kernel distribution.
  104.  
  105.      version 1.7.1 (February 13, 1996)
  106.  
  107.      ╖  Updated to ftape-2.06b
  108.  
  109.      version 1.7 (January 28, 1996)
  110.  
  111.      ╖  Updated to ftape-2.06 and modules-1.3.57
  112.  
  113.      version 1.6.2 (January 23, 1996)
  114.  
  115.      ╖  Connor TST3200R drive added
  116.  
  117.      ╖  Updated 2Mbps fdc information.
  118.  
  119.      version 1.6.1 (January 16, 1996)
  120.  
  121.      ╖  minor corrections
  122.  
  123.      version 1.6 (January 10, 1996)
  124.  
  125.      ╖  New maintainer of ftape
  126.  
  127.      ╖  updated to v2.05
  128.  
  129.      ╖  added new drives
  130.  
  131.   3.  The preliminaries
  132.  
  133.   The maintainer of the source for ftape is Claus Heine
  134.   <claus@momo.math.rwth-aachen.de>.  He has a web page at
  135.   http://samuel.math.rwth-aachen.de/~LBFM/claus/ftape/ftape-page.html.
  136.  
  137.   If you have a problem or questions about ftape, try posting to the
  138.   linux.dev.tape newsgroups.  This is a Usenet group that mirrors the
  139.   traffic on the mailing list linux-tape@vger.rutger.edu (see
  140.   ``Following the ftape development'' below).  It is recommended that
  141.   the newsgroup be used in preference to the mailing list, since the
  142.   vger machine is overburdened with the load of the Linux mailing lists.
  143.  
  144.   I use ftape (it is my sole means of backing up on my linux box :-).  I
  145.   hesitate to make recommendations on what hardware to buy.  I use an
  146.   Iomega Ditto Tape Insider 3200 and it seems to work OK for me, but I
  147.   won't even try to tell you not to buy something else.  See the section
  148.   ``Supported drives'' and ``Unsupported drives'' for a list of
  149.   supported and unsupported drives.
  150.  
  151.   You should try to post a summary of your problems and its solution(s),
  152.   after you've got it working, even if you only got it partially
  153.   working. Please also send me (<kjj@pobox.com>) a copy of your solution
  154.   or post it to the linux.dev.tape newsgroup so that I can add it to the
  155.   HOWTO.
  156.  
  157.   I generally read my mail several times a week, I try to respond to
  158.   everyone, but I cannot guarantee that I will respond immediately.  I
  159.   usually read the newsgroups (linux.dev.tape and the kernel list).
  160.  
  161.   If you receive this as part of a printed distribution or on a CD-ROM,
  162.   please check out the Linux Documentation home page
  163.   <http://sunsite.unc.edu/mdw/linux.html> or ftp to
  164.   <ftp://sunsite.unc.edu:/pub/Linux/doc/HOWTO> to see if there exists a
  165.   more recent version.  This could potentially save you a lot of
  166.   trouble.
  167.  
  168.   If you email me, please include the string ftape in the subject line.
  169.   This will help ensure the mail doesn't inadvertently get buried.
  170.  
  171.   3.1.  What is ftape
  172.  
  173.   ftape is a driver program that controls various low-cost tape drives
  174.   that connect to the floppy controller.
  175.  
  176.   ftape is not a backup program as such; it is a device driver, which
  177.   allows you to use the tape drive (just like the SoundBlaster 16 driver
  178.   let you use your sound card) through the device files
  179.   /dev/[n]rft[0-3].
  180.  
  181.   ftape was originally written by Bas Laarhoven <bas@vimec.nl>, with ``a
  182.   little help from his friends'' to sort out the ECC (Error Correcting
  183.   Code) stuff. ftape is copyrighted by Bas under the GNU General Public
  184.   License, which basically says: ``go ahead and share this with the
  185.   world, just don't disallow other people from copying it further''.
  186.  
  187.   ftape is quite stable, and has been that for some time now.  It is
  188.   reliable enough for critical backups (but it's always a good idea to
  189.   check your backups, so you won't get a nasty surprise some day).
  190.  
  191.   ftape supports drives that conform to the QIC-117 and one of the
  192.   QIC-80, QIC-40, QIC-3010, and QIC-3020 standards.
  193.  
  194.   ftape supports neither QIC-02, IDE (ATAPI), nor SCSI tape drives.
  195.   SCSI drives are accessed as /dev/[n]st[0-7] and are supported by the
  196.   kernel through the SCSI drivers.  If you look for help on SCSI tape
  197.   drives, you should read the SCSI-howto.  ATAPI tape drives are
  198.   supported by the kernel since 1.3.46.  See section ``Supported
  199.   drives'' and ``Unsupported drives'' for a list of supported and
  200.   unsupported drives.
  201.  
  202.   4.  Getting and installing ftape
  203.  
  204.   4.1.  Getting ftape
  205.  
  206.   The v2.0.X versions of the kernel have version 2.08 of ftape already.
  207.   I recommend, however, that you grab the latest version of the full
  208.   source code package for ftape. It is a newer version, includes files
  209.   that are not included in the kernel distribution, and includes much
  210.   better documentation about how to install ftape.
  211.  
  212.   Version 2.11a or newer of ftape is available from
  213.   http://samuel.math.rwth-aachen.de/~LBFM/claus/ftape/ftape-page.html.
  214.   At the time of writing this version of the HOWTO document, v3.xx is
  215.   available.  I recommend sticking with v2.xx unless you are ready,
  216.   willing, and able to use a development release with bugs.
  217.  
  218.   4.2.  Installing the driver
  219.  
  220.   The following sections provide some useful information to get you
  221.   going with the installation of v2.11a.
  222.  
  223.   Once you've downloaded the source code (probably ftape-2.11a.tar.gz),
  224.   untar it.  You can do this by determining what directory you want the
  225.   source code to be located in.  I recommend /usr/src/ or ~/src.  When
  226.   the tar file is extracted, it will dump everything into a ftape-2.11a
  227.   subdirectory, so that you'll end up, in the example I've given, with
  228.   something like /usr/src/ftape-2.11a or ~/src/ftape-2.11a.  It is
  229.   possible to drop the entire ftape distribution into the
  230.   /usr/src/linux/drivers/char/ftape directory, but untar the file into a
  231.   location like I've suggested first, read through the documentation,
  232.   then decide how you want to proceed.
  233.  
  234.   Read the README file.  The README is required reading.  It's the top
  235.   of the tree, so to speak.  If there are specific files that the README
  236.   tells you to read then read them.  It will make the process much less
  237.   complicated.
  238.   Do NOT proceed with compiling the package until you have read the
  239.   appropriate README files and the Install-guide.
  240.  
  241.   The README mentions that the linux-tape mailing list.  I recommend
  242.   subscribing to the linux.dev.tape newsgroup instead.  The machine
  243.   serving the mailing list is overburdened.
  244.  
  245.   There are two ways that ftape support can be added to the kernel.
  246.  
  247.   ╖  Compile it directly into the kernel.
  248.  
  249.   ╖  Compile it as a kernel module.
  250.  
  251.   Of these two methods, the first has fewer potential problems.  The
  252.   second has the benefit of only consuming memory while the driver is
  253.   loaded.  The original author of ftape (Bas Laarhoven) has pointed out
  254.   that ftape was not originally designed to be used with modules.
  255.  
  256.   I compile ftape directly into the kernel on my computer.  In general,
  257.   fewer difficulties or complications are reported when it is done this
  258.   way.  A good rule of thumb is to compile it into the kernel unless you
  259.   both have a good reason not to and are willing to accept any of the
  260.   complications that can arise from doing otherwise.  If you do compile
  261.   it into the kernel, please keep in mind that you cannot use zftape
  262.   instead of ftape because the two use the same major device number.
  263.  
  264.   If you are compiling the driver directly into the kernel, you can
  265.   generally ignore the instructions regarding modules.
  266.  
  267.   If you have a v1.2 kernel, you should use the modules-1.3.57 package,
  268.   not the modules-1.2.8 package (Bj°rn Ekwall, maintainer of the modules
  269.   package, encourages this).
  270.  
  271.   If you are using v1.3.x of the kernel, you should consider moving to
  272.   v2.0.x.  v1.3.x was the development release prior to the production
  273.   release v2.0.x.
  274.  
  275.   4.3.  Following the development of the ftape driver
  276.  
  277.   If you want to follow the development of the ftape driver, you should
  278.   read the Usenet newsgroup linux.dev.tape.  This is really gatewayed
  279.   from the mailing list linux-tape@vger.rutgers.edu, but since vger is
  280.   brought to it's knees due to the load of the various Linux mailing
  281.   lists, I recommend everyone to read the newsgroup instead.
  282.  
  283.   If you are unable to read news, you can subscribe to the TAPE mailing
  284.   list by sending a mail saying `subscribe linux-tape' (in the body) to
  285.   majordomo@vger.rutgers.edu.  When you subscribe, you will be sent a
  286.   greeting mail, which will tell you how to submit real mails and how to
  287.   get off the list again.
  288.  
  289.   Please note that I do not, repeat DO NOT, have any special powers with
  290.   regard to this mailing list.  If you're stuck on the list, don't
  291.   bother to tell me that.  I can only shrug and send you my sympathy
  292.   (but that won't get you off the list).
  293.  
  294.   4.4.  Mixing ftape and floppies
  295.  
  296.   Since both the floppy driver and ftape needs the FDC (and IRQ6), they
  297.   cannot run concurrently.  Thus, if you have mounted a floppy and then
  298.   try to access the tape drive, ftape will complain that it cannot grab
  299.   IRQ6 and then die.  This is especially a problem when designing a
  300.   emergency disk for use with ftape.  This solution is to either load
  301.   the boot/root disk into a ramdisk and then unmount the floppy, or have
  302.   two floppy drive controllers.
  303.  
  304.   5.  The Care and Feeding of Tape and Tape Drives
  305.  
  306.   5.1.  Formatting
  307.  
  308.   Before a tape can be used, it must be formatted.  The formatting
  309.   process lays out sector information onto the tape.  Other tape
  310.   interfaces don't typically require formatting.  The reason floppy
  311.   tapes do is that they need to look like a floppy (kinda gross, but
  312.   what the hey - it works :-).
  313.  
  314.   5.1.1.  Can I format my tapes under Linux?
  315.  
  316.   Not yet, but it's being worked on.
  317.  
  318.   Until formatting becomes available under Linux, you'll have to use
  319.   MessyDOS (arghhh!)  instead or buy preformatted tapes.  However, some
  320.   of the preformatted tapes are not checked for bad sectors!.  If the
  321.   ftape driver encounters a tape with no bad blocks, it will issue a
  322.   warning.  If ftape barfs at your preformatted tapes, try out your DOS
  323.   software.  If both the DOS software and ftape barfs on your tapes, a
  324.   reformat will very probably cure the problem.
  325.  
  326.   Note that to be able to use your newly formatted tapes under ftape,
  327.   you must erase the tape first:
  328.  
  329.                # mt -f /dev/nftape erase
  330.  
  331.   5.1.2.  Which formatting programs can I use under DOS?
  332.  
  333.   The following are known to work:
  334.  
  335.   ╖  Colorado Memory System's software (tape.exe)
  336.  
  337.   ╖  Conner Backup Basics v1.1 and all Windows versions
  338.  
  339.   ╖  Norton Backup
  340.  
  341.   ╖  QICstream version 2
  342.  
  343.   ╖  Tallgrass FileSecure v1.52
  344.  
  345.   ╖  Escom Powerstream 3.0 (qs3.exe -- QICstream v3?)
  346.  
  347.   These programs are known to be more or less buggy:
  348.  
  349.   ╖  Conner Backup Basics 1.0
  350.  
  351.   ╖  Colorado Windows tape program
  352.  
  353.   ╖  CP Backup (wastes tape space, but is OK apart from that)
  354.  
  355.   As a general rule, most software under DOS should work.  The Conner
  356.   Backup Basics v1.0 has a parameter off by one (someone could not read
  357.   the QIC-80 specs right!), which is corrected in version 1.1.  However,
  358.   ftape detects this, and will work around it.  Dennis T. Flaherty
  359.   (<dennisf@denix.elk.miles.com>) report that Conner C250MQ owners can
  360.   obtain the new v1.1, by calling Conner at 1-800-4Conner (in the US)
  361.   and ask for an upgrade (for a nominal fee for the floppy).  The
  362.   Windows versions should work fine.  Some versions of Colorado's tape
  363.   program for windows, has an off-by-one error in the number of
  364.   segments. ftape also detect and work around that bug.
  365.  
  366.   Central Point Backup can be used, but it wastes precious tape space
  367.   when it encounters a bad spot on the tape.
  368.  
  369.   NOTE: If you are running a formatting software under DOS, which is not
  370.   mentioned here, please mail the relevant info to me (<kjj@pobox.com>),
  371.   so I can update the list.
  372.  
  373.   5.2.  Retensioning
  374.  
  375.   QIC tapes are particularly sensitive to tape stretch.  The reason is
  376.   that floppy tapes are pre-formatted with sector information, whereas
  377.   other tape types have their sync information written as the data is
  378.   written to the tape.  If the floppy tape stretches and the sync fields
  379.   get out of sync the result will be read errors.  The problem is worse
  380.   with longer tapes.
  381.  
  382.   It is a good idea to retension new tapes a few times before using them
  383.   and before formatting them.  You should also try retensioning the tape
  384.   if you are start getting read errors.  It might also be a good idea
  385.   retension the tape before a backup.
  386.  
  387.   5.3.  Drive Cleaning
  388.  
  389.   The coating on the tape is an oxide compound.  As the tape is dragged
  390.   across the tape head it has a tendency to leave tiny amounts of
  391.   residue on the head.  You should periodically use a tape cleaner -
  392.   following the specs for the drive in question.  Tape cleaners should
  393.   be available from any distributer of tapes.
  394.  
  395.   One more additional note about tape cleaning.  You might want to clean
  396.   the drive after the first use of a brand new tape.  A brand new tape
  397.   will typically leave quite a bit of residue the first time it's used.
  398.  
  399.   Thanks to Neal Friedman for the explanation and suggestion that this
  400.   information be included in the HOWTO.
  401.   6.  Hardware support
  402.  
  403.   6.1.  Supported tape drives
  404.  
  405.   All drives that are both QIC-117 compatible and one of the QIC-40, 80,
  406.   3010, and 3020 standards should work.  QIC-WIDE and Travan drives are
  407.   also supported (TR-1 is just QIC-80 with 8mm tapes, while TR-2 and
  408.   TR-3 is a.k.a QIC-3010 and 3020 respectively).
  409.  
  410.   Currently, the list of drives that are known to work with ftape is:
  411.  
  412.      Alloy Retriever 250
  413.  
  414.      Archive 5580i, XL9250i
  415.  
  416.      Colorado DJ-10, DJ-20 (aka: Jumbo 120, Jumbo 250)
  417.  
  418.      Colorado 1400
  419.         <kosowsky@bellini.harvard.edu> reported a problem doing a 1G
  420.         backup using taper.
  421.  
  422.      HP Colorado T1000
  423.         Works with 3M Travan 400M (TR-1) tapes with 120M tapes.  Also
  424.         reported that mt dies, but with backups using tar it works ok.
  425.         With cpio, ftape is recommended rather than zftape.
  426.         (<millner@millner.bevc.blacksburg.va.us>)
  427.  
  428.         Problems have been reported with the drive continually stopping
  429.         and starting with zftape (<75104.1756@compuserve.com>).  This
  430.         appears to be a problem with the tape going too fast for the
  431.         computer; the DMA buffers are getting flushed beforee getting
  432.         filled again.  Newer versions of zftape don't do this any more
  433.         is a suitably fast backup program or large DMA buffers are used
  434.         (<millner@millner.bevc.blacksburg.va.us>).
  435.  
  436.      Conner C250MQ(T)
  437.         The 250Q is reported to generate write error and frequent
  438.         repositioning. (Frank Stuess at Nacamar Data Communications)
  439.  
  440.      Conner TSM420R, TSM850R
  441.         The 400 and 800 models only work with TR-1 tapes.
  442.  
  443.      Conner TST3200R
  444.         Works with TR-3 tapes at 1Mbps (ie. 1600M capacity only).  Wirks
  445.         with QIC-WIDE 400M tapes (Sony 5122's?)  (<chris@cs.wmich.edu>).
  446.         Works with TR3, QIC-3010, and QIC-3020 tapes.  Comes with a 2MB
  447.         FDC which the Promise 2300+ 1Mbps controller works
  448.         (<kjh@pollux.usc.edu>).  Works with ftape 2.05; NOTE: ftape
  449.         2.03, 2.04, and zftape 1.03 don't work.  Booting problems
  450.         reported with ftape-2.06 and QIC-3020 with the CTC-2MB
  451.         controller (<merkel@def.gmpt.gmeds.com).
  452.  
  453.         Supposedly works fine with ftape 2.06 using a fast controller to
  454.         support QIC-3020.  Reported that the floppy disk can no longer
  455.         read low-density floppies.  May have to fiddle with
  456.         IRQ/ports/dms channels (<chris@yakkocs.wmich.edu>).
  457.  
  458.      Conner TST800R
  459.         The TST800R works with TR-1, Sony QW5122F (210M) and DC2120
  460.         tapes.  Reported to work with ftape 2.02e (not 2.03b).  It works
  461.         with ftape 2.05 (<khp@pip.dknet.dk>).  Requires the length
  462.         patch.  Reported that you may need to nodify the Makefile to
  463.         ensure ftape talks to the PRIMARY floppy drive controller
  464.         (>jzc@primenet.com>).  Also, a "Timer expired" error reported
  465.         (using TR-1 tapes with ftape 2.05-2.07) (<les@amc.uva.nl>).
  466.  
  467.      Conner CTT3200
  468.  
  469.         The CTT3200 is supposedly identical to the Iomega Ditto 3200.
  470.         It works with the supplised 2Mbps controller (but at 1Mbps), but
  471.         reported not to work under DOS on some machines.
  472.         (<jmorris@dtx.net>)
  473.  
  474.      Conner 1.7G Tapestor (TSM1700R)
  475.  
  476.         Works with QIC-WIDE tapes (<pschmidt@slip.net>).  Partially
  477.         works with QIS-3200.  Using the HSC-2 controller, the DMA
  478.         channel needs to be changed (incremented by 1, channel2?, Modify
  479.         the Makefile).  You then need to modify the ftape Makefile to
  480.         reflect this change.  However, ftape seems to be a bit flaky
  481.         with this (no version number supplied) (<ttait@tiac.net>).  It
  482.         may not work at 2Mbps (QIC-3020) with the HSC controller.  The
  483.         tape died with a messages like "dumb tape stop" and has since
  484.         been unreliable (<ttait@tiac.net>).
  485.  
  486.      Escom or Archive (Hornet) 31250Q
  487.  
  488.      Exabyte EXB-1500
  489.         Work with QIC-3010 tapes.  Requires the length patch.
  490.  
  491.      Exabyte TR-3
  492.  
  493.      Irwin 80SX, Insight 80Mb
  494.  
  495.      Iomega 250
  496.  
  497.      Iomega Ditto Tape Insider 420, 1700
  498.  
  499.      Iomega Ditto Tape Insider 3200
  500.         This is the unit, that I use.  The default jumper settings don't
  501.         work.  Leave the irq and ioport address at the default (6 and
  502.         0x370, respectfully), but change the DMA from 3 to 2.
  503.  
  504.         May require the having {0x08882, 80, wake_up_colorado, "Iomega
  505.         3200"}, added to vendors.h on older versions of ftape.
  506.  
  507.         Problems reported with ftape 2.07 and kernel 1.12.13.  With all
  508.         sorts of combinations of accelerator, etc, the drive may (on
  509.         some systems) only be accessed once (<erwin@box.nl>).  Also,
  510.         after the first access, the next use of the tape says it is
  511.         write protected (<erwin@box.nl>,
  512.         <M.J.Ammerlaan@dutiwy.twi.tudelft.nl>).
  513.         There has been one report of a problem where the tape got wound
  514.         off the end of the spool.
  515.  
  516.         Another problem has been reported with writing archives (with
  517.         dd) to the tape.  It may start fine, but when the driver catches
  518.         up with dd, it stops the tape and rewinds it to the beginning.
  519.         Then it starts winding on through the tape ad infinitum.  It
  520.         appears to occur when the driver asks the tape to pause which
  521.         should cause the tape to move back by 3 segments, but instead is
  522.         moves back to the beginning of the tape.  A bug fix submitted is
  523.         reported to not solve the solve the problem.
  524.  
  525.      Iomega Ditto 800 Insider
  526.         Work with Travan TR1, TR2, or DC2120 tapes
  527.         (<klein@informatik.uni-rostock.de>).  Requires the length patch.
  528.  
  529.      Mountain FS8000
  530.  
  531.      Reveal TB1400
  532.  
  533.         Reported not to work with kernel 1.3.79 and ftape (no version
  534.         given) or with kernel 1.2.13 and zftape 1.04
  535.         (<colin@colina.demon.co.uk>).
  536.  
  537.      Summit SE 150, SE 250
  538.  
  539.      Tallgrass FS300
  540.         If you have a Tallgrass FS300 and an AHA1542B, you need to
  541.         increase the bus-on / bus-off time of the 1542B.  Antti Virjo
  542.         (<klanvi@uta.fi>), says that changing CMD_BUSON_TIME to 4 and
  543.         CMD_BUSOFF_CMD to 12 in linux/drivers/scsi/aha1542.c will do the
  544.         trick.
  545.  
  546.      Teac 800
  547.  
  548.      Memorex tape drive backup system
  549.  
  550.      Wangtek 3040F, 3080F
  551.  
  552.   You can always check out the newest list of drives that are recognized
  553.   by ftape, by looking in the file vendors.h in the ftape distribution.
  554.  
  555.   Although I do not want to endorse one drive type over another, it has
  556.   been reported that the Colorado DJ-20 drive is rather noisy, when
  557.   compared to, say, a Conner C250MQ drive ('tis said that the Colorado
  558.   is 5-10 times as noisy as the Conner drive. Since I have neither, I
  559.   can't tell for sure).
  560.  
  561.   NOTE: If you have a drive that works fine, but it is not listed here,
  562.   or if you have corrections to the above information, please send a
  563.   mail to the HOWTO maintainer (<kjj@pobox.com>).
  564.  
  565.   6.2.  Supported special controllers
  566.  
  567.   These dedicated high-speed tape controllers are supported by ftape:
  568.  
  569.   ╖  Colorado FC-10, FC-20
  570.  
  571.   ╖  Mountain MACH-2
  572.  
  573.   ╖  Iomega Tape Accelerator II
  574.  
  575.   ╖  2Mbps controllers (using the i82078-1 fdc)
  576.  
  577.   Support for the FC-10 controller has been merged into the ftape driver
  578.   in version 1.12. See the RELEASE-NOTES and the Makefile files in the
  579.   ftape distribution.  Since of version 2.03 of ftape, the FC-20
  580.   controller will work (but do check the Release notes!).
  581.  
  582.   The support for the MACH-2 controller was added in ftape-1.14d.
  583.  
  584.   To use the Iomega Tape Accelerator II, use -DMACH2, and set the right
  585.   settings for I/O base, IRQ and DMA.  This works (by the empirical
  586.   testing of Scott Bailey <sbailey@xcc.mc.xerox.com>), with at least
  587.   ftape-2.02.
  588.  
  589.   6.2.1.  Iomega Ditto Dash and other 2Mbps controllers
  590.  
  591.   The Iomega Ditto Dash, and all other known 2Mbps controllers, use the
  592.   Intel 82078-1 chip, which can run at 2Mbps.  Support for the 82078-1
  593.   is currently under development.  It is hoped that the support will be
  594.   completed during January or February.
  595.  
  596.   Current status is that it will work at 1Mbps, with 2Mbps support
  597.   coming soon (I hope!).
  598.  
  599.   6.3.  Unsupported tape drives
  600.  
  601.   ╖  All drives that connect to the parallel port (eg: Colorado Trakker)
  602.  
  603.   ╖  Irwin AX250L / Accutrak 250. (not a QIC-80 drive)
  604.  
  605.   ╖  IBM Internal Tape Backup Unit (identical to the Irwin AX250L drive)
  606.  
  607.   ╖  COREtape light
  608.  
  609.   Generally, ALL drives that connect to the parallel port are NOT
  610.   supported.  This is because these drives uses (different) proprietary
  611.   interfaces, that are very much different from the QIC-117 standard.
  612.  
  613.   The Irwin AX250L (and the IBM Internal Tape Backup Unit) does not work
  614.   the ftape.  This is because they only support QIC-117, but not the
  615.   QIC-80 standard (they use Irwin's proprietary ``servoe (Rhomat)''
  616.   format).  I know nothing about the Rhomat format, nor where to get any
  617.   info on it.  Sorry.
  618.  
  619.   The COREtape light does not accept the initialisation commands, we're
  620.   feeding it. This pretty much leaves the drive unusable.
  621.  
  622.   The Iomega 2GB Ditto drive does not work with ftape.  That particular
  623.   tape uses a proprietary format that the Claus has not been able to get
  624.   information on.
  625.  
  626.   6.4.  Using an external tape drive with ftape
  627.  
  628.   If you have a floppy controller which has a female DB37 connector on
  629.   the bracket (and some means of delivering power to the drive), you can
  630.   use it with ftape.  OK, that sentence was not very obvious. Let's try
  631.   it this way: Some FDC's (the very ancient one's), have a DB37
  632.   connector on the bracket, for connecting to external floppy drives.
  633.  
  634.   If you make a suitable cable from the DB37 connector (on the FDC) to
  635.   your external tape drive, you can get ftape to control your tape
  636.   drive.
  637.  
  638.   This is because that from a program's view there is no difference
  639.   between the internal and the external connectors. So, from ftape's
  640.   point of view, they are identical.
  641.  
  642.   ╖  Pins 20-37: GROUND
  643.  
  644.   ╖  1: +12 Volt (POWER)
  645.  
  646.   ╖  2: +12 Volt return (GROUND)
  647.  
  648.   ╖  3: +5 Volt return (GROUND)
  649.  
  650.   ╖  4: +5 Volt (POWER)
  651.  
  652.   ╖  5: 2
  653.  
  654.   ╖  6: 8
  655.  
  656.   ╖  7: 10
  657.  
  658.   ╖  8: 12
  659.  
  660.   ╖  9: 14
  661.  
  662.   ╖  10: 16
  663.  
  664.   ╖  11: 18
  665.  
  666.   ╖  12: 20
  667.  
  668.   ╖  13: 22
  669.  
  670.   ╖  14: 24
  671.  
  672.   ╖  15: 26
  673.  
  674.   ╖  16: 28
  675.  
  676.   ╖  17: 30
  677.  
  678.   ╖  18: 32
  679.  
  680.   ╖  19: 34
  681.  
  682.   The power connector is of the "mini" type, sitting on 3.5" floppy
  683.   drives.  The idea appears to be that you plug one of the power
  684.   connectors from the PSU to this connector on the board.  If you want
  685.   to use just a single cable, you might want to get a 50 wire cable, and
  686.   use multiple wires for the power lines (and ground, for that matter).
  687.  
  688.   I have received no confirmation from anyone that this works.  Let me
  689.   know your results if you try it.
  690.  
  691.   6.5.  PCI motherboards and ftape
  692.  
  693.   Unfortunately, some PCI motherboards cause problems when running
  694.   ftape.  Some people have experienced that ftape would not run in a PCI
  695.   based box, but ran flawlessly in a normal ISA based 386DX machine.  If
  696.   you have such a problem, please read the README.PCI file in the ftape
  697.   distribution.
  698.  
  699.   7.  Backing up and restoring data
  700.  
  701.   This section describes some simple uses of tar and mt.
  702.  
  703.   7.1.  Writing an archive to a tape
  704.  
  705.   You can use `tar', `dd', `cpio', and `afio'. You will need to use `mt'
  706.   to get the full potential of your tapes and the ftape driver.  For a
  707.   start I'd recommend using `tar', as it can archive lots of directories
  708.   and let you pick out separate files from an archive.  cpio creates
  709.   smaller archives and is more generally more flexible than tar, but is
  710.   missing some features like volume labels.  `afio' creates backups
  711.   where each file is compressed individually and then concatenated.
  712.   This will allow you to access the files ``after'' the point of the
  713.   error.  If you use gzipped tar files, all data after the point of the
  714.   error is lost! (to me, this is a pretty good reason for NOT using
  715.   compression on backups).  The choice of which is most appropriate
  716.   depends on the situation and the features and malfeatures of each of
  717.   the packages.  I recommend taking a look at each package at reviewing
  718.   the options that each provides.  It's possible that this HOWTO may
  719.   provide more detail on this subject at some point in the future.
  720.  
  721.   To make a backup of your kernel source tree using tar, do this
  722.   (assuming you have the sources in /usr/src/linux):
  723.  
  724.                # cd /usr/src
  725.                # tar cf /dev/ftape linux
  726.  
  727.   This will not compress the files, but gives you a smoother tape run.
  728.   If you want the compression (and you've got tar 1.11.2), you just
  729.   include the -z flag(*), eg: `tar czf /dev/ftape linux'
  730.  
  731.   For further instructions on how to use tar, dd and mt look at the man
  732.   pages and the texinfo files that comes with the respective
  733.   distributions.
  734.  
  735.   (*) tar assumes that the first argument is options, so the `-' is not
  736.   necessary, i.e. these two commands are the same: `tar xzf /dev/ftape'
  737.   and `tar -xzf /dev/ftape'
  738.  
  739.   7.2.  Restoring an archive
  740.  
  741.   OK, let us restore the backup of the kernel source you made in section
  742.   ``Writing an archive to a tape'' above.  To do this you simply say
  743.  
  744.                tar xf /dev/ftape
  745.  
  746.   If you used compression, you will have to say
  747.  
  748.                tar xzf /dev/ftape
  749.  
  750.   When you use compression, gzip will complain about trailing garbage
  751.   after the very end of the archive (and this will lead to a `broken
  752.   pipe' message).  This can be safely ignored.
  753.  
  754.   For the other utilities, please read the man page.
  755.  
  756.   7.3.  Testing the archive
  757.  
  758.   tar has an option (-d) for detecting differences between two archives.
  759.   To test your backup of the kernel source say
  760.  
  761.                tar df /dev/ftape
  762.  
  763.   If you do not have the man page for tar, you are not lost (yet); tar
  764.   has a built-in option list: try `tar --help 2>&1 | less'
  765.  
  766.   7.4.  Putting more than one backup on a tape
  767.  
  768.   To put more than one backup on a tape you must have the mt utility.
  769.   You will probably have it already, if you got one of the mainline
  770.   distributions (eg. Slackware or Debian).
  771.  
  772.   Programs like tar and cpio generate a single Tape ARchive and know
  773.   nothing about multiple files or positioning of a tape, it just reads
  774.   or writes from/to a device. mt knows everything about moving the tape
  775.   back and forth, but nothing about reading the data off the tape.  As
  776.   you might have guessed, combining tar or cpio with mt does the trick.
  777.   By using the nrft[0-3] (nftape) device, you can use `mt' to position
  778.   the tape the correct place (`mt -f /dev/nftape fsf 2' means step over
  779.   two ``file marks'', i.e.  tar files) and then use tar or cpio to read
  780.   or write the relevant data.
  781.  
  782.   The most common use of the non-rewinding device is to append another
  783.   backup to an existing tape.  Here are the specific steps with a little
  784.   explanation thrown in for good measure.
  785.  
  786.   ╖  Insert a tape into the drive.  On some devices this may cause the
  787.      tape to be rewound.
  788.  
  789.   ╖  Issue an End-of-Tape command to the NON-rewinding device.
  790.  
  791.                mt -f /dev/n???? eof
  792.  
  793.   The tape should now be positioned at the End-of-Tape (EOT), which is
  794.   actually between to End-of-File (EOF) marks.  The tape won't move
  795.   unless a program opens the device, closes the rewinding device,
  796.   removes the device driver from kernel memory (rmmod) or ejects the
  797.   tape.  Using `mt eof' may be faster on QIC tapes.
  798.  
  799.   ╖  The next tape operation will start at the End-of-Tape (EOF) mark.
  800.      If you perform a write, it will append a new `file'.  If you
  801.      perform a read it will fail with EOF.  The EOT mark on mast tape
  802.      formats is actually two consecutive EOF marks.  When appending to a
  803.      tape the second EOF mark is overwritten with new data, leaving a
  804.      normal EOF.  If the second EOF is present, it is interpreted as a
  805.      logical EOF.  Writing the EOF marks is handled by either the device
  806.      driver or the hardware when a close() is performed.
  807.  
  808.   ╖  Here's where you write the actual data to the tape.
  809.  
  810.   ╖  Here's the important part. Now rewind the tape.  Both ftape and
  811.      zftape cache some information that belongs in the header segments
  812.      on the tape and update those header segments only when the tape is
  813.      rewound.  This caching is necessary because rewinding the tape and
  814.      updating the header segments takes a conspicious amount of time.
  815.      The drawback of this caching is that you will lose information if
  816.      you have written to the tape and not rewound the device.
  817.  
  818.   7.5.  Appending files to an archive
  819.  
  820.   ``Is there a way to extend an archive -- put a file on the tape, then
  821.   later, add more to the tape?''
  822.  
  823.   No. The tar documentation will tell you to use `tar -Ar', but it does
  824.   not work.  This is a limitation of the current ftape driver.
  825.  
  826.   7.6.  Mount/unmounting tapes
  827.  
  828.   Since a tape does not have a ``filesystem'' on it, you do not mount /
  829.   unmount the tape.  To backup, you just insert the tape and run your
  830.   `tar' command (or whatever you use to access the tape with).
  831.  
  832.   8.  Creating an emergency boot floppy for ftape
  833.  
  834.   This section was written by Claus T°ndering <ct@login.dknet.dk>.
  835.  
  836.   Once you are the happy owner of a tape drive and several tapes full of
  837.   backups, you will probably ask yourself this question: ``If everything
  838.   goes wrong, and I completely lose my hard disk, how do I restore my
  839.   files from tape?''
  840.  
  841.   What you need is an emergency floppy disk that contains enough files
  842.   to enable you to boot Linux and restore your hard disk from tape.
  843.  
  844.   The first thing you should do is to read ``The Linux Bootdisk HOWTO''
  845.   written by Graham Chapman <grahamc@zeta.org.au>.  That document tells
  846.   you almost everything you need to know about making an emergency
  847.   floppy boot kit.  The paragraphs below contain a few extra pieces of
  848.   information that will make your life a bit easier when you follow
  849.   Graham Chapman's procedures:
  850.  
  851.   ╖  You don't really need /etc/init, /etc/inittab, /etc/getty, and
  852.      /etc/rc.d/* on your floppy disk.  If Linux doesn't find /etc/init,
  853.      it will start /bin/sh on your console, which is fine for restoring
  854.      your system.  Deleting these files gives you extra space on your
  855.      floppy, which you will probably need.
  856.  
  857.   ╖  Find a small version of /bin/sh.  They are frequently available on
  858.      the boot floppies that come with a Linux distribution.  This again
  859.      will give you extra space.  I'd suggest ash, which is extremely
  860.      small (approx 62Kbytes), and yet very bash compatible.
  861.  
  862.   ╖  The /etc/fstab you include on your floppy disk should look
  863.      something like this:
  864.  
  865.                /dev/fd0        /               minix   defaults
  866.                none            /proc           proc    defaults
  867.                /dev/hda        /mnt            ext2    defaults
  868.  
  869.   Once you have booted from your floppy, give the command:
  870.  
  871.                mount -av
  872.  
  873.   ╖  Make sure your floppy drive is not mounted when you access the
  874.      streamer tape!  Otherwise you may get the following error message:
  875.  
  876.           Unable to grab IRQ6 for ftape driver
  877.  
  878.   This means that you MUST load the floppy into a RAMDISK.
  879.  
  880.   This has the unfortunate consequence that the programs needed to
  881.   restore the files from the tape can not be located on a separate
  882.   floppy disk.  You have two options here:
  883.  
  884.      1. You place tar (or cpio or afio or whatever other backup program
  885.         you use) on your root floppy disk.  (This is where you'll need
  886.         all the extra space created in the steps above.)
  887.  
  888.      2. Before you start restoring from tape, copy tar (or cpio or afio
  889.         or whatever) to your hard disk and load it from there.
  890.  
  891.   ╖  Apart from your backup program, you will probably need mt on your
  892.      root floppy as well.
  893.  
  894.   ╖  Make sure your ftape device (typically /dev/nrft0) is present on
  895.      your boot floppy.
  896.  
  897.   ╖  Finally: TRY IT OUT! Of course, I don't recommend that you destroy
  898.      your hard disk contents to see if you are able to restore
  899.      everything.  What I do recommend, however, is that you try booting
  900.      from your emergency disks and make sure that you can at least make
  901.      a file listing of the contents of your backup tape.
  902.  
  903.   9.  Frequently Asked Questions
  904.  
  905.   This is a collection of questions that get asked once in a while,
  906.   which could fall into the category of FAQ's.  If you feel that there
  907.   is some question that ought to be added to the list, please feel free
  908.   to mail me (but do include an answer, thanks!).
  909.  
  910.   9.1.  Does ftape support the Iomega 2GB tape drive?
  911.  
  912.   Sorry, no, it doesn't.  Iomega uses a proprietary data format on their
  913.   unable to get the necessary information to include support from the
  914.   vendor.
  915.  
  916.   9.2.  How fast is ftape?
  917.  
  918.   You can achieve quite respectable backup and restore speeds with
  919.   ftape: a Colorado DJ-20 and an Adaptec 1542CF controller, has been
  920.   measured at 4.25Mbyte/min sustained data transfer rate (no
  921.   compression) across a 70Mbyte tar archive, while comparing the archive
  922.   on the tape with data on an IDE disk.  The speed of ftape is mostly
  923.   dependent on the data transfer rate of your FDC: The AHA1542CF has a
  924.   ``post-1991 82077'' FDC, and it will push 1Mbit/sec at the tape drive.
  925.   If you have an FDC which can only deliver 500Kbit/sec data rates, you
  926.   will see half the transfer rate (well, roughly).
  927.   9.3.  How do I change the trace-level?
  928.  
  929.   There are three ways you can do this (in order of personal
  930.   preference).
  931.  
  932.   While we're at it, here are the meanings of the various trace levels.
  933.  
  934.   ╖  0 Bugs
  935.  
  936.   ╖  1 + Errors
  937.  
  938.   ╖  2 + Warnings
  939.  
  940.   ╖  3 + Information
  941.  
  942.   ╖  4 + More information
  943.  
  944.   ╖  5 + Program flow
  945.  
  946.   ╖  6 + FDC/DMA info
  947.  
  948.   ╖  7 + Data flow
  949.  
  950.   ╖  8 + Everything else
  951.  
  952.   9.3.1.  Using insmod to change trace-level
  953.  
  954.   If you are using the modules mechanism to load the ftape driver, you
  955.   can specify the tracing level as an option to the insmod command.
  956.  
  957.                /sbin/insmod ftape.o tracing=<tracing-level>
  958.  
  959.   9.3.2.  Using mt to change trace-level
  960.  
  961.   The ftape driver has a hack in it that allows the fsr option in mt to
  962.   be used to set the tracing level.  zftape does not have this hack.
  963.  
  964.                mt -f /dev/ftape fsr <tracing-level>
  965.  
  966.   The use of the fsr command in mt is a hack, and will probably
  967.   disappear or change with time.
  968.  
  969.   9.3.3.  Recompiling to change trace-level
  970.  
  971.   The file tracing.c contains a line int tracing = 3;.  Change the 3 to
  972.   whatever is appropriate and recompile.
  973.  
  974.   9.4.  Can I exchange tapes with someone using DOS?
  975.  
  976.   No.  The DOS software conforms to the QIC-80 specs about the layout of
  977.   the DOS filesystem, and it should(?)  be a small problem to write a
  978.   program that can read/write the DOS format.  In fact, I'd bet that
  979.   creating a nice user interface would be a bigger problem.
  980.  
  981.   9.5.  How do I `....' with tar?
  982.  
  983.   These are really tar questions: Please read the man page and the info
  984.   page.  If you have not got it either, try `tar --help 2>&1 | less'.
  985.  
  986.   If your version of tar is v1.11.1 or earlier, consider upgrading to
  987.   v1.11.8 - This version can call GNU zip directly (i.e.: it supports
  988.   the -z option) and has an elaborate help included.  Also, it compiles
  989.   right out of the box on Linux.
  990.  
  991.   9.6.  ftape DMA transfers gives ECC errors
  992.  
  993.   Sadly to say there are some SVGA cards and Ethernet cards that do not
  994.   decode their addresses correct.  This typically happens when the ftape
  995.   buffers are in the range 0x1a0000 to 0x1c0000.  Somehow, the DMA write
  996.   cycles get clobbered and every other byte written gets a bad value
  997.   (0xff).  These problems are reported to happen with both SVGA and
  998.   Ethernet cards.  We know of at least one (bad?) ATI 16bit VGA card
  999.   that caused this.
  1000.  
  1001.   The easiest solution is to put the card in an 8bit slot (it is often
  1002.   not enough to reconfigure the card to 8bit transfers).  Moving the
  1003.   ftape buffer away from the VGA range is only a partial solution; All
  1004.   DMA buffers used in Linux can have this problem!  Let us make this one
  1005.   clear: This has nothing to do with the ftape software.
  1006.  
  1007.   9.7.  insmod says the kernel version is wrong
  1008.  
  1009.   The insmod program can check the kernel version against the version
  1010.   that ftape was compiled for in two ways: It can directly compare the
  1011.   kernel version number recorded in the ftape module against the version
  1012.   of the running kernel, or, if both the kernel and ftape is compiled
  1013.   with versioned symbols, compare the version of the used kernel
  1014.   symbols.
  1015.  
  1016.   If you have upgraded your version of GCC to v2.7.0 or later, you must
  1017.   recompile the modules utilities with gcc v2.7.x.
  1018.  
  1019.   Newer versions of insmod allows you to ``force'' insertion of a module
  1020.   into the kernel, even though the version string is incorrect.
  1021.  
  1022.   9.8.  What is this versioned symbols stuff anyway?
  1023.  
  1024.   When you say `yes' to CONFIG_MODVERSIONS during `make config', all the
  1025.   symbols exported by the kernel, i.e: the symbols that the loadable
  1026.   modules can ``see'', are augmented to include a checksum across the
  1027.   types of the call/return parameters.  This allows insmod to detect
  1028.   whether the definition of a variable or function in the kernel has
  1029.   changed since the time when ftape was compiled.
  1030.  
  1031.   This ensures a high degree of safety, such that you do not crash the
  1032.   kernel because you used an outdated module with your kernel.
  1033.  
  1034.   If you enable CONFIG_MODVERSIONS in the kernel, make sure you have
  1035.   `-DMODVERSIONS -include /usr/include/linux/modversions.h' uncommented
  1036.   in the MODULE_OPT line in the ftape Makefile.  Conversely, if you do
  1037.   not have CONFIG_MODVERSIONS enabled, make sure you have it commented
  1038.   out.
  1039.  
  1040.   9.9.  insmod says that kernel 1.2.0 and 1.2.0 differ
  1041.  
  1042.   Did you remember to apply the ksyms.c patch to the kernel?  If not,
  1043.   read the README.linux-1.2 file in the source distribution.
  1044.  
  1045.   9.10.  ftape says ``This tape has no 'Linux raw format'''
  1046.  
  1047.   You get this complaint if you haven't erased your freshly formatted
  1048.   tape.  This is because ftape expect a ``magic header'' on the tape, to
  1049.   be able that it is allowed to interpret the header segment in its own
  1050.   way (eg: file marks).  To remove the problem, say `mt -f /dev/nftape
  1051.   erase'
  1052.  
  1053.   9.11.  binaries/sources/manpages?  Where can I find the tar/mt/cpio/dd
  1054.  
  1055.   All of these tools have been developed by the GNU project, and the
  1056.   source (and man page) can be fetched from just-about any ftp site in
  1057.   the world (including ftp.funet.fi, tsx-11.mit.edu, and
  1058.   sunsite.unc.edu).  In any case they can be fetched from the official
  1059.   GNU home site: prep.ai.mit.edu [18.71.0.38]:/pub/gnu.  The latest
  1060.   versions (as of September 12 1996) are:
  1061.  
  1062.                cpio:   2.4.2 (cpio-2.4.2.tar.gz)
  1063.                dd:     3.13 (fileutils-3.13.tar.gz)
  1064.                mt:     2.4.2 (cpio-2.4.2.tar.gz)
  1065.                tar:    1.11.8 (tar-1.11.8.tar.gz)
  1066.                gzip:   1.2.4 (gzip-1.2.4.tar.gz)
  1067.  
  1068.   They all compile out of the box on Linux v1.0.4 / libc v4.5.19 / gcc
  1069.   v2.5.8.
  1070.  
  1071.   9.12.  Where can I obtain the QIC standards?
  1072.  
  1073.   If you wish to help developing ftape, or add some utility (e.g. a tape
  1074.   formatting program), you will need that appropriate QIC standards.
  1075.   The standard(s) to get is: QIC-80, -117, -3010, and 3020.  QIC-117
  1076.   describes how commands are sent to the tape drive (including timing
  1077.   etc), so you would probably never need it.  QIC-80/3010/3020 describes
  1078.   higher level part, such as tape layout, ECC code, standard filesystem.
  1079.   You can get the QIC standards from the following address:
  1080.  
  1081.        Quarter Inch Cartridge Drive Standards, Inc.
  1082.        311 East Carrillo Street
  1083.        Santa Barbara, California 93101
  1084.        Phone: (805) 963-3853
  1085.        Fax:   (805) 962-1541
  1086.  
  1087.   Note: They are registered as `Freeman Associates, Inc' in the phone
  1088.   book.
  1089.  
  1090.   9.13.  What block-size should I use with tar
  1091.  
  1092.   When using compression, and in all general, it can be a benefit to
  1093.   specify to tar, that it should block the output into chunks.  Since
  1094.   ftape cuts things into 29Kbyte blocks, saying `-b58' should be
  1095.   optimum.
  1096.  
  1097.   ``Why 29Kbyte?'', I hear you cry.  Well, the QIC-80 standard specifies
  1098.   that all data should be protected by an Error Correcting Code (ECC)
  1099.   code.  The code specified in the QIC-80 standard is known as a Reed-
  1100.   Solomon (R-S) code.  The R-S code takes 29 data bytes and generates 3
  1101.   parity bytes.  To increase the performance of the ECC code, the parity
  1102.   bytes are generated across 29 1Kbyte sectors.  Thus, ftape takes
  1103.   29Kbytes of data, adds 3Kbytes of ECC parity, and writes 32Kbytes to
  1104.   the tape at a time.  For this reason, ftape will always read and write
  1105.   32K byte blocks to be able to detect (and correct) data errors.
  1106.  
  1107.   If you are curious, and wish to know more, look in the ecc.c and ecc.h
  1108.   files, for an explanation of the code and a reference to a textbook on
  1109.   Reed-Solomon codes.
  1110.  
  1111.   9.14.  ftape detects more bad sectors than DOS on QIC-3020 tapes
  1112.  
  1113.   If you look at the difference, you will notice that ftape always
  1114.   detects 2784 sectors more than DOS.
  1115.  
  1116.   The number that ftape reports is correct (of course :-). Each
  1117.   correctly formatted QIC-3020 tape has 2784 sectors at fixed positions
  1118.   that are marked in the bad sector map. To quote from the specs:
  1119.  
  1120.   ``Tracks 5,7,9,11,13,15,17,19,21,23,25 and 27 within 4 segments of
  1121.   either EOT or BOT are prone to increased error rates due to hole
  1122.   imprints.  Therefore, these regions shall be mapped as bad at format
  1123.   time and entered in the bad sector map by indicating that all sectors
  1124.   within the identified segments are bad.''
  1125.  
  1126.   This gives 12 tracks * 2 * 4 segments * 29 sectors == 2784 sectors.
  1127.  
  1128.   So ftape choose to report the real number of sectors that cannot be
  1129.   used on the tape, while DOS gives a more optimistic number giving a
  1130.   better indication of tape quality.  (ftape's behavior might change in
  1131.   the future to detect correct formatting and display the separate
  1132.   numbers. It has rather low priority though).
  1133.  
  1134.   QIC-3010 are alike QIC-3020 tapes regarding this.
  1135.  
  1136.   9.15.  Syslogd works overtime when running ftape
  1137.  
  1138.   The compile-time options NO_TRACE and NO_TRACE_AT_ALL in ftape control
  1139.   the amount of system logging.  Add whichever is appropriate to the
  1140.   FTAPE_OPT line in the Makefile and recompile.
  1141.  
  1142.   9.16.  `Shoeshining'
  1143.  
  1144.   There been a few reports of `shoeshining'.  This is when the tape just
  1145.   seems to run back and forth endlessly.  This has been seen on a Jumbo
  1146.   250 (74407.3051@compuserve.com) and on an Iomega 250 Ditto Insider
  1147.   (tom@opus.cais.com). In the latter case it has been narrowed own to
  1148.   using an ELF Linux and running off a SCSI hard disk (connected to an
  1149.   Adaptec 1542cf).  Please contact me if you have an update to this
  1150.   problem.
  1151.  
  1152.   9.17.  `"modversions.h: no such file or directory' Trying to compile
  1153.   ftape gives me the error
  1154.  
  1155.   The modversions.h file is created when the kernel is compiled with the
  1156.   configuration item CONFIG_MODVERSIONS turned on.  With this option
  1157.   enabled, the file will be created during the make dep step.
  1158.  
  1159.   One more handy tip is that a make mrproper will remove
  1160.   /usr/include/linux/modversions.h.  You will need to reconfig the
  1161.   kernel and do a make dep to get the file back.
  1162.  
  1163.   9.18.  in the middle?  How does `mt eom' work when you've started
  1164.   overwriting a tape
  1165.  
  1166.   (EOM is "End Of recorded Media", the position right after all data
  1167.   already recorded to the tape)
  1168.  
  1169.   One cannot use tape "files" like files on an ordinary file system.
  1170.  
  1171.   In principle, a tape doesn't allow anything but appending new data at
  1172.   EOM.  However, if one positiones just in the middle of the already
  1173.   recorded data AND starts writing, then the driver first deletes all
  1174.   following files (thus moving the EOM to the actual position) and then
  1175.   starts writing.
  1176.  
  1177.   Thus, the new EOM after finishing the write process, is then after the
  1178.   newly recorded data.
  1179.  
  1180.   One of the consequences of the above is, of course, that writing to
  1181.   the tape in the middle of the already recorded area, is destructive in
  1182.   the sense, that it not only overwrites the "file" the tape is
  1183.   positioned at, but also deletes all following files.
  1184.  
  1185.   9.19.  Help! I'm getting 'dmaalloc() failed' in my syslog file.
  1186.  
  1187.   You should only see this is you are trying to insmod the ftape.o
  1188.   module.  Try running swapout first.  It is provided with the
  1189.   standalone ftape source.  It doesn't appear in the ftape source that's
  1190.   provided with the kernel.
  1191.  
  1192.   Here's an example of how you can set your rc.local file to use it.
  1193.  
  1194.                # Install the Floppy Tape Driver
  1195.                if [ -f /boot/modules/`uname -r`/misc/ftape.o ]; then
  1196.                    echo Installing ftape for Linux `uname -r`
  1197.                    swapout
  1198.                    insmod /boot/modules/`uname -r`/misc/ftape.o
  1199.                fi
  1200.  
  1201.   Please note that you won't have this type of problem if you compile
  1202.   the ftape driver into the kernel.
  1203.  
  1204.   9.20.  Is it ok that I'm not hearing the tape move when I do a fsf or
  1205.   a bsf with mt?
  1206.  
  1207.   Yes.  The driver merely updates an internal counter when those
  1208.   commands are issues.  The tape should move to the proper location on
  1209.   the next read or write access to the tape drive.
  1210.  
  1211.   10.  Debugging the ftape driver
  1212.  
  1213.   10.1.  The kernel/ftape crashes on me when I do `...' - is that a bug?
  1214.  
  1215.   No, that is a feature ;-)
  1216.  
  1217.   Seriously, reliable software do not crash.  Especially kernels do not
  1218.   or rather should not crash.  If the kernel crashes upon you when you
  1219.   are running ftape, and you can show that it is ftape that is messing
  1220.   things up, regard it as a Bug That Should Be Fixed.  Mail the details
  1221.   to the maintainer (<kjj@pobox.com>) and to the tape list.
  1222.  
  1223.   10.2.  OK, it's a bug ...ehhh... feature - How do I submit a report?
  1224.  
  1225.   First, make sure you can reproduce the problem.  Spurious errors are a
  1226.   pain in the ass, since they are just about impossible to hunt down :-/
  1227.   This is a quick check list:
  1228.  
  1229.   ╖  Kernel version, and patches applied
  1230.  
  1231.   ╖  ftape version
  1232.  
  1233.   ╖  tape drive model / manufacturer
  1234.  
  1235.   ╖  Expansion bus type (EISA, ISA, PCI, or VL-bus)
  1236.  
  1237.   ╖  What you did to expose the problem
  1238.  
  1239.   ╖  What went wrong on your system.
  1240.  
  1241.   ╖  Do not delete the kernel and the ftape.o file. I might want you run
  1242.      try some patches out or run a different test on your system.
  1243.  
  1244.   Increase the tracing level to 7 (just below maximum tracing) and run
  1245.   the offending command again.  Get the tracing data from the kernel log
  1246.   or /proc/kmsg, depending on where you harvest your error messages.
  1247.   Try to look at what ftape spews out at you.  It may look in-
  1248.   comprehensible to you at first, but you can get valuable information
  1249.   from the logfile.  Most messages have a function name prepended, to
  1250.   make it easier to locate the problem.  Look through the source, don't
  1251.   just cry ``WOLF!'', without giving it a try.  If your version of the
  1252.   kernel (or ftape for that matter), is ``old'', when compared to the
  1253.   newest version of the kernel, try to get a newer (or even the newest)
  1254.   kernel and see if the problem goes away under the new kernel.  When
  1255.   you post your problem report, include the information about ftape
  1256.   version, kernel version, expansion bus type (ISA, VL-bus, PCI or
  1257.   EISA), bus speed, floppy controller, and tape drive.  State exactly
  1258.   what you did, and what happened on your system.  Some people have
  1259.   experienced that ftape would not run in a PCI based box, but ran
  1260.   flawlessly in a normal ISA based 386DX machine (see section ``Getting
  1261.   PCI motherboards to work with <tt/ftape/'' on PCI machines above)
  1262.  
  1263.   Also, please think of the poor souls who actually pay the their
  1264.   Internet access (like me): avoid posting a (huge) log from the ftape
  1265.   run, without reason.  Instead, you could describe the problem, and
  1266.   offer to send the log to the interested parties.
  1267.  
  1268.   Send your bug report to <linux-tape@vger.rutgers.edu>. You might also
  1269.   want to mail the bug to <claus@momo.math.rwth-aachen.de>.
  1270.  
  1271.   11.  Contributions
  1272.  
  1273.   The following is a list of notable folks that have contributed to
  1274.   ftape and it's HOWTO document.  This is a recent addition added by
  1275.   someone coming in midstream.  My sincerest apologies if I've
  1276.   inadvertently left someone important off the list.
  1277.  
  1278.   Kai Harrekilde-Petersen <khp@dolphinics.no>: The previous maintainer
  1279.   of ftape and the HOWTO.
  1280.  
  1281.   Andrew Martin <martin@biochemistry.ucl.ac.uk>: Many additions to the
  1282.   HOWTO.
  1283.  
  1284.   Bas Laarhoven <bas@vimec.nl>: The original author of ftape.
  1285.  
  1286.