Send Custom SCSI commands

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
betac_1056006
Level 1
Level 1

I want to send a custom SCSI command to my Cypress device from the Host. I'm exploring using the Cypress CyUSB.NET API, in particular the CyUSBStorDevice's SendScsiCmd() function. Some questions:

- According to the Programmer's Reference, the SendScsiCmd() uses the CDB10 structure. What if the CDB I want to send is a different size (e.g. 6 Bytes or 16 Bytes)?

- What is the difference between the Cmd byte and the Op byte? Isn't the SCSI command the same as the opcode sent in the CDB?

- Can I send a Cmd byte that is not part of the standard Scsi commands?

Thanks in advance for the help.

0 Likes
1 Solution
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello,

-Our API uses a 10 byte structure for the SCSI Pass through and hence you cannot send a CDB of a different size.

-The actual command code is sent with the cmd byte while the op byte is additional argument which may be required in some commands only.

-You could send a custom command but it should be supported by your device.

Best Regards,

Sananya

View solution in original post

1 Reply
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello,

-Our API uses a 10 byte structure for the SCSI Pass through and hence you cannot send a CDB of a different size.

-The actual command code is sent with the cmd byte while the op byte is additional argument which may be required in some commands only.

-You could send a custom command but it should be supported by your device.

Best Regards,

Sananya