-
Notifications
You must be signed in to change notification settings - Fork 13
Description
I'm trying to implement USB mass storage class in user mode so I could build upon that to experiment with proprietary SCSI CDBs. Reading seems to work well, except that when a write request is less than the maximum possible amount (usually out_aio_blocks_per_endpoint * out_aio_blocks_max_packet_count
but when both are 1 it's somehow 1024 bytes instead of 512 when working under high speed mode) the EndpointOUTFile.onComplete
callback will not get called.
I don't think EndpointOUTFile
has any complex logic in it on its own so maybe this is an issue in libaio or an issue caused by some misconfiguration of libaio?
Some background: This is over USB HighSpeed with 512 bytes max packet size, default out_aio_blocks_per_endpoint
and out_aio_blocks_max_packet_count
, and with a custom build of libaio 0.3.113 targeting glibc 2.34.
Also all the CBWs seem to arrive just fine. It's only the data that got truncated.