[comp.sys.hp] tcio

pda@litp.UUCP (Pierre DAVID) (05/05/89)

Hello HP gurus !

I have used the "tcio(1)" command to drive an HP9144 from a 9000/319
(HP-UX 6.21). It is a clear improvement as far as speed is concerned
compared to direct access to the drive.

However, I have some difficulties to fully understand some of the
behavior of this nice utility.

- from the documentation, I understand that "-S <n>" specifies
  the size of memory allocated by "tcio" for its use and is without
  relation with the physical encoding on the tape. However, I have
  noticed tapes written with -S 8 that could not be read again
  without this option.

- I have a similar problem with the "-Z" option. From the documentation
  I understand that this option allows a binary copy. So, for example,
  a tape written directly (by "tar(1)", for example) can be restored
  using "tcio ... -Z ... | tar ...".  My attempts have been stopped by
  a "tcio" hang, even "kill -9" doesn't work.

Generally speaking, I find that the man page is not very informative
about physical operations and formats.

Even more generally speaking, this remark applies to all HP-UX
documentation which lacks precise technical information about devices,
drivers... I find that, besides this point, the documentation is
truly remarquable.


Pierre DAVID
pda@litp.univ-p6-7.fr

maddog@cbnews.ATT.COM (john.j.tupper) (05/09/89)

In article <2105@litp.UUCP> pda@litp.UUCP (Pierre DAVID) writes:
>- from the documentation, I understand that "-S <n>" specifies
>  the size of memory allocated by "tcio" for its use and is without
>  relation with the physical encoding on the tape. However, I have
>  noticed tapes written with -S 8 that could not be read again
>  without this option.
>
>- I have a similar problem with the "-Z" option. From the documentation
>  I understand that this option allows a binary copy. So, for example,
>  a tape written directly (by "tar(1)", for example) can be restored
>  using "tcio ... -Z ... | tar ...".  My attempts have been stopped by
>  a "tcio" hang, even "kill -9" doesn't work.

The -S option only affects the amount of data transferred across the hpib
in a single write, the data is stored on thap the same regardless of what
-S size you use (well, almost). I can write/read tapes with different -S
sizes, perhaps you have a bad tape.

I have found that if I don't use the -e switch when writing tapes, I can have
trouble reading them back (-e write an end of tape mark after your data).
Seems especially true when used with cpio (you get extra garbage from the
end of the tape and cpio chokes).

It sounds like what you want is "tcio -oZVeS 8 /dev/???".
	Z - don't waste the first and last block for tcio overhead
		(you may get in trouble if your data won't fit on a single
		tape. I've never tried it).
	V - don't do a verification pass. The 9144 doesn't need it as it
		does a read while write.
	e - write a tape mark at the end of the data.
	S 8 - block size.

You may also want to check out /usr/include/sys/cs80.h for some undocumented
ioctl calls to control the tape (look at the end of the file).
----------------------------------------------------------------------
sdlfkj asdlkfowei dfs			My real signature is illegible too

rjn@hpfcdc.HP.COM (Bob Niland) (05/09/89)

re: "I have used the "tcio(1)" command to drive an HP9144 from a 9000/319..."

> - from the documentation, I understand that "-S <n>" specifies
>   the size of memory allocated by "tcio" for its use and is without
>   relation with the physical encoding on the tape.

It implicitly specifies the maximum I/O request sent across HP-IB.  Keeping
it below the buffer size in the tape drive (12K or so) prevents the bus from
being temporarily hung up waiting for data to make it to the tape media.

>   ...                                              However, I have
>   noticed tapes written with -S 8 that could not be read again
>   without this option.

The use of "S" with any value should have no effect on the data written to
the tape.

> - I have a similar problem with the "-Z" option. From the documentation
>   I understand that this option allows a binary copy. 

Not exactly.  The default operation of tcio is to write an EOF (zero-length
block as I recall) at the beginning of the tape and at /dev/rct close.
This prevents accidental push-button copying of the tape to a 7908, 791x or
7942/46 disk drive.  If you write with "Z" but don't specify it upon read,
tcio will probably skip the first 1K [data] block, presuming that it is a ZLR.

Regards,                                              Hewlett-Packard
Bob Niland        rjn%hpfcrjn@hplabs.HP.COM           3404 East Harmony Road
                  [hplabs|hpu...!hpfcse]!rjn          Ft Collins CO 80525-9599

accu@hpuepta.UUCP (Accugraph Corp) (01/12/90)

The HP-UX 6.2 & 6.5 tcio(1) manual entries refer to read-while-write hardware
capabilities to be described in the DEPENDENCIES section (for the -V option).
However, there is no reference to this feature in that section.  The 7.0
manuals do state that this feature is supported for: 7942, 7946, 7941CT, 9144A
and 35401.

Question: does tcio(1) support this capability in 6.2 and 6.5 (i.e. is the
manual page incorrect or was something added to tcio(1) in 7.0)?

Philip Webster
hplabs!hpuepta!attila!pw

P.S.  I discovered a convenient way to block until a tape is loaded especially
nice for our 35401 in seq. mode for producing our software.

#! /bin/csh
set src_loaded = 0
while ( $src_loaded == 0 )
	sleep 30
	tcio -i -S 8 /dev/update.src |& dd bs=1k count=1 >& /dev/null
	if ( $status == 0 ) then
		src_loaded = 1
	endif
end

wayne@dsndata.uucp (Wayne Schlitt) (01/15/90)

In article <32870010@hpuepta.UUCP> accu@hpuepta.UUCP (Accugraph Corp) writes:
> 
> Question: does tcio(1) support this capability in 6.2 and 6.5 (i.e. is the
> manual page incorrect or was something added to tcio(1) in 7.0)?
> 
> 

to the best of my knowledge, yes, 6.2 and 6.5 do support the -V
option.  we were able to cut our backup time using a 9144 by about
30% by using "tcio -V -S 8".  it still isnt blazingly fast, but every
little bit helps.


-wayne

kev@hpcpbla.HP.COM (Kevin Jones) (01/15/90)

The 9144A, 35401, 7914CT, 7946 drives all have read-while-write capability
in hardware. Data written by a write head is immediatly read back by 
a read head. Verification is thus achieved "on the fly" making a verify
pass redundant. Hence the "-V" option in tcio to inhibit the verify pass.

The aforementioned drives will perform read-while-write irrespective of the 
OS revision. If an error is detected in the written data then these drives
will perform retries. If the retries fail then the block being written 
will be re-mapped and written to a spare block on tape. 

Read-while-write, retries and sparing are all performed by the drives 
themselves. The OS (whatever its revision) has no involvement in these
processes. 

The 9145 drive also does its own read-while-write, retries and sparing.

I'm not sure what the 9142 drive does.

Note: 7914P (disk with push-button-backup) tape units do not posess read
while write ability. 


-----------------------------------------------------------------
Kevin Jones.                       | Hewlett Packard Ltd,
                                   | Computer Peripherals Bristol,
kev%hpcpbla@hplb.hpl.hp.com        | Filton Road,
                                   | Stoke Gifford,
Tel: 011 44 272 799910 (ext 22351) | Bristol.   BS12 6QZ.
                                   | ENGLAND.
-----------------------------------------------------------------