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. :)
> 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.
> 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 assume your camcontrol binary, libcam.a, and kernel were all built off
the same sources today?
> 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.
If that works, we can then try to figure out what is going on.
Ken
--
Kenneth Merry
[EMAIL PROTECTED]
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message