(Although I'm playing with fire, please pitch advice to a Noob... Thanks)

Now then,

Trying a low level format of a 2TB damaged HDD so that it can use SMART to self mark bad sectors/blocks.

Followed advice at https://superuser.com/questions/203305/how-do-i-perform-a-low-level-format-of-a-sandforce-solid-state-disk/485949#485949

But got this output from this command:

sudo hdparm --user-master u --security-erase llformat /dev/sdc

 Issuing SECURITY_ERASE command, password="llformat", user=user
ERASE_PREPARE: Invalid argument

I have successfully enabled security. Here is output from hdparm -I /dev/sdc:


ATA device, with non-removable media
    Model Number:       WDC WD20EARS-00MVWB0                    
    Serial Number:      WD-WCAZA7166342
    Firmware Revision:  51.0AB51
    Transport:          Serial, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6
    Supported: 8 7 6 5 
    Likely used: 8
    Logical     max current
    cylinders   16383   16383
    heads       16  16
    sectors/track   63  63
    CHS current addressable sectors:   16514064
    LBA    user addressable sectors:  268435455
    LBA48  user addressable sectors: 3907029168
    Logical/Physical Sector size:           512 bytes
    device size with M = 1024*1024:     1907729 MBytes
    device size with M = 1000*1000:     2000398 MBytes (2000 GB)
    cache/buffer size  = unknown
    LBA, IORDY(can be disabled)
    Queue depth: 32
    Standby timer values: spec'd by Standard, with device specific minimum
    R/W multiple sector transfer: Max = 16  Current = 0
    DMA: *mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 udma6 
         Cycle time: min=120ns recommended=120ns
    PIO: pio0 pio1 pio2 pio3 pio4 
         Cycle time: no flow control=120ns  IORDY flow control=120ns
    Enabled Supported:
       *    SMART feature set
       *    Security Mode feature set
       *    Power Management feature set
       *    Write cache
       *    Look-ahead
       *    Host Protected Area feature set
       *    WRITE_BUFFER command
       *    READ_BUFFER command
       *    NOP cmd
            Power-Up In Standby feature set
       *    SET_FEATURES required to spinup after power up
            SET_MAX security extension
       *    48-bit Address feature set
       *    Device Configuration Overlay feature set
       *    Mandatory FLUSH_CACHE
       *    FLUSH_CACHE_EXT
       *    SMART error logging
       *    SMART self-test
       *    General Purpose Logging feature set
       *    64-bit World wide name
       *    WRITE_UNCORRECTABLE_EXT command
       *    {READ,WRITE}_DMA_EXT_GPL commands
       *    Segmented DOWNLOAD_MICROCODE
       *    Gen1 signaling speed (1.5Gb/s)
       *    Gen2 signaling speed (3.0Gb/s)
       *    Native Command Queueing (NCQ)
       *    Host-initiated interface power management
       *    Phy event counters
       *    NCQ priority information
            DMA Setup Auto-Activate optimization
       *    Software settings preservation
       *    SMART Command Transport (SCT) feature set
       *    SCT Write Same (AC2)
       *    SCT Features Control (AC4)
       *    SCT Data Tables (AC5)
            unknown 206[12] (vendor specific)
            unknown 206[13] (vendor specific)
    Master password revision code = 65534
    not locked
    not frozen
    not expired: security count
        supported: enhanced erase
    Security level high
Logical Unit WWN Device Identifier: 50014ee205d8fa16
    NAA     : 5
    IEEE OUI    : 0014ee
    Unique ID   : 205d8fa16
Checksum: correct

I'm not expected to enter the password, am I?


Well, I might be admitting defeat for now, but have answers for future users.

In my case, the drive is connected to a SATA-USB Cable (12GBP ebay item). Apparently some of these and even external drive cradles do not pass full ATA commands to the drive. Mark Lord, the writer of hdparm wrote me a two line description of what to do and line one was:

The drive should be directly connected to the internal SATA controller of the motherboard

Manual Pages at Ubuntu.com says

hdparm provides a command line interface to various kernel interfaces supported by the Linux SATA/PATA/SAS "libata" subsystem and the older IDE driver subsystem. Many newer (2008 and later) USB drive enclosures now also support "SAT" (SCSI-ATA Command Translation) and therefore may also work with hdparm.

To quote Linux-Magazine:

Hdparm accepts any device as mass storage that is connected to an (E)IDE, SATA, or SAS interface, including, therefore, DVD drives and SSDs. USB-to-IDE adapters often cause problems because they do not transmit the (complete) ATA or ATAPI commands to the drive. The information that hdparm delivers is dependent on the device.

I'm using a tiny netbook so direct ribbon connection to the motherboard isn't possible and I have no access to another machine. Thwarted!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.