This message is from the T13 list server.
Nathan Obr wrote:
Hi all,
I have what I believe is the spirit of the law question.
If a device doesn’t report that it supports a feature in its IDENTIFY_DATA is it acceptable to send it commands from that feature set anyway?
For example: If a device doesn’t report support for the Media Status Notification feature set is it acceptable to send it the GET MEDIA STATUS command anyway?
I don’t see anywhere in the spec that prohibits this behavior, so first off, am I missing the section that says you shall not do this? Is it bad behavior to do this?
It can be OK... or a very bad idea. Famous example is issuing FLUSH CACHE to certain ATAPI CD-ROMs, from a certain manufacturer. It turns out that manufacturer used the FLUSH CACHE opcode for a vendor-specific 'download and update firmware' command. Issue that opcode, and your CD-ROM drive became an unusable brick.
Unfortunately, there are no good answers. Some ATA-4 devices are known to support the flush-cache opcode (and execute it as expected), even though they do not support that in their IDENTIFY DEVICE feature bits.
It really depends on the specific opcode you want to shove down the pipe...
Moving forward, with SATA, most ATA and ATAPI devices seem sane, and you can work with the drive manufacturers to fix the remaining problems. For example, one ATA manufacturer was reporting the FLUSH CACHE EXT feature bit, even though the disk was not lba48. (the manufacturer's response was admirable, they changed their firmware as soon as the problem was reported)
Jeff
