[comp.unix.i386] ISC UNIX 2.2 & tape drive

todd@uhccux.uhcc.Hawaii.Edu (Todd Ogasawara) (07/22/90)

I just installed Interactive UNIX 2.2 on my Everex Step 386/33
yesterday and am having a problem with my 150MB Wangtek drive with a
QIC-36 controller. My problem is the usual one you see written about
here: the drive is not streaming when I write to or read from the
tape.

The tape drive and controller worked at the advertised 5Mb/minute rate
when I tested the unit with MS-DOS 3.3 and the Everex supplied tape
software. The problem only turned up after I dumped MS-DOS and
installed ISC UNIX 2.2.

One problem that was immediately evident were constant messages on the
console screen about an "ASY interrupt" conflict. I disabled the
serial port driver and that message went away on the next 'tar' test.
However, the tape still did not stream. I tried both 'dd' and 'ddd' to
see if they would work better. But they did no better than tar (about
10 minutes to save 500kbytes of files).

I'm planning to call Interactive on Monday to see if I can get some
tech support on my newly purchased ISC 2.2. However, given the
comments I've seen in this newsgroup about ISC support, I don't expect
to get any helpful answers from them (I'm really beginning to think I
should have followed my initial impulse to buy ESIX now!). So, if
anyone has any ideas (device incompatibilities, interrupt collisions,
etc.), please let me know. My hardware is configured as follows.

Everex Step 386/33, 256K cache, 8M RAM
15mbps Adaptec ESDI hard disk/floppy controller
770MB Maxtor (660M formatted) hard disk drive
Everex serial/parallel card (standard with the Step 386/33)
Everex Super VGA card with Everex Viewpoint color VGA display
Digiboard PC/16i serial I/O board (no interrupts used as instructed
	by the Digiboard instructions for use with 386/ix 2.0.2)
	The Digiboard and its driver software seems to work fine
	with ISC 2.2, btw.

Thanks for any help anyone out there can give me!...todd
-- 
Todd Ogasawara, U. of Hawaii
UUCP:		{uunet,ucbvax,dcdwest}!ucsd!nosc!uhccux!todd
ARPA:		uhccux!todd@nosc.MIL		BITNET: todd@uhccux
INTERNET:	todd@uhccux.UHCC.HAWAII.EDU

cpcahil@virtech.uucp (Conor P. Cahill) (07/23/90)

In article <8688@uhccux.uhcc.Hawaii.Edu> todd@uhccux.uhcc.Hawaii.Edu (Todd Ogasawara) writes:
>
>see if they would work better. But they did no better than tar (about
>10 minutes to save 500kbytes of files).

Try cpio with -C 102400  which should give you about 1MB of buffering and
therefore handle the problem.

You could also try afio, which is reputed to use double buffering.

Experiments with tape drives and console output have shown that if you have
scrolling output on your console it will cause the tape drive output to 
pause momentarily and restart.  This has a very bad effect on the throughtput
of your tape output, so you should not use any of the aformentioned commands
with the verbose flag set (unless you redirect the verbosity into a file).

-- 
Conor P. Cahill            (703)430-9247        Virtual Technologies, Inc.,
uunet!virtech!cpcahil                           46030 Manekin Plaza, Suite 160
                                                Sterling, VA 22170 

martin@mwtech.UUCP (Martin Weitzel) (07/24/90)

In article <1990Jul23.011636.14224@virtech.uucp> cpcahil@virtech.UUCP (Conor P. Cahill) writes:
[some lines deleted]
>
>Experiments with tape drives and console output have shown that if you have
>scrolling output on your console it will cause the tape drive output to 
>pause momentarily and restart.  This has a very bad effect on the throughtput
>of your tape output, so you should not use any of the aformentioned commands
>with the verbose flag set (unless you redirect the verbosity into a file).

Very true.

If scrolling of the console screen is the problem, here is some
workaround% which would keep the tape streaming.

# ---------------------------------------------------------------
some backup-program in verbose mode |
awk '
BEGIN {
	CSI  = sprintf("%c[", 27)
	HOME = CSI "H"
	CTEOS= CSI "J"
}
NR % (lines - 3) == 1 {
	printf(HOME "Backup in progress ..." CTEOS);
}
{
	printf("\n%-5d: %s", NR, $1);
}
END {
	printf("\n... DONE (%d files)\n", lines);
}
' lines="${LINES:-25}" -
# ---------------------------------------------------------------

%: Yes, yes I know all what you want to comment on it and I promise
I'll write it in C and with curses and make it more portable ...
some day  1/2:-)
-- 
Martin Weitzel, email: martin@mwtech.UUCP, voice: 49-(0)6151-6 56 83

martin@mwtech.UUCP (Martin Weitzel) (07/24/90)

In article <852@mwtech.UUCP> I wrote:
>
>If scrolling of the console screen is the problem, here is some
>workaround% which would keep the tape streaming.
>
># ---------------------------------------------------------------
>some backup-program in verbose mode | awk '
[..awk script deleted..]
>'
For the "not-so-knowledgable" Unix users I should possibly add that
the verbose output of some backup-program must be redirected then from
standard error to standard output (use: 2>&1 left from the pipe symbol)
and if cpio is your backup-program you should name the output device
thru the "-O"-switch then. (If you have an older version of "cpio"
which doesn't support the "-O"-switch it is essential that 2>&1 appears
on the left side from the standard output redirection: >output-device.)

BTW: If you use "find" to collect the files for backup, you should check
if your "find" supports the "-cpio"-switch. This saves one process and the
copying of all the bytes thru a pipeline.
-- 
Martin Weitzel, email: martin@mwtech.UUCP, voice: 49-(0)6151-6 56 83

rick@pcrat.uucp (Rick Richardson) (07/25/90)

In article <852@mwtech.UUCP> martin@mwtech.UUCP (Martin Weitzel) writes:
>If scrolling of the console screen is the problem, here is some
>workaround% which would keep the tape streaming.
>%: Yes, yes I know all what you want to comment on it and I promise
>I'll write it in C and with curses and make it more portable ...
>some day  1/2:-)

How about using shell and 'tput'?  The 'expr's will crank up
process ID's pretty quick, but it isn't hardwired to escape
sequences anymore.  Korn shell, or passing the escapes into awk
with HOME="$home" and the like can get rid of the expr's,
if you care.

n=0
lines=`tput lines`
clear=`tput clear`
home=`tput home`
limit=`expr $lines - 3`
(backup program) | while read a
do
	if [ `expr $n % $limit` -eq 0 ]
	then
		echo "${home}${clear}Backup in progress ..."
	fi
	echo "$n:	$a"
	n=`expr $n + 1`
done
echo "... Done ($n files)"

-Rick

-- 
Rick Richardson | Looking for FAX software for UNIX/386 ??? Ask About: |Mention
PC Research,Inc.| FaxiX - UNIX Facsimile System (tm)                   |FAX# for
uunet!pcrat!rick| FaxJet - HP LJ PCL to FAX (Send WP,Word,Pagemaker...)|Sample
(201) 389-8963  | JetRoff - troff postprocessor for HP LaserJet and FAX|Output