Re: System hangs when using USB 3.0 HD with on Ubuntu

Alan Stern
2010-04-22T14:52:14Z

On Wed, 21 Apr 2010, Luben Tuikov wrote:

> Well BOT is the exception. In general transports aren't concerned
> with the size, etc of the command. They just transport the CDB. UAS
> for example, being in SAM-spirit transport and in this sense being
> mature over BOT.
>
> The transfer length is part of the CDB, if the command is expected to
> transfer data and ATA PT CDBs are no exception. The transport bridge
> would "convert" from one transport protocol into another and it thus
> need to know the transfer size if any to prep the next protocol for
> the command. In this case this is visualized as
> UAS(SCSI)<-->SATA(ATA). Use BOT, wlg.
>
> This is really the function of SAT. Unknown CDBs are treated as
> bi-directional to let the target determine data transfer direction if
> any.

This is somewhat off-topic, but perhaps you can help. In reading
through the UAS draft specification, I didn't see any description of
how disagreements over transfer lengths should be handled. Suppose the
initiator thinks the CDB for a particular IN command asks for N bytes,
but the target thinks the CDB asks for M bytes. What should happen if
N < M or N > M? And likewise for OUT commands.

Alan Stern