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
|