Mailing Lists: Apple Mailing Lists

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

Re: Why is USB different from ATAPI and FireWire?



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: Chris Sarcone <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.