This article might help some of you who are trying to translate programs that use older libraries for SCSI communication like Sequoia.
"DisableAutoSense()" should be pretty self-explanatory to most of you; this Sequoia
function allows us to tell a SCSI disk-drive not to send back the sense data in case
an error occurs.
It gives us the flexibility to read back the previous sense data at our leisure.
Now as I have recently understood, the DisableAutoSense is not a feature provided
by the SCSI device, rather it is a function provided by the Sequoia library.
Problem is, as far as I know, ASPI does not provide such a feature, therefore it
could be a little tedious trying to figure out how to handle all your already
existing parts of the code that uses the RequestSense() function to get the sense
data especially like in my case where my code has over 1 million lines.
However, if you do stick to object oriented programming techniques while writing
your code, you should be able to get away with a simple fix. Just keep a location
that stores any sense data after every command is executed.
Now in case the command came back with a bad return error code, instead of
calling your RequestSense() function (which would not give you any valid data
anyways) you can just go back and retrieve the data from that location where
you stored it.
Hope this helps. Feel free to contact me if there are any other problems you
might be facing with similar issues.
Fayez Mohamood (fxm4139@njit.edu)