1

I'm trying to debug my Macbook Air SSD but am getting IO_support errors.

hdparm -c /dev/sda

/dev/sda:
 IO_support    =-2130557184 (???)

hdparm -c0 /dev/sda

/dev/sda:
 setting 32-bit IO_support flag to 0
 IO_support    =-2130557184 (???)

hdparm -c1 /dev/sda

/dev/sda:
 setting 32-bit IO_support flag to 1
 HDIO_SET_32BIT failed: Invalid argument
 IO_support    =-2130557184 (???)

So then I attempt to Secure Erase my SSD anyway which seems to work.

sh-4.1# hdparm --user-master u --security-set-pass Eide /dev/sda

 security_password="Eide"

 /dev/sda:
 Issuing SECURITY_SET_PASS command, password="Eide", user=user, mode=high

sh-4.1# hdparm --user-master u --security-erase Eide /dev/sda

  security_password="Eide"

  /dev/sda:
  Issuing SECURITY_ERASE command, password="Eide", user=user

sh-4.1# hdparm --user-master u --security-set-pass Eide /dev/sda

  security_password="Eide"

  /dev/sda:
  Issuing SECURITY_SET_PASS command, password="Eide", user=user, mode=high

sh-4.1# hdparm --user-master u --security-erase-enhanced Eide /dev/sda

  security_password="Eide"

  /dev/sda:
  Issuing SECURITY_ERASE command, password="Eide", user=user

But when I query the 32-bit IO setting...

hdparm -c /dev/sda

/dev/sda:
 IO_support    =-2130557184 (???)

After the two ATA security erase commands completed, drive identification shows:

hdparm -i /dev/sda

/dev/sda:

 Model=APPLE SSD TS128C, FwRev=CJAA0201, SerialNo=71BA50Q5K6IK
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=236978176
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio3 pio4 
 DMA modes:  mdma0 mdma1 mdma2 
 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 
 AdvancedPM=yes: unknown setting WriteCache=enabled
 Drive conforms to: Unspecified:  ATA/ATAPI-3,4,5,6,7

 * signifies the current active mode

nb. I have some questions about that output as well which aren't as important (I don't think?) as the "inappropriate IO control" problem.

  1. Does that geometry config even make sense? I thought there are supposed to be 255 heads so something like xxx/255/63 ?
  2. SectSize=0 ? Shouldn't it be 512?
  3. Why is BuffType and BuffSize "unknown"?
  4. Why APM setting "unknown"?
  5. Why is drive conforming to "Unspecified ATA/ATAPI" standard?

Trying to set using_DMA flag fails:

hdparm -d /dev/sda

/dev/sda:
 HDIO_GET_DMA failed: Inappropriate ioctl for device

hdparm -d1 /dev/sda

/dev/sda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Inappropriate ioctl for device
 HDIO_GET_DMA failed: Inappropriate ioctl for device

What is the "appropriate ioctl"?

Resetting the drive doesn't work.

hdparm -w /dev/sda

/dev/sda:
 resetting drive
 HDIO_DRIVE_RESET failed: Invalid argument

hdparm --dco-identify /dev/sda

/dev/sda:
DCO Revision: 0x0002
The following features can be selectively disabled via DCO:
    Transfer modes:
         mdma0 mdma1 mdma2
         udma0 udma1 udma2 udma3 udma4 udma5
    Real max sectors: 236978176
    ATA command/feature sets:
         SMART self_test error_log security HPA
         selective_test
    SATA command/feature sets:
         interface_power_management

hdparm --yes-i-know-what-i-am-doing --dco-restore /dev/sda

/dev/sda:
 issuing DCO restore command
 HDIO_DRIVE_CMD(dco_restore) failed: Input/output error

Any observations, questions, hints, answers appreciated cheers!

2
  • Sometimes a firmware update on an SSD drive does wonders. Dunno if this would be the case with yours. I had an SSD drive in the past that was about 8 months old and then suddenly started to crap out.
    – kobaltz
    Mar 11, 2012 at 7:26
  • Yep. Unfortunately Apple are almost disturbingly unwilling to allow firmware updates or reflashing. There is an INTEL .iso to flash Apple firmware which had been interrupted, but it doesn't work on my MBA as my firmware hasn't been interrupted. Merely corrupted. If I install Lion onto this drive, the EFI system partition is corrupted (according to the UEFI self-certification testing kit).
    – jonny
    Mar 11, 2012 at 8:14

0

You must log in to answer this question.

Browse other questions tagged .