Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

IOSAMFamily (was Re: Why is USB different from ATAPI and FireWire?)



> With respect to the nub/driver architecture of the IOKit, would I be
> right to say that the USBMassStorageClass is doing it the "right" way
> and the ATAPI and FireWire are not (yet)?

Hmm. Thinking about this issue more, I am beginning to believe that the
current incarnation of IOSCSIPeripheralDeviceNub is doing too much. It
shouldn't be interrogating the LUNs; it isn't really a nub, since the
bridge between transport provider families and IOSAMFamily is already
provided by the transport nubs (i.e., USBMassStorageClass) that
implement IOSCSIProtocolServices and publish the appropriate properties
for IOSAMFamily. IOPDNub ought to be renamed, and trimmed down a bit, I
think. Call it something like "IOSAMTarget" and give it the work (only)
of publishing an IOSCSILogicalUnitNub for each LUN it finds. Then, the
IOSCSILogicalUnitNub's should interrogate the LUN's to publish matching
criteria against which to match the IOSCSIPDTxyz flavor.

I'm taking the liberty of attaching an OmniGraffle chart (and its .pdf
printout, in case you don't have graffle). I know the list redirectors
will chop the attachments, but I think the pictures may actually
illuminate my english above. Anyone on the list that is sufficiently
interested in this thread, I'll be glad to fwd: the attachments to you,
if you will ask by emailing me directly.

Please, comment on my suggestion; I'd love to learn if my understanding
of IOKit architecture or IOSAMFamily is fatally flawed.

Thanks,
--
Tk!

[demime 0.98b removed an attachment of type application/pdf which had a name of SAMFamily.pdf]

[demime 0.98b removed an attachment of type application/octet-stream which had a name of SAMFamily.graffle]
On Sunday, December 15, 2002, at 08:22 PM, Tommy Knowlton wrote:

> Thanks, Chris.
>
> With respect to the nub/driver architecture of the IOKit, would I be
> right to say that the USBMassStorageClass is doing it the "right" way
> and the ATAPI and FireWire are not (yet)?
>
> Can a FireWire target have multiple LUN's? (Sorry, I know
> next-to-nothing about FireWire). If so, it seems likely to me that in
> the near future, the FireWire SBP2 transport driver is going to have
> to do the same thing that USB Mass is currently doing. Would that be a
> correct assessment? Also IOSCSIParallelInterfaceProtocolTransport?
>
> So, it appears that the only way that I would be able to provide this
> service (that logs all the CDB traffic for SAM devices) would be for
> me to provide drivers and personalities that replace the
> IOSCSIProtocolService providers in each of the transport families. Or
> am I being overly pessimistic?
>
> I am imagining another alternative, that I'd appreciate hearing your
> comments on. It is to have the IOSCSIProtocolService providers in each
> of the transport families publish a property, PopulatedLUNs, an array,
> and have the IOSCSIPeripheralDeviceNub instantiate a generic LUN
> driver, whose purpose it would be to interrogate the LUN and publish
> the properties that IOSCSIPDTxyz match on (so, add an additional layer
> between the transport and the PDTxyz drivers). Or, in some other way
> to split out the interface between families from the business of
> interrogating the LUN.
>
> I don't want to suggest that the IOSAMFamily should change just to
> make something work that I happen to be interested in. On the other
> hand, I'd like to see that the interface be consistent across all
> transport-provider families, so that I can think about this problem
> generally, and be less tied to doing different things based on the
> flavor of the transport. Right now, only USB Mass is different. But I
> think as multi-LUN support matures, it seems as though ATAPI will be
> the odd-man-out.
>
> Comments?
>
> Thanks again,
> --
> Tk!
>
>
> On Friday, December 13, 2002, at 12:01 PM, Chris Sarcone wrote:
>
>> Tommy --
>>
>> Sorry, your message got lost in the flame war on the ata-scsi-dev
>> list. IOUSBMassStorageClass does this by design for multi-LUN USB
>> devices. It has to, because that is the only layer which can
>> distinguish the multiple LUNs.
>>
>> -- Chris
>>
>>
>> On Thursday, December 12, 2002, at 11:12 PM, Tommy Knowlton wrote:
>>
>>> Hello,
>>>
>>> I recently sent this question to email@hidden, but
>>> apparently nobody who reads that list has any ideas why.
>>>
>>>> I wonder if someone on this list is willing to explain to me why
>>>> IOUSBMassStorageClass directly instantiates an
>>>> IOSCSILogicalUnitNub, rather than allowing the registry to match
>>>> IOSCSIPeripheralDeviceNub, as the FireWire and ATAPI SCSI Protocol
>>>> Service providers do?
>>>>
>>>> Is there a reason for the difference?
>>>>
>>>> In particular, this interferes with my driver that depends on
>>>> beating IOSCSIPeripheralDeviceNub in the probe(). I've got a
>>>> customer that would like to use my driver to inspect the SCSI CDB's
>>>> that are causing his USB Mass target to behave strangely. Of
>>>> course, a bus analyzer will eventually do the trick, but it is more
>>>> expensive and less convenient.
>>>
>>> If anyone here has a suggestion, I'd love to know. My guess is,
>>> there is no need for the difference in protocol service
>>> implementations, it's just an oversight. If anyone can verify that,
>>> I'd love to submit a patch along with my bug report.
>>>
>>> The inconsistency interferes with my SCSI CDB snooper, see
>>> http://www.xmission.com/~knowlton/projects/PhotoCop.html
>>>
>>> Curiously yours,
>>> --
>>> Tommy Knowlton
>>> _______________________________________________
>>> darwin-development mailing list | email@hidden
>>> Help/Unsubscribe/Archives:
>>> http://www.lists.apple.com/mailman/listinfo/darwin-development
>>> Do not post admin requests to the list. They will be ignored.
>>>
>>
>> ------------------
>> 6 Infinite Loop
>> M/S 306-2MS
>> Cupertino CA 95014
>> phone: (408) 974-4033
>> fax: (408) 862-7577
>> email: email@hidden
_______________________________________________
darwin-development mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-development
Do not post admin requests to the list. They will be ignored.

References: 
 >Re: Why is USB different from ATAPI and FireWire? (From: Tommy Knowlton <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.