Date: Tue, 11 Feb 1997 01:00:53 +0100 (MET) From: Peter Mutsaers <plm@xs4all.nl> To: John-Mark Gurney <gurney_j@resnet.uoregon.edu> Cc: freebsd-bugs@freefall.freebsd.org Subject: Re: kern/2698: scsi tape driver problem Message-ID: <199702110000.BAA00374@plm.xs4all.nl> In-Reply-To: <Pine.BSF.3.95q.970210124628.24299G-100000@hydrogen.nike.efn.org> References: <199702101950.LAA20963@freefall.freebsd.org> <Pine.BSF.3.95q.970210124628.24299G-100000@hydrogen.nike.efn.org>
next in thread | previous in thread | raw e-mail | index | archive | help
>> On Mon, 10 Feb 1997 12:49:37 -0800 (PST), John-Mark Gurney
>> <jmg@nike.efn.org> said:
JG> modify /usr/src/sys/scsi/scsiconf.c so that an entry like the "WANGTEK",
JG> "5525ES*"
JG> but have it be something like:
JG> {
JG> ..., ..., ..., "DEC", "TZK10", "00B3",
JG> ...
JG> }
JG> then recompile your kernel and see what happens... hope this works...
JG> ttyl..
I did this. The result is that mt -f /dev/rst0 status now reports the
correct densities:
/sys/scsi# mt -f /dev/rst0 status
Present Mode: Density = QIC-150 Blocksize = 512 bytes
---------available modes---------
Mode 0: Density = 0x00 Blocksize variable
Mode 1: Density = QIC-320 Blocksize variable
Mode 2: Density = QIC-150 Blocksize variable
Mode 3: Density = QIC-120 Blocksize variable
instead of those X3.--- density codes (whatevery they are).
Note that at first for mode 2 blocksize 512 was shown, but after some
actions this changed into variable. Strange.
Indeed, as Joerg Wunsch said, the QIC 150 tape seems to write variable blocks
instead of 512 byte blocks. (525MB tapes are always variable blocks. I
have no problems at all with them).
I can check this as follows:
/sys/scsi# restore tf /dev/rst0
st0: block wrong size, 64 blocks residual
tape read error: Input/output error
but using rst0.1 (act as if QIC 320, whatever that is, which is
supposed to have variable blocksize:
/sys/scsi# restore tf /dev/rst0.1
Dump date: Tue Feb 11 00:38:03 1997
Dumped from: the epoch
Level 0 dump of /var on plm.xs4all.nl:/dev/sd1f
Label: none
^Crestore interrupted, continue? [yn]
At least I have a workaround for now.
I do know that indeed I've had problems in the past with reading QIC
150 tapes under Linux, when written under FreeBSD.
I've never encountered such problems under Linux however. I cannot
check the behaviour under Linux anymore however since I've removed
that from my system. But I think indeed I got error messages under
Linux when reading QIC 150 tapes written by FreeBSD, indicating that
the blocksize didn't match.
Probably Linux tried to read 512 byte blocks from the device. I
remember that even experimenting with 'dd if=/dev/st0 bs=10k' didn't
help. Which is logical, since 10k to the block device /dev/st0 still
results internally into reading 512 byte blocks.
--
Peter Mutsaers | Abcoude (Utrecht), | Trust is a good quality
plm@xs4all.nl | the Netherlands | for other people to have
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199702110000.BAA00374>
