Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Apr 2001 15:15:01 -0600
From:      "Kenneth D. Merry" <ken@kdm.org>
To:        Eric Lee Green <eric@estinc.com>
Cc:        Ken Menzel <kenm@icarz.com>, freebsd-scsi@FreeBSD.ORG
Subject:   Re: 'ch' Errors using chio w-sony changer
Message-ID:  <20010411151501.C1830@panzer.kdm.org>
In-Reply-To: <Pine.LNX.4.21.0104101540310.980-100000@england.inhouse>; from eric@estinc.com on Tue, Apr 10, 2001 at 03:50:48PM -0700
References:  <01be01c0c1cd$03d4ad60$711663cf@icarz.com> <Pine.LNX.4.21.0104101540310.980-100000@england.inhouse>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Apr 10, 2001 at 15:50:48 -0700, Eric Lee Green wrote:
> On Tue, 10 Apr 2001, Ken Menzel wrote:
> > I only get errors on status from chio status -v or -V.  All other
> > flags (sSbI) except of course the -a flag work fine.
> 
> > chio: /dev/ch0: CHIOGSTATUS: Invalid argument
> > janeway# dmesg
> > <cut>
> > (ch0:ahc0:0:6:1): READ ELEMENT STATUS. CDB: b8 30 0 0 0 1 0 0 4 0 0 0
> > (ch0:ahc0:0:6:1): ILLEGAL REQUEST asc:24,0
> > (ch0:ahc0:0:6:1): Invalid field in CDB sks:cc,1
> > (ch0:ahc0:0:6:1): READ ELEMENT STATUS. CDB: b8 30 0 0 0 1 0 0 4 0 0 0
> 
> Yep, that's the bar code reader (or lack thereof).

Rather lack of volume tag support.  You don't necessarily need barcode
reader to support volume tags.

>  When I implemented the
> bar code stuff in 'mtx' for the Exabyte 220 I had the same problem when I
> tried it with an autoloader, that's when I put in the 'back-off' stuff to
> re-issue the request without the barcode flag if I got that error (except
> that the Linux request sense chops off the tail of the sense data and I
> couldn't get at which field was in error on Linux, GRR!! FreeBSD was much
> more sensible there). Probably ch0 should do the same thing,

The only problem is in chio(1).  It blindly asks for volume tags for 'chio
return', even if the user hasn't specified a voltag.  Otherwise it does the
right thing from what I can tell; it only asks the changer for voltags if
the user asks for them.

> though I have
> my doubts about the desirability of kernel-mode changer drivers in the
> first place, given the existence of pass<n> and the slow speed of
> changers, which makes a user-mode driver plenty fast... but then, I'm
> biased because I wrote a user-mode changer driver for FreeBSD that uses
> pass<x> :-). Since ch0 is part of the FreeBSD kernel, it probably should
> work right (shrug), even if it's not really necessary now that the pass0
> device works (and works well, I might add).

One advantage of having a kernel driver is the ability to cache state
somewhat.  (With a userland program, unless you have some sort of config
file, you'd need to ask the changer about its configuration, etc., every
time you open the device.)

> BTW, if you want to try it, 'mtx' works fine on FreeBSD.
> http://mtx.sourceforge.net . Also works fine on Linux, Solaris 8, Solaris
> 2.[67], and IRIX. Uses same syntax on all of these guys, just uses a
> different device name for the passthru driver (e.g. /dev/pass1 on FreeBSD,
> /dev/sg1 on Linux, some godaweful concoction on Solaris, ....). With the
> latest version 1.2.11, it's just a case of "./configure ; make ; make
> install", thanks to the wonders of GNU Autoconf.

Sounds pretty cool.

Ken
-- 
Kenneth Merry
ken@kdm.org

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?20010411151501.C1830>