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:

  1. Launch WD Drive Utilities; the Unlock Drive prompt will appear:

    WD Drive Utilities: Unlock Drive

  2. The password set with hdparm will not be accepted; enter any password five times to reveal an erase option (the Drive Erase icon remains unavailable while the drive is locked):

    WD Drive Utilities: Erase Drive

  3. Set volume name and format, acknowledge the warning, and click Erase Drive. The utility erases and reinitializes the drive, restoring access:

    WD Drive Utilities: Do not close this window while the drive is being erased, as the drive may be damaged.

    WD Drive Utilities: Drive is erased.

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

❧ 2026-09-12


Easy Disk Checker: diagnostics, imaging, and data recovery

8 months ago, u/Routine_Eye3806 announced Easy Disk Checker for Windows on r/datarecoverysoftware:

[Dev] I created Easy Disk Checker - a free Windows utility to check HDD\SSD health and detect fake USB drives with some data recovery options (No Ads)

and it has been receiving regular updates since:

Current highlights include:

In the last update, I asked u/Routine_Eye3806 if he had shared Easy Disk Checker on HDDGURU, to which he replied that he hadn't but would appreciate me sharing it there. My submission has not received moderator approval after 2 days, so I am posting it here instead.

Additional links:

❧ 2026-09-11


Create a reference Windows 11 IoT Enterprise LTSC eval VM in UTM

  1. Download Windows 11 IoT Enterprise LTSC evaluation (ARM64 | x64) and utm-guest-tools-latest.iso.

  2. Create the VM with "Install drivers and SPICE tools" unchecked (otherwise, clicking "I don't have a product key" during setup will fail with "Setup has failed to validate the product key").

  3. Disconnect from the network, then install Windows.

  4. Install UTM Guest Tools: Virtual Machine → Drives → CD/DVD…iso → Change → select utm-guest-tools-latest.iso → run D:\utm-guest-tools-0.1.271.exe. Eject when done.

  5. Customize Windows as desired (taskbar, desktop background, dark mode, File Explorer, Edge, etc.), shut down, and save as your reference image.

  6. Reconnect to the network, clone the reference VM, and boot the clone.

  7. Windows should activate automatically and the desktop watermark change from "Windows License is expired" to "Windows License valid for 90 days". If not, run cscript //nologo %windir%\system32\slmgr.vbs /ato and reboot. If activation fails due to no network connectivity, try setting a public DNS server or switching from Shared Network to Bridged (Advanced).

❧ 2026-09-07


macOS native window management à la Rectangle

After years of happy Rectangle and Spectacle use, had missed that native window tiling was added in macOS Sequoia: Settings → Keyboard → Keyboard Shortcuts… → Windows.

Default keyboard shortcuts:

Shortcut Action
Fn+Ctrl+←Tile left half
Fn+Ctrl+→Tile right half
Fn+Ctrl+↑Tile top half
Fn+Ctrl+↓Tile bottom half
Fn+Ctrl+FFill (classic full screen)
Cmd+Ctrl+FFull screen

❧ 2026-09-07


Safely shut down during OOBE in Windows, macOS, and Linux Mint

These out-of-box experiences (OOBE) offer no obvious shutdown option, but each can still be powered off gracefully:

❧ 2026-09-05


File recovery from a degraded drive without imaging

Recover files from a failing drive without cloning posted to the docs section.

❧ 2026-08-20


Wandering the well-worn sidepaths to nowhere

"In one particular the civilized man still is brother to the savage: His thoughts seldom rise above the dust of which he is made."

—Robert Quillen, "When Guests Saw Only the Parlor, There Was Trash in the Closets", The State, October 22, 1929, p. 4.

❧ 2026-08-19


Check provenance of AI-generated images

Related

❧ 2026-08-12


DaisyDisk free & open source alternatives

App Archive size Language reddit
GrandPerspective 3.7.2 4.4MB Objective-C r/macapps
Neodisk 2.71.0 4.5MB Swift /r/MacOSApps/
OpenDisk 1.0.1 4.1MB Swift r/macapps
Radix 1.7.0 7.3MB Swift r/macapps
DuckDisk 0.6.2 10.1MB Tauri+Rust r/macapps

❧ 2026-08-12


Why plain text email, 2026 edition

Gareth Heyes, CSS: the bomb inside your inbox:

"It's quite common for webmail clients to render untrusted CSS in a trusted UI. They attempt to make this safe using CSS sanitization. In this paper I'm going to show you how to break out of trust boundaries, exfiltrate tokens, compromise 3rd party websites and even steal passwords."

Previously:

❧ 2026-08-07