SUMMARY: Configuring compressing tape drives on OSF/1 3.2

From: valerie caro <VALERIE_at_coins.cs.umass.edu>
Date: Fri, 27 Oct 95 09:41 EST

  My original posting was:

>
> I am trying to install and EXABYTE EXB-8505 tape drive
>on a DEC2000 model 300 system running DEC OSF/1 V3.2. I have
>not been able to configure it properly to make all the
>densities work. I can only manage to write 5GB to a tape,
>instead of the 10GB I should get at high density, compressed mode.
>
> Can anyone tell me what files I need to change and what I need
>to add to them, in order to get this tape drive to work correctly?

To summarize, I needed to make modifications to the file /sys/data/cam_data.c
to recognize the drive and supply the proper density codes. In addition,
I was reminded that the amount of data fitting on the tape will vary
depending on how well it compresses. I realized that I had 8GB of
compact data, and that this would not fit on one tape.

 Thanks alot to all those who replied:
 chu_at_musp0.Jpl.Nasa.GOV
 Daniel.Clar_at_supelec.FR
 belonis_at_dirac.phys.washington.EDU
 Knut.Hellebo_at_nho.hydro.COM
 del_at_giant.IntraNet.COM

 I have included a few of the replies.

 Valerie Caro
 valerie_at_cs.umass.edu

----------------------------------------------------------------------------------
>From: IN%"chu_at_musp0.Jpl.Nasa.GOV" 20-OCT-1995 16:53:50.03
To: VALERIE_at_coins.cs.umass.edu
Subj: RE: Configuring compressing tape drives on OSF/1 3.2

Hi,

I wrote up something for adding generic EXABYTE tape drives to OSF
systems a while back. and I'll include it below. Basically, you need
to add some information into the /sys/data/cam_data.c file for the
driver to recognize the foreign drives, and to supply it with the
proper density codes.

===================================================================


Here are the extra stuff I added with some of the code surrounding
them. The first set of stuff is the density tables, which include
the density codes that various drives recognize. The following stuff
is the ID tables, which the driver uses to match the ID codes returned
by each device upon startup. I added a couple for other drives, and put
in references for the new density tables as appropriate.
Note the device designations when you create a new tape:

rmtXl is 2.3 GB format
rmtXh is 5.0 GB format
rmtXm is 2.3 GB format with compression
rmtXa is 5.0 GB format with compression

The reason that you want to keep track of these device specs is that by
default, the unmodified driver will hit the high density compression
mode of the 8505 when you create a tape. This make the tape unreadable
by drives that don't support compression. One of the LEDs on the 8505
flashes amber when it's doing compression, and green when it's not.

I don't know what other changes DEC made in the drivers, but I know
that in 1.2A, you can't use any of the mode codes with the Exabyte
drives. DEC's version (tkz09) uses some mode select codes, and when
they are used with the Exabyte drives, they hang up as you describe.

good luck.

eyc

This is for DEC's Exabyte 8500.

tkz09_dens = {
    {
    { /* Minor 00 or rmtXl */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    SEQ_54000_BPI, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    },
    { /* Minor 01 or rmtXh */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    SEQ_45434_BPI, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    },
    { /* Minor 02 or rmtXm */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    SEQ_45434_BPI, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    },
    { /* Minor 03 or rmtXa */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    SEQ_54000_BPI, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    },
    { /* Minor 04 */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    SEQ_45434_BPI, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    },
    { /* Minor 05 */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    SEQ_45434_BPI, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    },
    { /* Minor 06 */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    SEQ_45434_BPI, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    },
    { /* Minor 07 */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    SEQ_45434_BPI, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    }
    }
}, /* end of tkz09_dens */

New entry for the Exabyte 8505. Note this must be terminated with ";",
not the "," of the previous entry.

exb8505_dens = {
    {
    { /* Minor 00 or rmtXl */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    SEQ_54000_BPI, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    },
    { /* Minor 01 or rmtXh */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    SEQ_45434_BPI, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    },
    { /* Minor 02 or rmtXm */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    0x90, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    },
    { /* Minor 03 or rmtXa */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    0x8c, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    },
    { /* Minor 04 */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    SEQ_45434_BPI, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    },
    { /* Minor 05 */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    SEQ_45434_BPI, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    },
    { /* Minor 06 */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    SEQ_45434_BPI, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    },
    { /* Minor 07 */
    /* Flags */
    DENS_VALID | DENS_BUF_VALID ,
    /* Density code Compression code Speed setting */
    SEQ_45434_BPI, NULL, NULL,
    /* Buffered setting Blocking */
    1, NULL
    }
    }
}; /* end of exb8505_dens */
/* End density structures.. Please extend the table
 * for your own tape drives.. The table is designed
 * to allow for flexibility and customer selections
 */

This is DEC's device ID table for their Exabyte 8500

