From: robm@ataraxia.Berkeley.EDU (Rob McNicholas)
Newsgroups: comp.unix.ultrix
Subject: SCSI/CAM problems
Date: 4 Sep 92 15:01:16
Organization: Technical and Computing Services, U.C. Berkeley, Berkeley, CA
Distribution: world
NNTP-Posting-Host: ataraxia.berkeley.edu

Hi everyone,

I've recently installed the Open SCSI/CAM software on my DECstation,
and I'm suddenly having some inexplicable (by me) problems with my
tape drives.  Here's the scenario:

System: DEC5000/125, Ultrix 4.2C
	scsi bus#0: one RZ57
                    one RRD42
		    two EXB-8200 8mm drives Mountain Filesafe 2100D (Rev 252X)

	scsi bus#1: two RZ57s
		    one TZK50
                    one EXB-8200 (same as above)


As you may have guessed, this machine is used as a "dump server".  We
have not changed our usage pattern since the upgrade, (i.e. we're not
doing anything we didn't do before).  We write out dumps with a block
size of 126b (64512 bytes).

We now seem to get an inordinate number of CAM errors occurring
randomly during dumps, as well as reproducible errors from certain
utilities.  Attached at then end of this message is sample output from
uerf and cam_report.

This particular error given in the example was caused by using the
public domain "copytape" program, by David S. Hayes.  The program
aborts in a read() with an ENOSPC error (the actual error output is:
"copytape: can't read input: I/O error").  This is consistenly
reproducible from any tape drive.  Now we can't make duplicates of our
backups anymore :-( I saw a note in the CAM release notes that
mentioned a problem with model 100 machines returning the wrong number
of bytes on odd-byte tranfers.  Could this be related?  The code looks
like it's doing the right thing (checking the return value of the
read() call for the actual number of bytes tranferred).

I should point out that we can still read this tape "dd ibs=126b
if=/dev/nrmtNh | zcat | restore if -".

Anyone having similar experiences?  Anyone have any suggestions?

If I decide to back out on this "upgrade", will I have to reinstall
the 4.2A kernel config files?  (I'd hate to have to do that since I've
since installed a bunch of patches.)

Thanks for any help, and apologies for the length of this message.

-Rob
--
Rob McNicholas     	    Technical & Computing Services, EECS, U.C. Berkeley
robm@ataraxia.berkeley.edu  Voice: 510/642-8633  FAX: 510/643-7846


uerf reports these errors as:

    ----- EVENT INFORMATION -----

    EVENT CLASS                             ERROR EVENT
    OS EVENT TYPE                  199.     CAM SCSI
    SEQUENCE NUMBER                  8.
    OPERATING SYSTEM                        ULTRIX 32
    OCCURRED/LOGGED ON                      Fri Sep  4 14:01:30 1992 PDT
    OCCURRED ON SYSTEM                      ataraxia.Ber
    SYSTEM ID                 x82030230     HW REV: x30
					    FW REV: x2
					    CPU TYPE: R2000A/R3000
    PROCESSOR TYPE                          KN02-BA

    ----- UNIT INFORMATION -----

    CLASS                                   TAPE
    SUBSYSTEM
    BUS #                         x0001
					    LUN x0
					    TARGET x1

cam_report gives this more verbose, but just as incomprehensible (to
me) output:

    Sequence number of error: 8
    Time of error entry: Fri Sep  4 14:01:30 1992

    Host name: ataraxia.Ber
    SCSI CAM ERROR PACKET
    Controller type: UNKNOWN
    SCSI device class: TAPE
    Bus Number: 1
    Target number: 1 Lun Number: 0
    Routine Name: ctape_iodone
    Routine Error Message: Hard Error Detected
    Device Name: EXABYTE EXB-8200
    Routine Message: Active CCB at time of error
    Routine Message: CCB request completed with an error

    Dumping SCSI I/O CCB at 0x1000e158:

    CCB Header:
    Address of this CCB .................... *my_addr: 0xc1a12df0
    Length of the entire CCB ............ cam_ccb_len: 0x8c
    The XPT function code ............. cam_func_code: 0x1 (XPT_SCSI_IO)
    CAM subsystem status ................. cam_status: 0xc4 (CCB request completed w
    ith an error)
    Path ID for the request ............. cam_path_id: 0x1
    Target device ID .................. cam_target_id: 0x1
    Target LUN number ................ cam_target_lun: 0x0
    Operation flags for subsystem ......... cam_flags: 0x40
	    CAM Flags Set:
	    CAM_DIR_IN = Data direction is 'DATA IN'.

    Peripheral driver pointer ......... *cam_pdrv_ptr: 0xc1a12c18
    Next CCB pointer .................. *cam_next_ccb: 0x0
    Request mapping info pointer ....... *cam_req_map: 0xc1a98000
    Callback completion function ........ *cam_cbfcnp: 0x80145a04
    Data buffer/SG list pointer ....... *cam_data_ptr: 0x100019c0
    Data transfer length .............. cam_dxfer_len: 262144 (0x40000)
    Sense data buffer pointer ........ *cam_sense_ptr: 0xc1a12c30
    Sense data buffer length .......... cam_sense_len: 64
    Number of bytes in this CDB ......... cam_cdb_len: 6
    Scatter gather list entries ...... cam_sglist_cnt: 0
    SCSI device status code ......... cam_scsi_status: 0x2 (SCSI_STAT_CHECK_CONDITION)
    Autosense residual length ....... cam_sense_resid: 38
    Transfer residual length .............. cam_resid: 262144
    Command descriptor block in CCB at..cam_cdb_bytes: 0x1000e194
    Command descriptor block bytes ....... cam_cdb_io: 8 0 4 0 0 0
    Command timeout value ............... cam_timeout: 326 seconds
    Message buffer pointer ............. *cam_msg_ptr: 0x0
    Message buffer length .............. cam_msgb_len: 0
    Vendor unique flags ................ cam_vu_flags: 0x0
    Tag queuing action ............... cam_tag_action: 0x0


		    ############### Entry End ###############

    Routine Message: Error, exception, or abnormal condition
    Routine Message: Illegal request or CDB parameter

    Dumping Request Sense Data at 0x1000e278:
    Error code ...................... : 0x0
    Error class ..................... : 0x7
    Information fields valid ........ : 0
    Segment number .................. : 0x0
    Sense Key ....................... : 0x5 (Illegal request or CDB parameter)
    Illegal length indicator ........ : 0
    End of medium ................... : 1
    Tape file mark detected ......... : 0
    Information byte 3 .............. : 0x0
    Information byte 2 .............. : 0x0
    Information byte 1 .............. : 0x0
    Information byte 0 .............. : 0x0
    Additional sense length ......... : 0x12
    Command information byte 3 ...... : 0x0
    Command information byte 2 ...... : 0x0
    Command information byte 1 ...... : 0x0
    Command information byte 0 ...... : 0x0
    Additional sense code ........... : 0x0
    Additional sense qualifier ...... : 0x0
    Sense Code/Qualifier Message .... : No additional sense information
    Field replaceable unit code ..... : 0x0
    Additional sense bytes .......... : 0x0 0x0 0x0 0x0 0x0 0x1 0x20 0x0 0x0 0x22 0xfc

--
Rob McNicholas     	    Technical & Computing Services, EECS, U.C. Berkeley
robm@ataraxia.berkeley.edu  Voice: 510/642-8633  FAX: 510/643-7846
Newsgroups: comp.unix.ultrix