Resolving "SG_IO: bad/missing sense data" after running ATA SE on a WD My Passport USB HDD
USB storage bridges may expose ATA commands via SCSI/ATA Translation (SAT), but ATA Security behavior varies by bridge and firmware. Without an explicit vendor guarantee, reported capabilities alone do not confirm that a command can pass through the bridge and execute successfully on the drive.
To avoid orphaning data on the platters in the event of lockout, a 1 TB WD My Passport USB HDD was zeroed with dd then queried for ATA Security support:
hdparm -I /dev/sdX
/dev/sdX:
ATA device, with non-removable media
Model Number: WDC WD10JMVW-11AJGS1
...
Security:
Master password revision code = 48059
supported
not enabled
not locked
not frozen
not expired: security count
supported: enhanced erase
332min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.
...
Setting a password appeared to work:
hdparm --user-master u --security-set-pass p /dev/sdX
security_password: "p"
/dev/sdX:
Issuing SECURITY_SET_PASS command, password="p", user=user, mode=high
but issuing SECURITY ERASE failed:
hdparm --user-master u --security-erase p /dev/sdX
security_password: "p"
/dev/sdX:
Issuing SECURITY_ERASE command, password="p", user=user
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Decoded SCSI sense data:
sg_decode_sense 70 00 05 00 00 00 00 0a 00 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Fixed format, current; Sense key: Illegal Request
Additional sense: Invalid field in cdb
In other words, something in the storage path reported that the SCSI command descriptor block (cdb) used to carry the ATA request contained an invalid or unsupported field.
hdparm -I /dev/sdX initially continued to return the correct device information. However, after disconnecting and reconnecting the drive, it reported only:
/dev/sdX:
ATA device, with non-removable media
Standards:
Likely used: 1
Configuration:
Logical max current
cylinders 0 0
heads 0 0
sectors/track 0 0
--
Logical/Physical Sector size: 512 bytes
device size with M = 1024*1024: 0 MBytes
device size with M = 1000*1000: 0 MBytes
cache/buffer size = unknown
Capabilities:
IORDY not likely
Cannot perform double-word IO
R/W multiple sector transfer: not supported
DMA: not supported
PIO: pio0
Attempting to unlock also failed:
hdparm --user-master u --security-unlock p /dev/sdX
security_password: "p"
/dev/sdX:
Issuing SECURITY_UNLOCK command, password="p", user=user
SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
WD Drive Utilities restored access to the drive:
Launch WD Drive Utilities; the Unlock Drive prompt will appear:

The password set with
hdparmwill not be accepted; enter any password five times to reveal an erase option (the Drive Erase icon remains unavailable while the drive is locked):
Set volume name and format, acknowledge the warning, and click Erase Drive. The utility erases and reinitializes the drive, restoring access:


Update
Restore access to the drive without leaving Linux by using the erase function in 0-duke's WD My Passport Drive Hardware Encryption Utility for Linux:
wdpassport-utils.py --device /dev/sdX
Device: /dev/sdX
Security status: Locked
Encryption type: Full Disk Encryption
Attempting to unlock the drive using the password set with hdparm fails, just as it does in WD's own utility:
wdpassport-utils.py --device /dev/sdX --unlock
[wdpassport] password for /dev/sdX:
[!] Key hash parameters are not valid.
Erasing the drive, however, restores access:
wdpassport-utils.py --device /dev/sdX --erase[+] All data on /dev/sdX will be lost. Are you sure you want to continue? [y/N] y [*] Device erased. You need to create a new partition on the device (Hint: fdisk and mkfs)hdparm -I /dev/sdX/dev/sdX: ATA device, with non-removable media Model Number: WDC WD10JMVW-11AJGS1 ... device size with M = 1000*1000: 1000171 MBytes (1000 GB) cache/buffer size = 8192 KBytes Nominal Media Rotation Rate: 5400 ...
Related
unable to dd, smartmon, fdisk or anything on a working external Western Digital Hard Drive
What USB to IDE adapter that can send the ATA Secure Erase command?
❧ 2026-09-12