SUMMARY: HP C1533A drive not compressing.

Frank Pardo (fpardo@tisny.com)
Tue, 01 Apr 1997 10:29:54 -0500 (EST)

Colleagues,

My original question was about an HP tape drive (C1533A) that was not
compressing data. The answer turns out to have two parts: software and
hardware. Before I present the solution, I have to thank all the people
who so kindly responded to my query; in chronological order, they are:

Kevin Tse <ktse@NVidia.COM>
Ric Anderson <ric@rtd.com>
"Karl E. Vogel" <vogelke@c17mis.region2.wpafb.af.mil>
Rudy Yu <ryu@anthem.com>
Sophia Sameera Corsava <106625.3502@compuserve.com>
chris@dvs1.informatik.th-darmstadt.de (Christoph Liebig)
Ric Anderson <ric@rtd.com>
"John Eliopoulos" <eliopj@inforamp.net>
David Robson <robbo@satech.net.au>

Ric Anderson answered twice, the second time with a very long and
detailed collection of material.

SOFTWARE. For Solaris, the documentation is nearly correct. The leaflet
that comes with the drive contradicts what Hewlett-Packard's WWW site
says; and neither of them totally matches the /kernel/drv/st.conf lines
that eventually worked for us here.

(The WWW page for DAT tapes is http://www.hp.com/tape/dat.html; for DAT
drives on Sun workstations, it's http://www.hp.com/tape/c_sun.html.)

Following HP's instructions, we added definitions for several devices,
though our only HP drive is a C1533A (a.k.a. SureStore 6000eU):

| tape-driver-buffering = 4;
| tape-config-list =
| "HP HP35470A", "HP DDS 4mm DAT", "HP-data1",
| "HP HP35480A", "HP DDS-DC 4mm DAT", "HP-data1",
| "HP C1533A", "HP DDS2 4mm DAT", "HP-data2",
| "HP C1537A", "HP DDS3 4mm DAT", "HP-data2",
| "HP C1553A", "HP DDS2 4mm DATloader", "HP-data2";
| "HP C1557A", "HP DDS3 4mm DATloader", "HP-data2";
| HP-data1 = 1,0x34,0,0x639,3,0x00,0x13,0x3,2;
| HP-data2 = 1,0x34,0,0xd639,4,0x00,0x13,0x24,0x3,3;

We specified the block size as "0", meaning variable blocks; the "1024"
suggested by HP kills a lot of applications. With this in the st.conf
file, we got the drive to work, but making it compress involved some
hardware configuration.

HARDWARE. There are eight DIP switches on the bottom of the device, and
they have to be set correctly. Finding out the correct settings was not
at all easy.

We have switches 3, 6, and 7 off, and all others on (11011001). This
turns out to be the "compression and MRS" setting for Sun workstations.
To shut down the Media Recognition System, you would turn switches 6, 7,
and 8 off, leaving all others on (11111000).

The first caveat, on the "Don't I feel the fool" level, is that you have
to cycle power each time you change the DIP switches. Easy to forget, as
the device has no power switch. You have to unplug it from the wall,
like that string of xmastree lights that made my father say a bad word
back in 1948.

The second caveat is much more important. The firmware has gone through
many many revisions, and with each revision they redefine the meanings
of the DIP switches. The 11011001 setting works for our drive (which we
bought during March 1997), but it won't necessarily work for units built
six months earlier or six months later.

Caveat #3: There is no relationship between the individual DIP switches
and the device's features. Many of the 256 possible DIP switch settings
are "illegal". Each legal setting selects one of the drive's operating
modes. But you can't say that DIP switch number 4, for instance, turns
feature XYZ on and off. The only exception to this is compression,
controlled by DIP switches 1 and 2.

DIP switch #1: whether the drive will do compression by default. When
it's on you get compression at power-up, and when it's off you don't.

DIP switch #2: whether you can affect compression in software (i.e. from
the computer). When it's on, the drive does what the computer tells it
about compression; when it's off, the drive ignores such commands.

A footnote on device names. For both this HP drive and the Archive
Python that comes in a shoebox marked "Sun", the highest density
(flagged by 0x11 in bits 4 and 3 of the minor device number) has three
names: /dev/rmt/1, /dev/rmt/1c, and /dev/rmt/1u. The other suffixes
behave the way you expect them to: "l" means 0x00, "m" means 0x01, and
"h" means 0x10.

--
  Frank Pardo  <fpardo@tisny.com>
  Transaction Information Systems
  New York City

The scholar's ink outlasts the martyr's blood. -- Irish proverb