First the kernel level I have to deal with is 2.6.13, and since it is
part of our embedded build it can not be upgraded. With that said, I
have searched high and low for a simple way, from userspace, to send a
command directly to a PATA drive that is attached via USB (Cypress
AT2LP chipset). I know that in 2.6.26 there is a new patch called
cypress_atacb_passthrough that takes a 12 or 16 byte commands and maps
them into something the chipset understands, but as mentioned we are
at 2.6.13.

So, in a nutshell, I am looking for a way to do this under 2.6.13. I
have tried using SG_IO with a 16 byte command (passthrough opcode
0x85) to no avail. The Cypress has a unique structure called ATACB,
or at least it is unique for the Cypress, but it appears that no
matter what I send, it is ignored.

Anyone come across a way to do this without having to hack in a patch
to usb-storage ?