I have a TUSB9261 in my design. I’ve got the latest firmware in its flash (V1.06) and I’m getting some errors when I issue ATA/ATAPI Sanitize commands (B4h/0000h SANITIZE STATUS EXT and B4h/0012h BLOCK ERASE EXT) using Linux’s hdparm utility to an SSD attached to the TUSB9261. The sanitize command is completing but the response to the command from the drive is seemingly garbled. For my application, I need to be able to determine that the command has completed without error.
# hdparm --yes-i-know-what-i-am-doing --sanitize-block-erase /dev/sda && hdparm --sanitize-status /dev/sda
/dev/sda:
Issuing SANITIZE_BLOCK_ERASE command
SG_IO: bad/missing sense data, sb[]: f0 00 01 00 50 40 00 0a c0 00 19 99 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Operation started in background
You may use `--sanitize-status` to check progress
/dev/sda:
Issuing SANITIZE_STATUS command
SG_IO: bad/missing sense data, sb[]: f0 00 01 00 50 40 00 0a c0 00 33 32 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Sanitize status:
State: SD0 Sanitize Idle
When I issue the SANITIZE STATUS EXT command using a native SATA controller the status can be read properly. I can also verify that the drive has been cleared through multiple means.
# hdparm --sanitize-status /dev/sda
/dev/sda:
Issuing SANITIZE_STATUS command
Sanitize status:
State: SD0 Sanitize Idle
Last Sanitize Operation Completed Without Error
Is this a known problem with the firmware of the TUSB9261? If so, is there a version in which this behavior has been corrected?