Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Apr 2001 20:36:04 +0200
From:      J Wunsch <j@uriah.heep.sax.de>
To:        "Kenneth D. Merry" <ken@kdm.org>
Cc:        freebsd-scsi@FreeBSD.ORG
Subject:   Re: sa(4) jamming
Message-ID:  <20010430203604.E50864@uriah.heep.sax.de>
In-Reply-To: <20010429172047.A41838@panzer.kdm.org>; from ken@kdm.org on Sun, Apr 29, 2001 at 05:20:47PM -0600
References:  <200104271649.f3RGmts35017@aslan.scsiguy.com> <200104271700.f3RH01s35435@aslan.scsiguy.com> <20010428210359.Q50185@uriah.heep.sax.de> <20010428233306.A37621@panzer.kdm.org> <20010429185005.B50185@uriah.heep.sax.de> <20010429172047.A41838@panzer.kdm.org>

next in thread | previous in thread | raw e-mail | index | archive | help
As Kenneth D. Merry wrote:

> Hopefully that's true. :) I think another part of it may be that not
> as many people are brave enough to run -current. :) (I go quite a
> long time before updating some of my machines.)

I usually, too.  My reason for upgrading recently was the acquisition
of new hardware (i finally got rid of my old P133 box as the main
workstation).

> > What else would
> > trigger a NO SENSE situation?
> 
> It's possible you could do it with a CDROM drive.  There are a couple of
> audio-related sense codes that return SS_NOP:
> 
> /*      R       */{SST(0x00, 0x12, SS_NOP,
>                         "Audio play operation paused") },

[etc]

Hmm, i can't seem to trigger them, patched or unpatched system.  After
looking into the SCSI-2 documents, it seems they are not returned as
sense codes but in the Audio Status field of an READ SUB-CHANNEL
command.

> You could always just disable the sa(4) driver patch and do it that way.
> That would probably be the easiest way to test it.

Well, i did this, on my test machine.  Since i already did that
previously (without setting action_string), i knew it fixes the ILI
problem, but exposes the filemark -> EIO problem.  That still happens,
also with the addition of setting action_string (of course).  Also,
hitting the filemark yields a NO SENSE situation:

(sa0:sym0:0:1:0): READ(06). CDB: 8 0 0 80 0 0 
(sa0:sym0:0:1:0): CAM Status: SCSI Status Error
(sa0:sym0:0:1:0): SCSI Status: Check Condition
(sa0:sym0:0:1:0): NO SENSE info:8000 asc:0,1
(sa0:sym0:0:1:0): Filemark detected
(sa0:sym0:0:1:0): Retries Exhausted
(sa0:sym0:0:1:0): error 5
(sa0:sym0:0:1:0): Unretryable Error

I can't seem to trigger printing the action_string ("No Recovery
Action Needed") in either situation (ILI or filemark), however.

Anyway, it seems that patch is the right thing:

diff -u -r1.33 cam_periph.c
--- /sys/cam/cam_periph.c	2001/03/28 09:17:49	1.33
+++ /sys/cam/cam_periph.c	2001/04/29 16:49:40
@@ -1369,6 +1369,9 @@
 
 		switch (err_action & SS_MASK) {
 		case SS_NOP:
+			action_string = "No Recovery Action Needed";
+			error = 0;
+			break;
 		case SS_RETRY:
 			action_string = "Retrying Command";
 			error = ERESTART;

-- 
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message




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