This message is from the T13 list server.


Peter J:

Hi!  Thanks for provoking me to think more deeply.

The transport protocol itself has always
allowed arbitrarily large CDBs;

"Arbitrarily large"? Google reminds me I once calculated a max FireWire SCSI CDB length limit of x3E8 = 1000 bytes, perhaps from a finite number of bits reserved to express ORB length somewhere in the config rom. Do you not find that rumour credible?


Have to fit in 12 bytes - or was that 16 -
to make SCSI over FireWire traces look normal.

PS If any logic analyzers choke on larger CDBs, the cut-off point, for historical reasons, is likely to be 12 bytes.

Yes, I meant to say normal for SCSI over FireWire 400 (aka SBP-2 Normative Annex B) was 12 bytes clocked across the bus for CDB's of 12 or 10 or 6 bytes. Consequently, copying out more than 12 bytes, such as the 16 bytes of the 64-bit lba t10.org ops as opposed to the 10 or 12 bytes of the 32-bit lba ops, visits a case that was not much tested. All this I mis remember in the context of "what ain't tested don't work so good" In general I find that visiting what's not much tested breaks hosts, devices, and bystanders like bus analysers.


Say again, Pat?
Are you referring to some SBP logic analyzers
that don't display large CDBs correctly?

I have not myself experienced this particular episode of pain, thank you for sharing.


this was true in SBP-2 and
we added an informative note in SBP-3 to dispel any confusion.

I hope I remember to reply again to quote this if I find it before you do.


Pat LaVarre

P.S. Just now courtesy my own:

Subject: scsi pass thru
http://plavarre.blog-city.com/read/614076.htm

I found the past discussion quoted below, which I think reminds me that x20 = 32 bytes = eight quadlets was a normal ORB, of which the last x0C = 12 bytes = three quadlets was clocked across the bus to convey one or more bytes of CDB.

----- Subject:  scsi over firewire limits
----- http://plavarre.blog-city.com/read/393979.htm

> > Hi. I think I remember scsi over firewire
> > by design chokes over cdb longer than 12
> > bytes and bus traces cannot distinguish
> > between such cdb lengths as 6, 10, and 12.
> > Do I remember falsely?

Yes and no. Kindly offline I received the clarifications:

1) The "size of an SBP device's CDB is set by its own configuration ROM". "Consult SBP-3 Figure B-1 for clear illustration".

2) "An ORB doesn't specify the length of the CDB that follows the first five quadlets of the ORB header. You have to know the CDB's opcode to know the length for the CDB."

3) I have no good way of finding everywhere I first tried sending my query, so I can add this better answer to my original query. Apple SBP3 was where I found relevant gurus, but the spam defences necessary there kept me away from there for awhile.

posted Monday, 15 December 2003



Reply via email to