When a ATA PASSTHROUGH security command is issued to a drive via an HBA using SGIO in hdparm, the command is rejected by the HBA's SAT code because the command's data length is not filled in. The Flags field in the CDB of the ATA PASSTHROUGH (16 byte) command indicates that the length of the data transfer (aka. the security password), in blocks, is specified in the SECTOR COUNT field, but the SECTOR COUNT field is 0 (visible using verbose mode). The HBA and drive will accept the same security commands if I send the command with '1' in the SECTOR COUNT field.
A similar problem occurred with IDENTIFY DEVICE ATA commands (-I) as of version 9.33, but was fixed as of 9.35. This fix should be applied to security commands as well.
Log in to post a comment.