From owner-freebsd-hardware Sun Dec 29 11:15:41 1996 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id LAA08494 for hardware-outgoing; Sun, 29 Dec 1996 11:15:41 -0800 (PST) Received: from saturn.apana.org.au (root@saturn.apana.org.au [202.12.90.3]) by freefall.freebsd.org (8.8.4/8.8.4) with SMTP id LAA08471; Sun, 29 Dec 1996 11:15:29 -0800 (PST) Received: by saturn.apana.org.au id m0veQhe-0000XjC (Debian /\oo/\ Smail3.1.29.1 #29.37); Mon, 30 Dec 96 06:15 EST Received: (from andymac@localhost) by bullseye.apana.org.au (8.6.12/8.6.12) id XAA00266; Sun, 29 Dec 1996 23:30:29 +1100 Date: Sun, 29 Dec 1996 23:30:28 +1100 (EST) From: Andrew MacIntyre To: dwhite@resnet.uoregon.edu cc: freebsd-questions@freebsd.org, freebsd-hardware@freebsd.org Subject: UPDATE: Re: Problems with HP T4000s tape drive In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-hardware@freebsd.org X-Loop: FreeBSD.org Precedence: bulk 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