Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ tape(HW) — OpenDesktop 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

backup(ADM)

cpio(C)

dat(HW)

dd(C)

format(C)

mkdev(ADM)

restore(ADM)

tape(C)

tar(C)

xbackup(ADM)

xrestore(ADM)


 tape(HW)                      06 January 1993                       tape(HW)


 Name

    tape - magnetic tape device

 Description

    The tape device implements the UNIX interface with a tape drive.  QIC-02
    cartridge tape drives are supported by the ct device driver, QIC-40 and
    QIC-80 tape drives connected to the floppy disk controller are supported
    by the ft device driver, and Irwin tape drives connected to the floppy
    disk controller are supported by the mc device driver.  SCSI tape devices
    are supported by the Stp driver, and cpqs controls Compaq SCSI tape de-
    vices.  Typically, the tar(C), cpio(C), dd(C), backup(ADM), xbackup(ADM),
    xrestore(ADM), or restore(ADM) commands are used to access a tape drive.

    Each device supports a single tape drive with a raw (character, non-
    blocking) interface, except for the SCSI tape driver which supports up to
    four devices.  There are four standard tape device types. Devices begin-
    ning with the ``r'' prefix, (for ``raw device''), should be used for most
    normal tape work, while devices with the ``n'' prefix, (for ``no rewind
    on close''), should be used for storing and restoring multiple files.
    Devices beginning with the ``x'' prefix are control devices, which are
    used for issuing ioctl(S) calls to the tape subsystem.

    Devices beginning with the ``e'' prefix (for ECC device) support a 2/64
    error recovery scheme.  Thus, two 512-byte blocks out of every 64 blocks
    can be bad and the driver will correct the errors.  This software ECC
    support provides a high degree of error recovery.

    ECC encoding and decoding for the ft and mc floppy tape drivers is auto-
    matically used with the standard ``r'' device; the ft and mc floppy tape
    drivers do not support the ``n'' or ``e'' device types.  ECC encoding and
    decoding is automatically used with the standard ``r'' device.  On the
    QIC-40, QIC-80 and Irwin 80MB drives, for every 29K written to the tape,
    3K of ECC data is written with it to provide error recovery.  On the
    Irwin 10, 20, 40 and 60MB drives, for every 16K written to the tape, 2K
    of ECC data is written.

    QIC-40 and QIC-80 tapes must be formatted before use; use pre-formatted
    QIC-40 and QIC-80 tapes for best results.  Similarly, Irwin tapes must be
    first servo-written and then formatted with tape(C) before use, unless
    you use pre-formatted Irwin tapes.  The mc driver can read tapes format-
    ted and written under the old version of UNIX but cannot write to them.

    The following table summarizes the base naming conventions for the tape
    drives supported:

       ct0,1          QIC24 unit 0,1
       ct2,3          QIC11 unit 0,1
       Stp0,1,2,3     SCSI tape unit 0,1,2,3
       rmt/cst0,1,2,3,4
                      Compaq SCSI tape unit 0,1,2,3,4
       ft0\ \         QIC-40 or QIC-80 floppy tape unit
       mc0\ \         Irwin floppy tape unit
       ctmini         default mini-cartridge device
       mt0,1          reel to reel unit 0,1 1600 bpi
       mt2,3          reel to reel unit 0,1 800 bpi
       mt4,5          reel to reel unit 0,1 6250 bpi

    The default tape device is stored in the file /etc/default/tape, which is
    also used by tape(C).  /etc/default/tape should always contain the ``x''
    (control) device name of the default device, and is normally updated by
    mkdev(ADM) tape.  If the default device is a QIC-40, QIC-80 or Irwin tape
    drive, the appropriate device from the table above will be linked to the
    ctmini device node.  QIC-02 tape drives will always be accessed by the
    ct0,1 device nodes as shown in the table.  If a SCSI tape drive is
    installed as the default device and there is no QIC-02 drive installed,
    it will be linked to the ct0 device node.  If both SCSI and QIC-02 drives
    are installed, the SCSI device node cannot be linked to the ct0 device
    node.  Compaq SCSI tape devices use a different convention and are dis-
    cussed in a separate section.

    Certain DAT drives (HP, for example) support advanced features such as
    partitions and setmarks and have special device nodes.  See dat(HW) for
    more information.

    tape(C) describes the commands used to access tape drives.

 Definition of ioctl calls

    The following request arguments to the ioctl(S) call can be used with the
    various tape device drivers supported under UNIX. Where the request
    requires an argument, this is passed by the argument arg to ioctl.

    The letters following each description indicate which drivers support
    each ioctl call:

       A    All drivers
       C    QIC-02 cartridge tape driver
       S    SCSI tape driver
       F    QIC-40 and QIC-80 mini-cartridge tape drivers
       I    Irwin mini-cartridge tape driver

    MTSTATUS        Writes the status of the drive into a device-independent
                     structure tapeinfo pointed to by the argument arg.  The
                     tapeinfo structure is defined in
                     /usr/include/sys/tape.h.  (C,S,F)

    MTDSTATUS       Writes status information for the drive into the de-
                     vice-dependent structure pointed to by the argument arg.
                     (C,S,F)

    MTRESET         Resets the driver software and the tape drive.  Inter-
                     rupts tape operations in progress.  (C,S,F)

    MTREPORT        Writes a code according to the type of tape device to an
                     integer pointed to by the argument arg.  The device type
                     codes are defined in /usr/include/sys/tape.h.  (C,S,F)

    MTRETEN         Winds the tape forward to EOT and then backward to BOT.
                     (A)

    MTREWIND        Rewinds the tape to BOT.  (A)

    MTERASE         Erases the data on the tape and retensions the car-
                     tridge.  (C,S,F)

    MTAMOUNT        Writes a count of the amount of the last data transfer
                     to an integer pointed to by the argument arg.  (C,S,F)

    MTFORMAT        Formats the tape.  Expects as an argument (arg) the num-
                     ber of tracks to format, which must be an even number.
                     If no argument is provided, the default is 20 tracks for
                     QIC-40 drives, and 28 tracks for QIC-80 drives.  (FI)

    MTGETHDR        Expects as an argument (arg) a pointer to a struct
                     ftheader or struct irheader and copies the header of
                     the current tape into it.  (FI)

    MTPUTHDR        Takes a pointer to a struct ftheader or struct
                     irheader as an argument (arg), and writes it onto the
                     tape.  This call should be used with caution.  (FI)

    MTGETNEWBB      Takes a pointer to a struct ftnewbbt or struct
                     irnewbbt as an argument (arg), and copies in a list of
                     bad blocks detected on the last write operation.  (FI)

    MTPUTNEWBB      Takes a pointer to a struct ftnewbbt or struct
                     irnewbbt as an argument (arg), reads in the header from
                     the tape, then writes a new bad block onto the tape with
                     the new bad blocks from the provided bad block table.
                     (FI)

    MTSETBLK        Sets the block size (in bytes) of the tape blocks.
                     Takes as an argument (arg) the size in bytes.  (S)

    MTGETVTBL       Takes a pointer to a struct ftvtbl as an argument
                     (arg), and copies in the volume table from the tape.
                     (FI)

    MTPUTVTBL       Takes a pointer to a struct ftvtbl as an argument
                     (arg), and writes the volume table onto the tape.  This
                     call should be used with caution.  (FI)

    MTRFM           Winds the tape forward to the next filemark.  (A)

    MTWFM           Writes a filemark at the current location on the tape.
                     (A)

    MTLOAD          On devices which are capable of doing so, loads the tape
                     into the drive.  (S)

    MTUNLOAD        On devices which are capable of doing so, unloads the
                     tape from the drive.  (S)

 Floppy tape drive configuration and media

    This section is concerned with QIC-40 and QIC-80 tape drives and sup-
    ported floppy tape cartridges.

    Configuration options for the floppy tape driver (ft)

    Five configuration options are available for the floppy tape driver (ft)
    for QIC-40 and QIC-80 tape drives.  To alter these variables, it is
    necessary to edit the configuration file /etc/conf/pack.d/ft/space.c,
    relink the kernel, and reboot the system with the new kernel.  While all
    options may be edited manually in space.c, the first and second options,
    ftdrivetype and ftselectmode, can also be modified using the mkdev
    tape command.  These options are summarized in the following table:

    Floppy tape drive configuration options

    _________________________________________________________________________
    Variable               Values                               Editing
                                                          mkdev        Manual
    _________________________________________________________________________
    ft_drive_type          FTQIC40                        yes          yes
                           FTQIC40XL (FTQIC60)
                           FTQIC80
                           FTQIC80XL
    ft_select_mode         FTHARDSELECT                  yes          yes
                           FTSOFTSELECT
    ft_alloc_switch        FTOPENTIME                    no           yes
                           FTINITTIME
    ft_minbufs             2 <= x <= (ft_maxbufs)          no           yes
    ft_maxbufs             (ft_minbufs) <= x <= 20         no           yes

    ftdrivetype
         When set from FTQIC40 to FTQIC40XL, or from FTQIC80 to
         FTQIC80XL, ftdrivetype enables support of extended length (307.5
         ft) DC2120 mini-cartridges in the driver.  FTQIC60 is an obsolete
         value; FTQIC40XL should be used instead.

         A QIC-40 drive should never be operated with ftdrivetype set to
         FTQIC80 or FTQIC80XL.  Also, a QIC-80 drive should never be
         operated with ftdrivetype set to FTQIC40 or FTQIC40XL.  If they
         are, your system may panic or hang, or data may be lost from the
         tape media

    ftselectmode
         When set to FTHARDSELECT, the ft driver expects a normal tape
         drive with a drive select jumper to be present.  If ftselectmode
         is set to FTSOFTSELECT, the ft driver uses Soft Select mode to
         access the tape drive, which must be a Soft Select-compatible QIC-40
         or QIC-80 tape drive with no drive select jumpers installed.

    ftallocswitch
         When set to FTOPENTIME, the ft driver allocates memory when it is
         needed, and frees memory once it is no longer needed.  Typically,
         memory is allocated at open time and released at close time.  When
         ftallocswitch is set to FTINITTIME, all memory allocation is
         done at init time (when the system boots) and the ft driver retains
         this memory.  The advantage of init time allocation is that more
         memory is available for the ft buffers.  The disadvantage is that
         this memory is held by the tape driver and cannot be used elsewhere
         in the system.

    ftminbufs
    ftmaxbufs
         These variables set the minimum and maximum number of 32K buffers
         that the ft driver is allowed to use.  The lower limit of the mini-
         mum is hard set to 2, with any value lower than 2 interpreted as 2.
         The upper limit of the maximum is hard set to 20, with numbers
         greater than 20 interpreted as 20.  When the ft driver allocates
         memory for buffers, it requests ftmaxbufs first.  If this fails, ft
         reduces its request by one and tries again. This continues until
         either the request is satisfied or ftminbufs buffers fail to be
         allocated.  If the request is satisfied, then ft proceeds. Other-
         wise, the tape operation fails and ENOMEM (Error, no memory for
         buffers) is returned.

         The exception to this is when ftallocswitch is set to FTINITTIME
         (allocation takes place at init time). If the ftminbufs are not
         available at init time, then ft resorts to allocation as needed (as
         if ftallocswitch were set to FTOPENTIME).  If this condition
         occurs, a warning is printed at init time.

         It is recommended that ftminbufs be set to at least 3. Although the
         driver can operate with only two buffers, performance is seriously
         degraded; the tape never streams, and in fact produces an underrun
         for every 32K block written to the tape.

    Floppy tape cartridge media

    There are three mini-cartridge types appropriate to floppy tape drives:

    Floppy tape mini-cartridge types

    _________________________________________________________________________
    Cartridge               Length               Width                Maximum
                            (ft)                 (in)                 density
                                                                      (ftpi)
    _________________________________________________________________________
    DC2000                   205                  0.25                12,500
    DC2080                   205                  0.25                14,700
    DC2120                   307.5                0.25                14,700

    DC2000 and DC2080 are available unformatted or preformatted from the man-
    ufacturer. Irwin format tapes are incompatible with the floppy tape
    driver.

    If a 2120 cartridge is inserted into a drive, it can be detected as an
    extended length tape and will be formatted for 60 Mbytes on QIC-40
    drives, and 120 Mbytes on QIC-80 drives. Some older QIC-40 drives are not
    able to detect extended length tapes.  These models should never be
    operated with a DC2120 inserted, since they will expect a 205 foot tape
    length.  Drives cannot distinguish between blank (unformatted) DC2000 &
    DC2080.  Never attempt to format a DC2080 in a QIC-40 drive, or a DC2000
    in a QIC-80 drive.

    Media configurations for floppy tape drives are summarized in the follow-
    ing table:

    Floppy tape drive media configurations

    _________________________________________________________________________
    Drive       ft_drivetype       Media        Formatted          Operations
                                                capacity (M)
    _________________________________________________________________________
    QIC-40      FTQIC40           DC2000             40           r/w/f
    QIC-40      FTQIC40XL         DC2000             40           r/w/f
                                   DC2120             60           r/w/f
    QIC-80      FTQIC80           DC2000             40           r
                                   DC2080             80           r/w/f
    QIC-80      FTQIC80XL         DC2000             40           r
                                   DC2120             60           r
                                   DC2080             80           r/w/f
                                   DC2120            120           r/w/f

 Irwin-specific ioctl interface

    Device-specific functions of the Irwin tape drive are accessed via spe-
    cial commands passed to the Irwin driver using the ioctl(S) interface.
    An Irwin driver interface library is available.  This library provides a
    system-independent interface to ioctl via the entry point mcioctl:

    #include <sys/mc.h>

    int mcioctl(fh, request, arg)
    int fh;        /* File handle from open() */
    int request;   /* MCCTL_* command code */
    void *arg;     /* Additional argument pointer */

    mcioctl(fh, MCCTL_NOP, NULL)
    mcioctl(fh, MCCTL_VERSION, verbuf)
    mcioctl(fh, MCCTL_CAPACITY, capp)
    mcioctl(fh, MCCTL_LSEEK, lskbuf);
    mcioctl(fh, MCCTL_REWIND)
    mcioctl(fh, MCCTL_RETEN)
    mcioctl(fh, MCCTL_REWIND_NW)
    mcioctl(fh, MCCTL_RETEN_NW)
    mcioctl(fh, MCCTL_GETDRVCFG, cfgbuf)
    mcioctl(fh, MCCTL_GETCFG, cfgbuf)
    mcioctl(fh, MCCTL_SETCFG, cfgbuf)
    mcioctl(fh, MCCTL_GETTHDR, hdrbuf)
    mcioctl(fh, MCCTL_PUTTHDR, hdrbuf)
    mcioctl(fh, MCCTL_GETDLISTS, listbuf)
    mcioctl(fh, MCCTL_FLUSH)
    mcioctl(fh, MCCTL_FORMAT, fmtbuf)
    mcioctl(fh, MCCTL_FMTSTAT, fmtbuf)
    mcioctl(fh, MCCTL_ABORT)
    mcioctl(fh, MCCTL_DEVSTAT, dstatp)
    mcioctl(fh, MCCTL_GETERCTL, erctlp)
    mcioctl(fh, MCCTL_SETERCTL, erctlp)
    mcioctl(fh, MCCTL_GETER, ierrp)

    struct mcver *verbuf;    /* version buffer */
    long *capp;              /* capacity in bytes */
    struct mclseek *lskbuf;  /* tape logical position descriptor */
    struct mccfg *cfgbuf;    /* configuration buffer */
    char *hdrbuf;            /* 1024 byte header buffer */
    unsigned short * listbuf; /* 2048 byte defect list buffer */
    struct mcfmt *fmtbuf;    /* format control/status buffer */
    unsigned short *dstatp;  /* device status word */
    unsigned short *erctlp;  /* error control word */
    unsigned short *ierrp;   /* device specific error */

    mcioctl provides a system-independent ioctl interface to the Irwin
    driver.  This subroutine is essentially a pass-through; that is, argu-
    ments are passed through to ioctl.  If a device-specific error occurs
    (that is, a non-system error) at completion of the system ioctl and the
    function is not a MCCTLNOP or MCCTLVERSION, mcioctl executes
    ioctl(MCCTLGETER) to retrieve the device-specific error.

    The following request arguments to a mcioctl call are available for the
    Irwin driver. If an argument is required, it is passed using the argument
    arg.

    MCCTLNOP      No operation.  Any argument is ignored.  A status of 0 is
                   returned if the special file refers to the mc driver.

    MCCTLVERSION  Writes driver version information to a version information
                   buffer (struct mcver, defined in /usr/include/sys/mc.h)
                   pointed to by argument arg.

    MCCTLCAPACITY Writes a tape's capacity in bytes to the long integer
                   pointed to by the argument arg.

    MCCTLREWIND,
    MCCTLRETEN,
    MCCTLREWINDNW,
    MCCTLRETENNW These four calls physically position the tape at high
                   speed.  MCCTLRETEN and MCCTLRETENNW run the tape to the
                   early warning hole first.  All four calls return the tape
                   to the load-point hole. MCCTLREWINDNW and MCCTLRETENNW
                   start a request but do not wait for completion.

    MCCTLGETDRVCFG,
    MCCTLGETCFG,
    MCCTLSETCFG   These three function calls provide access to configuration
                   parameters for a particular mini cartridge tape unit.  The
                   structure containing these parameters is struct mccfg
                   (defined in /usr/include/sys/mc.h).  This structure has
                   driver, tape drive, and cartridge related fields. A
                   pointer to a structure of this type is passed by the argu-
                   ment arg.  Both MCCTLGETDRVCFG and MCCTLGETCFG copy the
                   driver's mccfg structure to the caller's buffer.  When
                   MCCTLGETDRVCFG is used, members of struct mccfg with
                   driver and tape drive related fields are returned.  No
                   error is given when a cartridge is absent. When
                   MCCTLGETCFG is used successfully, all fields are returned
                   with valid data.  An error is returned if no cartridge is
                   present.  MCCTLSETCFG allows the caller to adjust certain
                   fields in the driver's configuration.

    MCCTLGETTHDR,
    MCCTLPUTTHDR  MCCTLGETTHDR and MCCTLPUTTHDR read and write the 1024-
                   byte tape header in block 0.  MCCTLPUTTHDR assumes an
                   Irwin-style header.  (The argument arg is used to pass a
                   pointer to the header buffer.)  Then the following pro-
                   cedure is used to write the header:

                   Tape block 0 is read to a buffer.  The caller's 1024-byte
                   header buffer is copied to the first, fifth, and when
                   space permits, the ninth and thirteenth 1024-byte sectors
                   in the buffer.  When the cartridge format uses ECC (that
                   is, other than 110 cartridge format), the header's ECC in
                   use field is set.  When the cartridge format uses ECC, ECC
                   is encoded.  A checksum is calculated for the buffer.  The
                   buffer is written back to block 0.  Block 0 is reread and
                   the cartridge state is redetermined.  A new checksum is
                   calculated and compared against the original.

    MCCTLGETDLISTS
                   Returns lists used by the driver's flaw management.  The
                   argument arg must point to a buffer that is at least 2K in
                   length.  Four lists are copied to the buffer.  Each list
                   comprises of physical tape block numbers stored as
                   unsigned short integers and terminated with the value
                   0xffff.  The lists are contiguous and given in the follow-
                   ing order:

                   Primary Defect List (PDL)
                   Working Defect List (WDL)
                   Grown Defect List (GDL)
                   Relocation List (RL)

    MCCTLFLUSH    Flushes dirty buffers to tape.  MCCTLFLUSH forces dirty
                   buffers in the Irwin driver's cache to be written to tape.
                   The pointer argument is ignored.  Control returns when
                   data is written.  Buffers are automatically flushed upon a
                   close or when the device is idle for a certain period (see
                   mcautoflush in struct mccfg in /usr/include/sys/mc.h).

    MCCTLFORMAT,
    MCCTLFMTSTAT  MCCTLFORMAT starts an erase, servo-format-certify-
                   initialize header or re-certify operation.  The argument
                   (arg) is the address of struct mcfmt (see
                   /usr/include/sys/mc.h).  Formatting operations performed
                   depend upon the values in the structure's fmcmd and
                   fmoption fields, and struct mccfg mccartstate field.
                   When an MCCTLFORMAT call completes successfully,
                   MCCTLFMTSTAT is used to determine the progress (when a
                   no-wait flag is set) or results of formatting.  Like
                   MCCTLFORMAT, MCCTLFMTSTAT uses the struct mcfmt struc-
                   ture (typically the same one passed to MCCTLFORMAT).

    MCCTLABORT    Used to interrupt and terminate operations started by
                   MCCTLFORMAT.  The pointer argument is ignored. Control
                   returns after formatting has terminated.

    MCCTLDEVSTAT  Writes a 16-bit device status word to an unsigned short
                   integer whose address is passed by the argument arg.  This
                   field is intended for use by applications that use the
                   tape drive interactively.  The status bits are defined in
                   struct mclseek in /usr/include/sys/mc.h.

    MCCTLGETERCTL,
    MCCTLSETERCTL MCCTLGETERCTL and MCCTLSETERCTL give application access
                   to the state of, and control over, certain error mecha-
                   nisms.  The argument arg is the address of a 16-bit error
                   control variable which the Irwin driver writes with
                   current values for MCCTLGETERCTL and reads for
                   MCCTLSETERCTL.  Certain flags may or may not have an
                   effect depending on the implementation. Bit values for the
                   error control variable are defined in
                   /usr/include/sys/mc.h.

    MCCTLGETER    Writes a device-specific error (IE*) to the unsigned
                   short integer pointed to by the argument arg.  In general,
                   the value 0 is returned to indicate success or -1 to indi-
                   cate an error.  When mcioctl returns the value -1, an
                   error has occurred.  The error condition may have been
                   detected in the operating system or in the driver.  In
                   order to tell where the error comes from, the global
                   mcerrno should be examined first (before errno).  If
                   mcerrno is non-zero, the error was returned by the
                   driver.  Values for mcerrno are defined in
                   /usr/include/ierrno.h with an IE prefix.

 Irwin drive and cartridge models

    This section is concerned with Irwin tape drives and cartridges sup-
    ported.

    Drive models

    Many Irwin mini-cartridge drives have a three-digit model number. Each
    digit has a meaning.  The high-order digit encodes the form factor and
    cabinetry:

         1xx     51/4 inch drive (mounted in system cabinet).
         2xx     31/2 inch drive (mounted in system cabinet).
         3xx     51/4 inch drive in a metal cabinet with power supply.
         4xx     31/2 inch drive in a plastic cabinet (no supply).
         7xx     31/2 inch drive in a metal cabinet with power supply.

    The middle digit gives the approximate capacity, in 10 megabyte units,
    for a standard capacity (not extra-long) tape.

    The low digit encodes the drive's normal data transfer rate (that is, the
    floppy controller data clock rate).

         xx0     250 kilobits/second
         xx5     500 kilobits/second
         xx7     1 megabit/second

    In addition, a new 4-digit model numbering system is in use.  These model
    numbers are associated with drives which are adaptable to different sys-
    tem hardware environments with accessory hardware kits.

         2020    31/2 inch, 20 megabyte, 250 kilobits/second
         2040    31/2 inch, 40 megabyte, 500 kilobits/second
         2080    31/2 inch, 80/120 megabyte, 500 kilobits/second
         2120    31/2 inch, 80/120 megabyte, 1 megabit/second

    Mini cartridges

    There are three primary physical mini-cartridges types:

         DC1000  185 feet of 0.150 inch wide tape (same as TC-200)
         DC2000  205 feet of 0.250 inch wide tape (same as TC-400)
         DC2120  307.5 feet of 0.250 inch wide tape

    The DC1000 cartridge is physically thinner than DC2000 and DC2120 car-
    tridges.  The DC2000 and DC2120 have the same physical form but the
    DC2120 has a longer tape.  These cartridges are distinguished by their
    labels.  Each physical cartridge type has at least two cartridge formats:

    Mini (Irwin) cartridge format parameters


    _________________________________________________________________________
               AccuTrak                            Sectors
               reorder               Total         Blocks  per
    Cartridge  number                tape    Trks  per     block      Density
    format     (see Note) Cartridge  blocks        track   Data  ECC  (FTPI)
    _________|___________|_________|_______|_____|________|____|____|________
    110      | 1000-10   |DC1000   | 1264  | 8   | 158    |8   | 0  | 6400
    120      | 2000-20   |DC2000   | 1190  | 14  | 85     |16  | 2  | 6400
    120XL    | 2000-30   |DC2120   | 1792  | 14  | 128    |16  | 2  | 6400
    125      | 1000-20   |DC1000   | 1320  | 12  | 110    |16  | 2  | 10000
    145      | 2000-40   |DC2000   | 2480  | 20  | 124    |16  | 2  | 10000
    145XL    | 2000-60   |DC2120   | 3720  | 20  | 186    |16  | 2  | 10000
    165      | 2000-64   |DC2000   | 3936  | 24  | 164    |16  | 2  | 13200
    285      | 2000-80   |DC2000   | 2752  | 32  | 86     |29  | 3  | 11600
    285XL    | 2000-120  |DC2120   | 4160  | 32  | 130    |29  | 3  | 11600

    Notes:  The suffix part of the AccuTrak reorder number is an approximate
            cartridge capacity in megabytes.  All formats use 1024-byte MFM
            encoded sectors.

    Drive read/write compatibility for mini-cartridge formats

    _________________________________________________________________________
                       Drive model (see Note)
                       2020           2040
    __________|______|______|______|_______|______|______|_______|___________


              |      | 720  |  725 |  745  |      |      |       |
              |      | 420  |  425 |  445  |  765 | 2080 |  2120 |
              |  410 | 320  |  325 |  345  |  465 | 785  |  787  |
    Cartridge |  310 | 220  |  225 |  245  |  265 | 485  |  487  |
    format    |  110 | 120  |  125 |  145  |  165 | 285  |  287  |  Cartridge
    __________|______|______|______|_______|______|______|_______|___________
    110       |  rw  | rw   |  r-  |  r-   |  r-  | r-   |  r-   |  DC1000
    120       |  --  | rw   |  --  |  r-   |  r-  | r-   |  r-   |  DC2000
    120XL     |  --  | rw   |  --  |  r-   |  r-  | r-   |  r-   |  DC2120
    125       |  --  | --   |  rw  |  rw   |  r-  | r-   |  r-   |  DC1000
    145       |  --  | --   |  --  |  rw   |  r-  | r-   |  r-   |  DC2000
    145XL     |  --  | --   |  --  |  rw   |  r-  | r-   |  r-   |  DC2120
    165       |  --  | --   |  --  |  --   |  rw  | r-   |  r-   |  DC2000
    285       |  --  | --   |  --  |  --   |  --  | rw   |  rw   |  DC2000
    285XL     |  --  | --   |  --  |  --   |  --  | rw   |  rw   |  DC2120

    Key:

    r       Drive reads cartridge format

    w       Drive writes cartridge format

    -       Incompatible: When a cartridge is formatted but incompatible for
            reading or writing, the driver reports that the cartridge is
            either incompatible or erased.

    Extra long (XL) DC2120 cartridge compatibility

    Extra long (that is, DC2120) cartridges are incompatible with the follow-
    ing drives; the drive will not physically accommodate the cartridge:

       110, 310, 410, 125, 225, 325, 425, and 725

    Even though DC2120 cartridges are physically accepted in the following
    drives, you may not be able to format them:

       120, 220, 320, 420, 720, 2020, 145, 245, 345, 445, 745, 2040

    Drives manufactured prior to 1989 don't recognize the longer tape.  How-
    ever, the mc driver is able to read and write preformatted extra long
    tapes in these drives, but it is unable to correctly format them.  For-
    matting will start, but terminate in error.  To determine whether a drive
    supports formatting of DC2120 cartridges, use the mcart utility.  See
    tape(C) for information about mcart.  If the command mcart drive reports
    a drive type with the suffix XL, formatting of DC2120 cartridges is sup-
    ported.

 Compaq SCSI tape devices

    Compaq tape drives use a different set of device name conventions.  The
    device node format for accessing DAT and/or 320/525 tape drive on a SCSI
    tape adapter or a SCSI tape compression adapter follows:

       /dev/rmt/cstn[cin][-150]

    where n is the SCSI ID of the tape drive (0-4).

    The following table describes the available options:

    _________________________________________________________________________
    Option                           Description
    _________________________________________________________________________
    c                                Access the tape drive using the compres-
                                     sion chip on the tape adapter.  To use
                                     this option, no other drives on the
                                     adapter can be in use by other
                                     processes.  Once a drive is being
                                     accessed using the compression chip, the
                                     other drives on the adapter cannot be
                                     used until the process using the
                                     compression mode closes the tape drive.
    i                                Immediate mode.  Certain commands, like
                                     erase or retension will return to the
                                     application program before the command
                                     actually finishes on the tape drive.
    n                                No rewind.  A rewind command will not be
                                     issued to the drive when the device is
                                     closed.
    -150                             Access the tape in QIC-150 density.
                                     This option is only relevant on a
                                     320/525 tape drive.

    The devices listed access a DAT or 320/525 tape drive. The auto-density
    mode selects the format to match the data on the media for reading. The
    highest density for the media type present is selected for writing.  On
    the 320/525 tape drive, the QIC-150 mode is used to force QIC-150 format
    when writing on high density media so that the tape can be read on
    150/250 type drives.  If a 6150 or 6250 tape media is used, the drive
    writes QIC-150 format in the auto-density mode.

    On both a DAT and 320/525 tape drive, immediate mode returns without
    waiting for the command to complete, which is useful for executing reten-
    sion and erase tape commands.

    Compaq tape formats

    The Compaq SCSI adapter and 320/525 SCSI tape drive support the tape for-
    mats listed in the following table:

    Recording format

    _________________________________________________________________________
    Media type      QIC-24       QIC-120      QIC-150            QIC-320
    _________________________________________________________________________
    DC-300          RD           N/A          N/A                N/A
    DC-600A         RD           RD           N/A                N/A
    DC-6150         RD           RD           RD/WR(150 M)       N/A
    DC-6320         RD           RD           RD/WR(150 M)       RD/WR(320 M)
    DC-6525         RD           RD           RD/WR(250 M)       RD/WR(525 M)

    The default device automatically determines the tape format to use.  For
    reading, the data written on the tape media determines the tape density
    and format.  The media type determines the default on write operations;
    that is, the highest density for the type of media present is written.
    If you want to use a lower tape density, use a device type that explic-
    itly selects lower density.

 SCSI minor device numbers

    The minor device numbering scheme for SCSI tape devices is as follows
    (other than Compaq SCSI) :

    SCSI Tape minor devices

    _________________________________________________________________________
                       Bits
    7     6     5     4     3     2    1     0        Description
    _________________________________________________________________________
    -     -     -     -     -     -    X     X        Device number
    -     -     -     -     -     X    -     -        No unload on close
    -     -     -     -     X     -    -     -        No rewind on close
    -     -     -     X     -     -    -     -        High density (6250 BPI)
    -     -     X     -     -     -    -     -        ECC
    -     X     -     -     -     -    -     -        Partition (HP DAT)
    X     -     -     -     -     -    -     -        Control/override device

 Files

    /dev/rStp0               /dev/rct0                     /dev/erct0
    /dev/nrStp0              /dev/nrct0                    /dev/xct0
    /dev/xStp0               /dev/rct2                     /dev/rctmini
    /dev/rft0                /dev/nrct2                    /dev/xctmini
    /dev/xft0                /dev/xct0                     /dev/rmc0
    /dev/rmc1                /dev/mcdaemon

    /dev/rmt/cst0            /dev/rmt/cst0-150


    /dev/rmt/cst0n           /dev/rmt/cst0n-150
    /dev/rmt/cst0c           /dev/rmt/cst0c-150
    /dev/rmt/cst0cn          /dev/rmt/cst0cn-150
    /dev/rmt/cst0i           /dev/rmt/cst0i-150
    /dev/rmt/cst0in          /dev/rmt/cst0in-150
    /dev/rmt/cst0ci          /dev/rmt/cst0ci-150
    /dev/rmt/cst0cin         /dev/rmt/cst0cin-150

    Include files:
    /usr/include/sys/Stp.h   /usr/include/sys/tape.h
    /usr/include/sys/ft.h    /usr/include/sys/ir.h
    /usr/include/sys/mc.h    /usr/include/sys/mcheader.h
    /usr/include/sys/ct.h

 Notes

    After certain tape operations are executed, the system returns a prompt
    before the tape controller has finished its operation.  If the user
    enters another tape command too quickly, a ``device busy'' error is
    returned until the tape device is finished with its previous operation.

    Periodic tape cartridge retensioning and tape head cleaning are necessary
    for continued error-free operation of the tape subsystem.  Use tape(C) to
    retension the tape.

 See also

    backup(ADM), cpio(C), dat(HW), dd(C), format(C), mkdev(ADM),
    restore(ADM), tape(C), tar(C), xbackup(ADM) and xrestore(ADM).


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026