ADSM-L

Re: Server for HPUX and EXB120

1997-05-05 08:54:24
Subject: Re: Server for HPUX and EXB120
From: Christoph Martin <martin AT UNI-MAINZ DOT DE>
Date: Mon, 5 May 1997 14:54:24 +0200
Hi Ken,

some weeks ago, I sent you the mail below. Now I have tried the Try
and Buy version, but it has all the same problems. The ADSM Server
can't register the EXB120 roboter correctly.

Christoph

Christoph Martin writes:
 > Ken,
 > 
 > thank you for your reply.
 > 
 > hannigan AT VNET.IBM DOT COM writes:
 >  > > Christoph,
 >  > >
 >  > > Can you get some trace data for this and send it to me? If the trace
 >  > > information is too big to e-mail, ftp it to index.storsys.ibm.com in
 >  > > directory /adsm/incoming and send me a note with the name of the file.
 >  > >
 >  > > To get the trace data, issue these commands:
 >  > >
 >  > > trace enable pvr mms
 >  > > trace begin trace.out
 >  > > define library exb120 libtype=scsi device=/dev/scsi/1
 >  > > trace end
 >  > >
 >  > > The trace data will be placed in 'trace.out' in the server directory.
 >  > >
 >  > > One other thing. As you can tell from the banner, this is a Beta Test
 >  > > version of the server.  It was not really intended for general purpose
 >  > > evaluation use -- we just neglected to remove it from the ftp server
 >  > > after our selected beta testers finished downloading it.  We *do* intend
 >  > > to provide an evaluation version of the server at the GA level.  When it
 >  > > becomes available, I recommend you uninstall the beta test server you
 >  > > are currently running and install the official evaluation server
 >  > > instead.
 >  > >
 > 
 > Here it is:
 > 
 >  <27>mmslib.c(719): Defining library EXB120, type=1.
 >  <27>mmstxn.c(206): Acquiring MMS universe lock (xLock).
 >  <27>mmslib.c(2317): Testing for existence of library EXB120.
 >  <27>mmslib.c(2353): Library EXB120 does not exist.
 >  <27>mmstxn.c(145): Allocating action item, code=1.
 >  <27>mmslib.c(4907): Creating library descriptor; name=EXB120, type=1.
 >  <27>mmslib.c(5178): Creating auto descriptor; dev=/dev/scsi/1.
 >  <27>mmslib.c(6556): Inserting library EXB120 into list.
 >  <27>mmsscsi.c(2945): Creating configuration for library EXB120.
 >  <27>mmslib.c(2485): Acquiring autochanger; lib=EXB120, wait=0.
 >  <27>mmsscsi.c(8060): Opening /dev/scsi/1.
 >  <27>mmsscsi.c(3487): Getting device info using autochanger /dev/scsi/1.
 >  <27>mmsscsi.c(3500): SCSI device /dev/scsi/1: product=< EXB120.
 > >, level=<ÀÒ÷°>.
 >  <27>mmsscsi.c(3591): Adding definition for < EXB120.
 > >.
 >       support module = 0
 >       robot eject    = 0
 >       inv unreliable = 0
 >       skip audits    = 0
 >       pos to elem    = 0
 >       slot to slot   = 0
 >       magazine       = 0
 >       robot initiate = 358331
 >       robot invert   = -1072441845
 >  <27>mmsscsi.c(3663): Getting element count for library EXB120 using 
 > autochanger /dev/scsi/1.
 >  <27>mmsscsi.c(3678): Library EXB120 element counts: drv=1953066862, 
 > slot=543584114, chgr=543975778, i/e=1918988921.
 >  <27>mmslib.c(2603): Releasing autochanger; lib=EXB120, dev=/dev/scsi/1.
 >  <27>mmsscsi.c(8093): Closing /dev/scsi/1.
 >  <27>mmstxn.c(443): Processing actions; outcome=ABORT.
 >  <27>mmslib.c(917): DEFINE LIB callback; outcome=ABORT, lib=EXB120.
 >  <27>mmslib.c(6594): Removing library EXB120 from list.
 >  <27>mmslib.c(5000): Destroying library descriptor; name=EXB120, type=1.
 >  <27>mmslib.c(5232): Destroying auto descriptor; dev=/dev/scsi/1.
 > 
 > There seems to go something wrong with the scsi inquiry.
 > 
 > I wrote a small program myself:
 > 
 > void s_mode_sense_addresses(int fd)
 > {
 >   struct sctl_io sctl_io;
 > #define MAX_LEN 0x70
 >   unsigned char sense_data[MAX_LEN];
 > 
 >   memset(&sctl_io, 0, sizeof(sctl_io));
 >   sctl_io.flags = SCTL_READ;
 >   sctl_io.cdb[0] = CMDmode_sense;
 >   sctl_io.cdb[1] = 8;
 >   sctl_io.cdb[2] = 0x1d;
 >   sctl_io.cdb[3] = 0;
 >   sctl_io.cdb[4] = MAX_LEN;
 >   sctl_io.cdb[5] = 0;
 >   sctl_io.cdb_length = 6;
 >   sctl_io.data = sense_data;
 >   sctl_io.data_length = MAX_LEN;
 >   sctl_io.max_msecs = 10000;
 >   if (ioctl(fd, SIOC_IO, &sctl_io) == -1)
 >     {
 >       /* request is invalid */
 >       perror("ioctl:SIOC_IO");
 >     }
 >   else if (sctl_io.cdb_status == S_GOOD)
 >     {
 >       /* device is ready */
 >       printf("Device is ready\n");
 >     }
 >   else if (sctl_io.cdb_status == S_BUSY ||
 >         (sctl_io.cdb_status == S_CHECK_CONDITION &&
 >          sctl_io.sense_status == S_GOOD &&
 >          sctl_io.sense_xfer > 2 &&
 >          (sctl_io.sense[2] & 0x0F) == 2))  /* can use sense_data */
 >     {
 >       /* device is not ready */
 >       printf("Device is not ready: cdb_status=%d, sense_status=%d\n",
 >           sctl_io.cdb_status, sctl_io.sense_status);
 >     }
 >   else
 >     {
 >       /* unknown state */
 >       printf("Unknown state: cdb_status=%d, sense_status=%d, sense_xfer=%d, 
 > sense_key=%d\n",
 >           sctl_io.cdb_status, sctl_io.sense_status, sctl_io.sense_xfer, 
 > sctl_io.sense[2] & 0x0F);
 >       printf("Additional Sense Code = %x, Additional Sense Code Qualifier = 
 > %x\n",
 >           sctl_io.sense[12], sctl_io.sense[13]);
 >     }
 > 
 >   printf("Sense Data Length: %d\n", sense_data[0]);
 >   printf("Page Code: %x\n", sense_data[4] & 0x3F);
 >   printf("Parameter List Length: %d\n", sense_data[5]);
 >   printf("Medium Transport Element Address: %d\n", sense_data[6] * 256 + 
 > sense_data[7]);
 >   printf("Number of Medium Transport Elements: %d\n", sense_data[8] * 256 + 
 > sense_data[9]);
 >   printf("First Storage Element Address: %d\n", sense_data[10] * 256 + 
 > sense_data[11]);
 >   printf("Number of Storage Elements: %d\n", sense_data[12] * 256 + 
 > sense_data[13]);
 >   printf("First Import/Export Element Address: %d\n", sense_data[14] * 256 + 
 > sense_data[15]);
 >   printf("Number of Import/Export Elements: %d\n", sense_data[16] * 256 + 
 > sense_data[17]);
 >   printf("First Data Transfer Element Address: %d\n", sense_data[18] * 256 + 
 > sense_data[19]);
 >   printf("Number of Data Transfer Elements: %d\n", sense_data[20] * 256 + 
 > sense_data[21]);
 > }
 > 
 > It gives the following output:
 > 
 > Sense Data Length: 23
 > Page Code: 1d
 > Parameter List Length: 18
 > Medium Transport Element Address: 121
 > Number of Medium Transport Elements: 1
 > First Storage Element Address: 0
 > Number of Storage Elements: 116
 > First Import/Export Element Address: 120
 > Number of Import/Export Elements: 1
 > First Data Transfer Element Address: 116
 > Number of Data Transfer Elements: 4
 > 
 > I hope these information help you to find the problem.
 > 
 > Please inform me if and where the GA eval version is.
 > 
 > Christoph
 > 
 > -- 
 > ============================================================================
 > Christoph Martin, Uni-Mainz, Germany
 >  Internet-Mail:  Christoph.Martin AT Uni-Mainz DOT DE
<Prev in Thread] Current Thread [Next in Thread>
  • Re: Server for HPUX and EXB120, Christoph Martin <=