Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Jul 2007 15:40:51 -0700
From:      Jeremy Chadwick <koitsu@FreeBSD.org>
To:        "Uffe R. B. Andersen" <urb@twe.net>
Cc:        freebsd-stable <freebsd-stable@freebsd.org>
Subject:   Re: SCSI error during boot
Message-ID:  <20070718224051.GA17798@eos.sc1.parodius.com>
In-Reply-To: <469E8589.8060105@twe.net>
References:  <469E8589.8060105@twe.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jul 18, 2007 at 11:26:33PM +0200, Uffe R. B. Andersen wrote:
> When I boot my FreeBSD 6.2-RELEASE-p6, I get the following error:
> 
> (pass0:ahc0:0:0:0): Vendor Specific Command. CDB: 85 8 e 0 0 0 1 0 0 0 0 0 0 0 e c 0
> (pass0:ahc0:0:0:0): CAM Status: SCSI Status Error
> (pass0:ahc0:0:0:0): SCSI Status: Check Condition
> (pass0:ahc0:0:0:0): ILLEGAL REQUEST asc:20,0
> (pass0:ahc0:0:0:0): Invalid command operation code: Command byte 0 is invalid
> {snip}
> pass0: <QUANTUM ATLAS_V_18_WLS 0230> Fixed Direct Access SCSI-3 device

Your drive is a Quantum/Maxtor/Seagate Atlas V (presumably 10Krpm).
Based on the following SCSI 2 implementation specification, the drive
does not support SCSI operation code 0x85; see section 5.0 table 35 in
the below PDF.  ASC 0x20 0x00 for this drive means Invalid Command
Operation Code; see section 5.34.3 of the below PDF:

http://seagate.com/support/disc/manuals/scsi/38479j.pdf

According to the official T10 documentation, operation code 0x85 is for
ATA pass-through capability:

http://t10.t10.org/ftp/t10/document.04/04-262r8.pdf

However, there's mention of this command on some Linux mailing lists,
and seems to imply that revision of documentation is wrong:

http://groups.google.com/group/fa.linux.kernel/browse_thread/thread/88b473fabed044b5/20069c720cde3325?lnk=st&q=scsi+0x85+command&rnum=8&hl=en#20069c720cde3325

...and that command 0x85 on SCSI-3 should do nothing.  See Annex D,
or page 427 here:

http://www.t10.org/ftp/t10/drafts/spc3/spc3r21c.pdf

Either way, none of this appears to be a controller problem.

The bottom line here is that your drive doesn't support a specific SCSI
command that's being submit to it.  In this case, it looks to be harmless.

> smartctl shows no errors on the disk, but this error occur:
> (pass0:ahc0:0:0:0): MODE SENSE(06). CDB: 1a 0 19 0 40 0
> (pass0:ahc0:0:0:0): CAM Status: SCSI Status Error
> (pass0:ahc0:0:0:0): SCSI Status: Check Condition
> (pass0:ahc0:0:0:0): ILLEGAL REQUEST asc:24,0
> (pass0:ahc0:0:0:0): Invalid field in CDB: Command byte 2 is invalid

That should only occur when you run smartctl.  SCSI operation
code 0x1a is Mode Sense (which the drive supports; see section 5.12).
But you have to break it down into sub-commands:

Byte 2 = %00011001
	PCF       = %00   (Return current values)
	Page Code = 0x19  (SCSI Port Control Mode page)

The drive claims to support this, but I don't know what it does.  :-)

ASC 0x24 0x00 for this drive means Invalid Field in CDB.  Possibly
this is a drive firmware bug or simply an implementation difference;
I've seen similar reports from Seagate drives on Solaris when using
smartctl -a /dev/rdsk/whatever.  The SMART results are shown, but it
throws an invalid CDB error on the console.

> I tried booting the server on a Fedora 7 Live cd, ran smartctl and got
> no error, so I assume the error is in the FreeBSD drivers.

> How do I proceed, to get a fix for this problem?

It's not a "problem", but admittedly it should be fixed somehow.  The
SCSI errors you get when using smartctl are something to discuss with
Bruce Allen (author of smartmontools):

http://smartmontools.sourceforge.net/

-- 
| Jeremy Chadwick                                    jdc at parodius.com |
| Parodius Networking                           http://www.parodius.com/ |
| UNIX Systems Administrator                      Mountain View, CA, USA |
| Making life hard for others since 1977.                  PGP: 4BD6C0CB |




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070718224051.GA17798>