/* EXABYTE EXB-8500 */
{ "DEC TKZ09", 13, DEV_TKZ09,
  (ALL_DTYPE_SEQUENTIAL << DTYPE_SHFT) | SZ_8MM_CLASS,
  (struct pt_info *)ccmn_null_sizes, SZ_NO_BLK, 0x3c000,
  &tkz09_dens, &tkz09_mod, SZ_NO_FLAGS,
  NO_OPT_CMDS, 240, SZ_NO_QUE, DD_REQSNS_VAL | DD_INQ_VAL,
  36, 64
},

These are what I added for the Exabyte 8500, 8500C, and 8505 drives.
The drive return the strings "EXABYTE EXB...." upon system start up when
the driver issues an INQUIRY command. These ID tables contain known
responses, and allow the drivers to use the appropriate codes for
operation. The number "16" tells the driver the number of characters to
compare. The "tkz09_mod" pointer above is replaced with "NO_MODE_TAB"
for all the generic Exabyte drives. Insert this stuff before the { 0 }
entry at the end, assuming the cam_data.c file is the same or similar.

/* EXABYTE EXB-8500 */
{ "EXABYTE EXB-8500", 16, DEV_TZ8MM,
  (ALL_DTYPE_SEQUENTIAL << DTYPE_SHFT) | SZ_8MM_CLASS,
  (struct pt_info *)ccmn_null_sizes, SZ_NO_BLK, 0x3c000,
  &tkz09_dens, NO_MODE_TAB, SZ_NO_FLAGS,
  NO_OPT_CMDS, 240, SZ_NO_QUE, DD_REQSNS_VAL | DD_INQ_VAL,
  36, 64
},
/* EXABYTE EXB-8500C */
{ "EXABYTE EXB8500C", 16, DEV_TZ8MM,
  (ALL_DTYPE_SEQUENTIAL << DTYPE_SHFT) | SZ_8MM_CLASS,
  (struct pt_info *)ccmn_null_sizes, SZ_NO_BLK, 0x3c000,
  &exb8505_dens, NO_MODE_TAB, SZ_NO_FLAGS,
  NO_OPT_CMDS, 240, SZ_NO_QUE, DD_REQSNS_VAL | DD_INQ_VAL,
  36, 64
},
/* EXABYTE EXB-8505 */
{ "EXABYTE EXB-8505", 16, DEV_TZ8MM,
  (ALL_DTYPE_SEQUENTIAL << DTYPE_SHFT) | SZ_8MM_CLASS,
  (struct pt_info *)ccmn_null_sizes, SZ_NO_BLK, 0x3c000,
  &exb8505_dens, NO_MODE_TAB, SZ_NO_FLAGS,
  NO_OPT_CMDS, 240, SZ_NO_QUE, DD_REQSNS_VAL | DD_INQ_VAL,
  36, 64
},

{ 0 }

};


----------------------------------------------------------------------------------

>From: IN%"del_at_giant.IntraNet.COM" "G. Del Merritt" 20-OCT-1995 12:51:08.43
To: VALERIE_at_coins.cs.umass.edu
Subj: RE: Configuring compressing tape drives on OSF/1 3.2

With ALL compression, YMMV (your mileage may vary). You haven't told us what
type of data you are trying to compress. "regular" text, and "regular"
executable images will compress well in most cases. You are at a college; if
you have lots of image data, or lots of collected realtime data, the data may
have already been compressed by the software.

An already compressed file, or a "well encrypted" file, will likely not
compress at all. In fact, in the worst case, the second attempt at
compressing the file would result in something larger than the file prior to
the attempt. (Most compression algorithms detect this and punt, but I don't
know what will happen in the drive hardware.)

> Can anyone tell me what files I need to change and what I need
>to add to them, in order to get this tape drive to work correctly?

Know your data, and decide if it would benefit from compression in the first
place. If not, you can't count on anything but the raw media capacity.

-- 
Del Merritt                                                  del_at_IntraNet.com
IntraNet, Inc., One Gateway Center #700, Newton, MA  02158
Voice: 617-527-7020; FAX: 617-527-6779                Just say no to Clipper.
----------------------------------------------------------------------------------
>From:	IN%"belonis_at_dirac.phys.washington.EDU"  "Jim Belonis" 23-OCT-1995 19:27:38.10
To:	VALERIE_at_coins.cs.umass.edu
Subj:	RE: Configuring compressing tape drives on OSF/1 3.2
The default density should be used if you do nothing to configure
anything.  This is highest density with full compression.
If you are not getting more than 5gig, something is wrong.
If you are using old tapes that were used on an 8500 without compression,
then the default may be overriden by the current tape's density.
You should indicate what error message you get.
By the way.  I have never heard anyone get 10gig on a tape.
I personally get about 6 gig since compression is so bad.
J.James(Jim)Belonis II, U of Washington Physics Computer Cost Center Manager
belonis_at_phys.washington.edu Internet    University of Washington Physics Dept. 
http://www.phys.washington.edu/~belonis r. B234 Physics Astronomy Building
1pm to midnite 7 days  (206) 685-8695   Box 351560      Seattle, WA 98195-1560
Received on Fri Oct 27 1995 - 15:40:52 NZDT

This archive was generated by hypermail 2.4.0 : Wed Nov 08 2023 - 11:53:46 NZDT