Hi,

   Many thanks for the response!! More below...

> On Mon, Feb 14, 2000 at 16:27:37 -0500, John W. DeBoskey wrote:
> > Hi,
> > 
> >    I have a -current system (current as of 1pm EST today) which I
> > am trying to use with a Pioneer DVR-S201 dvd writer...
> > 
> > FreeBSD FreeBSD2.unx.sas.com 4.0-CURRENT FreeBSD 4.0-CURRENT #0:
> >  Mon Feb 14 15:39:24 EST 2000   
> >  [EMAIL PROTECTED]:/usr/src/sys/compile/FreeBSD  i386
> > 
> > 
> >    The appropriate portions of dmesg:
> > 
> > pass6 at ahc4 bus 0 target 6 lun 0
> > pass6: <PIONEER DVD-R   DVR-S201 1.10> Removable CD-ROM SCSI-2 device
> > pass6: 10.000MB/s transfers (10.000MHz, offset 15)
> > cd1 at ahc4 bus 0 target 6 lun 0
> > cd1: <PIONEER DVD-R   DVR-S201 1.10> Removable CD-ROM SCSI-2 device
> > cd1: 10.000MB/s transfers (10.000MHz, offset 15)
> > cd1: cd present [1 x 2048 byte records]
> 
> Ahh, nice expensive toy. :)

Yes, now to get it working ... You need this type of backup capacity
when you're dealing with terabyte sized data servers...

> 
> >    When I attempt to run camcontrol against this device I
> > get the following:
> > 
> > #camcontrol inquiry cd1
> > (pass6:ahc4:0:6:0): data overrun detected in Data-in phase.  Tag == 0x8.
> > (pass6:ahc4:0:6:0): Have seen Data Phase.  Length = 256.  NumSGs = 1.
> > sg[0] - Addr 0x26c2000 : Length 256
> 
> Hmm, a data overrun means that the device returned more data than we
> expected.  This is likely related somehow to the recent inquiry structure
> size changes.
> 
> camcontrol doesn't yet do the short/long inquiry thing like the probe code
> does.

Make sense...

> 
> >   camcontrol on other devices appears to work correctly:
> > 
> > #camcontrol inquiry da0
> > pass0: <  > Fixed Direct Access SCSI-0 device 
> > pass0: Serial Number JK2556760WV28L
> > pass0: 40.000MB/s transfers (20.000MHz, offset 8, 16bit), Tagged Queueing Enabled
> 
> Nope, that isn't working correctly, at least the standard inquiry portion
> of it isn't.

   I kind of wondered about that, but the others were not generating
any errors on the console..

> I assume your camcontrol binary, libcam.a, and kernel were all built off
> the same sources today?

   Yes, the entire source tree is up-to-date & built.
>
> >    I have tried different cables and swapped scsi cards with no
> > luck. I have put the writer on a common card with other working
> > devices and on a card by itself and still get the same problem.
> > 
> >    If anyone can point me to where to start figuring this problem
> > out I would appreciate it.
> > 
> >    I have appended the entire boot -v dmesg below.
> 
> [ ... ]
> 
> > Feb 14 16:15:58 FreeBSD2 /kernel: cd1 at ahc4 bus 0 target 6 lun 0
> > Feb 14 16:15:59 FreeBSD2 /kernel: cd1: <PIONEER DVD-R   DVR-S201 1.10> Removable 
>CD-ROM SCSI-2 device 
> > Feb 14 16:15:59 FreeBSD2 /kernel: cd1: 10.000MB/s transfers (10.000MHz, offset 15)
> > Feb 14 16:15:59 FreeBSD2 /kernel: cd1: cd present [1 x 2048 byte records]
> 
> Well, try this.  Go into src/sbin/camcontrol/camcontrol.c, and in the
> scsiinquiry() function, you'll see the following:
> 
>         scsi_inquiry(&ccb->csio,
>                      /* retries */ retry_count,
>                      /* cbfcnp */ NULL,
>                      /* tag_action */ MSG_SIMPLE_Q_TAG,
>                      /* inq_buf */ (u_int8_t *)inq_buf,
>                      /* inq_len */ sizeof(struct scsi_inquiry_data),
>                      /* evpd */ 0,
>                      /* page_code */ 0,
>                      /* sense_len */ SSD_FULL_SIZE,
>                      /* timeout */ timeout ? timeout : 5000);
> 
> Change the inq_len parameter from the full inquiry structure size to
> SHORT_INQUIRY_LENGTH.

 I changed the code as follows:

        scsi_inquiry(&ccb->csio,
                     /* retries */ retry_count,
                     /* cbfcnp */ NULL,
                     /* tag_action */ MSG_SIMPLE_Q_TAG,
                     /* inq_buf */ (u_int8_t *)inq_buf,
#if 0
                     /* inq_len */ sizeof(struct scsi_inquiry_data),
#else
                     /* inq_len */ SHORT_INQUIRY_LENGTH,
#endif
                     /* evpd */ 0,
                     /* page_code */ 0,
                     /* sense_len */ SSD_FULL_SIZE,
                     /* timeout */ timeout ? timeout : 5000);

   and rebuilt. I then reran 'camcontrol inquiry' on the different
devices and it seems to work like a champ:

#./camcontrol inquiry cd0
pass5: <YAMAHA CRW4260 1.0g> Removable CD-ROM SCSI-2 device 
pass5: 3.300MB/s transfers 
#./camcontrol inquiry cd1
pass6: <PIONEER DVD-R   DVR-S201 1.10> Removable CD-ROM SCSI-2 device 
pass6: 10.000MB/s transfers (10.000MHz, offset 15)
#./camcontrol inquiry da0
pass0: <SEAGATE ST34572W 0784> Fixed Direct Access SCSI-2 device 
pass0: Serial Number JK2556760WV28L
pass0: 40.000MB/s transfers (20.000MHz, offset 8, 16bit), Tagged Queueing Enabled

   So, it seems like you nailed it the first time.

> 
> If that works, we can then try to figure out what is going on.

Ok, point me in the right direction and I'll be glad to help any way
I can.. Is the above a non-permanent fix that should be put in before
4.0-RELEASE?

> 
> Ken
> -- 
> Kenneth Merry
> [EMAIL PROTECTED]
> 

Thanks!
John




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to