Date: Sun, 29 Dec 1996 23:30:28 +1100 (EST) From: Andrew MacIntyre <andymac@bullseye.apana.org.au> To: dwhite@resnet.uoregon.edu Cc: freebsd-questions@freebsd.org, freebsd-hardware@freebsd.org Subject: UPDATE: Re: Problems with HP T4000s tape drive Message-ID: <Pine.BSF.3.91.961229232656.258A@bullseye.apana.org.au> In-Reply-To: <Pine.BSI.3.94.961226152637.248G-100000@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
I have succeeded in getting this device to work (AFAICT), and now have
a backup of the system. Don't yet know whether what I think went on to
the tape is what will come off it though ... :-|
Two parts to the solution:-
a) patch st.c and scsi_tape.h to treat the reported density code (0x45)
as a QIC_3095, and behave the same as a QIC_3080 (based on 2.1.5's
st.c/scsi_tape.h).
b) update the drive's FLASH ROM to firmware v1.06. Fortunately, HP has
posted the updated firmware on their web/ftp site and provide a DOS
utility to install it (requires ASPI drivers).
Item a) on its own made little difference, however item b) really clicked
things together!
There are two wrinkles left to irritate me. The first is that the
drive is being reported as being empty on bootup, when it does contain
a tape. It seems to me that this might a timing issue, as the drive
is fiddle-farting around while the probe is under way. I guess I
should try extending the settling time from 15s to 30-45s and see if
it has any effect.
The other wrinkle is that the driver is reporting an unrecognised
SCSI command. If someone recognises it as a "quirk" from the following
transcript (SCSI_DEBUG enabled, date/time removed for brevity), could
they please let me know so that I can deal with it (from memory, this
was triggered by an "mt status").
TIA and all the best for the new year.
---8<---<8---8<---
bullseye /kernel: st0(ncr0:4:0): scsi_cmd
bullseye /kernel: st0(ncr0:4:0): scsi_done
bullseye /kernel: st0(ncr0:4:0): command: 0,0,0,0,0,0-[0 bytes]
bullseye /kernel: code70 valid0 seg0 key6 ili0 eom0 fmark0
bullseye /kernel: info: 0 0 0 0 followed by 16 extra bytes
bullseye /kernel: extra: 0 0 0 0 28 0 0 0 0 0 1 12 0 0 0 0
bullseye /kernel: st0(ncr0:4:0): calling private err_handler()
bullseye /kernel: st0(ncr0:4:0): private err_handler() returned -1
bullseye /kernel: st0(ncr0:4:0): calling private start()
bullseye /kernel: st0(ncr0:4:0): ststart st0(ncr0:4:0): scsi_cmd
bullseye /kernel: st0(ncr0:4:0): scsi_done
bullseye /kernel: st0(ncr0:4:0): command: 0,0,0,0,0,0-[0 bytes]
bullseye /kernel: st0(ncr0:4:0): calling private start()
bullseye /kernel: st0(ncr0:4:0): ststart st0(ncr0:4:0): mounting
bullseye /kernel: st0(ncr0:4:0): scsi_cmd
bullseye /kernel: st0(ncr0:4:0): scsi_done
bullseye /kernel: st0(ncr0:4:0): command: 1b,0,0,0,1,0-[0 bytes]
bullseye /kernel: st0(ncr0:4:0): calling private start()
bullseye /kernel: st0(ncr0:4:0): ststart st0(ncr0:4:0): scsi_cmd
bullseye /kernel: st0(ncr0:4:0): scsi_done
bullseye /kernel: st0(ncr0:4:0): command: 0,0,0,0,0,0-[0 bytes]
bullseye /kernel: st0(ncr0:4:0): calling private start()
bullseye /kernel: st0(ncr0:4:0): ststart st0(ncr0:4:0): scsi_cmd
bullseye /kernel: st0(ncr0:4:0): scsi_done
bullseye /kernel: st0(ncr0:4:0): command: 5,0,0,0,0,0-[6 bytes]
bullseye /kernel: ------------------------------
bullseye /kernel: 000: 00 00 02 00 02 00
bullseye /kernel: ------------------------------
bullseye /kernel: st0(ncr0:4:0): calling private start()
bullseye /kernel: st0(ncr0:4:0): ststart st0(ncr0:4:0): scsi_cmd
bullseye /kernel: st0(ncr0:4:0): scsi_done
bullseye /kernel: st0(ncr0:4:0): command: 1a,0,0,0,c,0-[12 bytes]
bullseye /kernel: ------------------------------
bullseye /kernel: 000: 0b b6 10 08 45 00 00 00 00 00 02 00
bullseye /kernel: ------------------------------
bullseye /kernel: st0(ncr0:4:0): calling private start()
bullseye /kernel: st0(ncr0:4:0): ststart st0(ncr0:4:0): starting block mode decision
bullseye /kernel: st0(ncr0:4:0): scsi_cmd
bullseye /kernel: st0(ncr0:4:0): scsi_done
bullseye /kernel: st0(ncr0:4:0): command: 15,0,0,0,c,0-[12 bytes]
bullseye /kernel: ------------------------------
bullseye /kernel: 000: 00 00 10 08 45 00 00 00 00 00 02 00
bullseye /kernel: ------------------------------
bullseye /kernel: st0(ncr0:4:0): calling private start()
bullseye /kernel: st0(ncr0:4:0): ststart st0(ncr0:4:0): scsi_cmd
bullseye /kernel: st0(ncr0:4:0): scsi_done
bullseye /kernel: st0(ncr0:4:0): command: 1e,0,0,0,1,0-[0 bytes]
bullseye /kernel: code70 valid0 seg0 key5 ili0 eom0 fmark0
bullseye /kernel: info: 0 0 0 0 followed by 16 extra bytes
bullseye /kernel: extra: 0 0 0 0 20 0 0 0 0 0 1 5 0 0 0 0
bullseye /kernel: st0(ncr0:4:0): calling private err_handler()
bullseye /kernel: st0(ncr0:4:0): private err_handler() returned -1
bullseye /kernel: st0(ncr0:4:0): ILLEGAL REQUEST asc:20,0 Invalid command operation code
bullseye /kernel: st0(ncr0:4:0): calling private start()
bullseye /kernel: st0(ncr0:4:0): ststart st0(ncr0:4:0): Open complete
bullseye /kernel: st0(ncr0:4:0): stopen: dev=0xe01 (unit 0) result 0
bullseye /kernel: st0(ncr0:4:0): [ioctl: get status]
bullseye /kernel: st0(ncr0:4:0): stclose: Closing device
---8<---8<---8<---
--
Andrew I MacIntyre "These thoughts are mine alone..."
E-mail: andrew.macintyre@aba.gov.au (work) | Snail: PO Box 370
andymac@bullseye.apana.org.au (play) | Belconnen ACT 2616
Fido: Andrew MacIntyre, 3:620/243.18 | Australia
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.91.961229232656.258A>
