kern/103602: drive gets wedged on READ CD CAPACITY if no disc is in

Thomas Quinot thomas at FreeBSD.ORG
Tue Apr 24 16:20:10 UTC 2007


* Josh Carroll, 2007-04-04 :

> Thinking out of the box, I decided to use sg3_utils on both the
> semi-working 7.0-CURRENT kernel I had, and on a Linux Knoppix 5.1 live
> CD.

OK, this is a useful experiment. It really looks to me like some error
condition that *could* be correctly detected (because it *is* detected
under Knoppix) is *not* correctly detected in FreeBSD, causing various
commands to time out.

Now what I think would be really useful would be to try to reproduce
these timeouts with ATAPI/CAM out of the loop, calling directly the
ATAPI layer instead.

I wrote a small program that tests that, which you'll find attached to
this message.  You can compile it using:
  gcc -o readcap readcap.c

You can then try:
  $ readcap /dev/acd0

Here's what I observe here, first with no disk in the drive (the
important item is sk=02, NOT READY), second with a disk in the drive.

$ ./readcap /dev/acd0
ioctl returned error 5 Input/output error
Sense data: error=70 sk=02 asc=3a ascq=00
$ ./readcap /dev/acd0
ioctl returned error 0 Unknown error: 0
Sense data: error=00 sk=00 asc=00 ascq=00
LBA of last sector in last session: 187279
Sector size: 2048

> Interestingly, the sg_vpd command fails to read the serial # as well,
> so that is definitely a known bug with this drive I think. Here is the
> sg_vpd output on Knoppix:

OK, so ultimately we might need to include this quirk anyway. We'll see.

Thomas.



More information about the freebsd-scsi mailing list