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 opcode0x85) 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 ?