On Wed, May 10, 2000 at 03:27:40PM -0600, Pat LaVarre wrote:
> > >>> ... 05/10/00 11:00AM >>>
> > 
> > > I trust the Linux stack by now has come into compliance
> > > here?  The class-specific Get Max LUN response has to bless
> > > a LUN before it goes to the device in a CBW?
> > 
> > We don't use Get Max LUN, mostly because it's not guaranteed to always be
> > available.  CBI devices don't have it -- probing is generally considered
> > the only reliable way to go.
> 
> Probing via bCBWLUN is flatly non compliant for a BBB host,
> via "6.2.2 Meaningful CBW" and the second page of "6.4 Device Error Handling".
> 
> We're not questioning this claim?  Or saying the text is ambiguous?
> We're just saying compliance at this level of detail just doesn't matter much?
> Or that BBB devices have established a different de facto standard?
> Or that CBI/BBB isn't a distinction worth making here?

Well, there are several responses to this:

(1) It would seem you're right... it is an invalid CBW
(2) BBB devices have generally established a de facto standard of behavior
    in this case
(3) It's hard to use a feature when it really isn't guaranteed to be around
    (i.e. CB or CBI devices)

> I've seen people claim that precise interoperability standards are
> more holy in Linux culture than in other development cultures
> ... that I could expect Linux to provoke less "not specified" device
> behaviours ... false claim?

Generally true.  However, note that LUN probing in the history of SCSI and
USB/SCSI bridges has been a trouble spot for years, and shows no sign of
getting better.  There are still SCSI devices manufacturered today which
respond to all LUNs even tho they really are a single-lun device.  This is
a case where we've been burned by the standard too often, and now don't
really trust it.

> > > > I mean, if you want me to reset the device, then don't STALL,
> > > > go into indefinite NAK on all bulk endpoints.
> > > 
> > > Eh???
> > > 
> > > The host doesn't understand indefinite NAK until after a timeout.
> > 
> > Why not?
> 
> Are my words somehow painfully unclear here?
> 
> NAK can't be said to be indefinite until after timeout, can it?
> 
> What does "indefinite" mean?

Good question.  As far as I can tell, it's as long as you want it to be.
Section 2.3.2.4 of the CBI Spec calls it "set dependent".  And the
BBB spec just doesn't say how long a device can NAK for before we consider
it dead.


> > ... you shouldn't _have_ to reset a device during
> > what might be considered normal operation
> 
> Agreed.
> 
> Except this sounds as if we should consider non-compliant host
> behaviour to be normal operation?  Am I missing something here?

Again, the driver is written to the defacto standard.

> I said this was rude when first I saw it invented by the bridge vendor.
> 
> Can't tell you how pleased I am to have a chance to say "I told you so"
> to the people with whom I disagreed.  I imagine they'd answer that
> they succeeded in forcing a reset to follow non-compliant host behaviour.
> I'd answer that forcing people to do things is no way to make friends,
> and we'd part still disagreeing.

Well, there is one piece of good news -- this gives me a good and easy way
to test the Bulk-only transport reset code.

Matt Dharm

-- 
Matthew Dharm                              Home: [EMAIL PROTECTED] 
Senior Engineer, QCP Inc.                        Work: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to