MacBook Pro mid-2012 internal SSD

  • SpinRite v6.1 Release #3
    Guest:
    The 3rd release of SpinRite v6.1 is published and may be obtained by all SpinRite v6.0 owners at the SpinRite v6.1 Pre-Release page. (SpinRite will shortly be officially updated to v6.1 so this page will be renamed.) The primary new feature, and the reason for this release, was the discovery of memory problems in some systems that were affecting SpinRite's operation. So SpinRite now incorporates a built-in test of the system's memory. For the full story, please see this page in the "Pre-Release Announcements & Feedback" forum.
    /Steve.
  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in please checkout the “Tips & Tricks” page for some very handy tips!

    /Steve.
  • BootAble – FreeDOS boot testing freeware

    To obtain direct, low-level access to a system's mass storage drives, SpinRite runs under a GRC-customized version of FreeDOS which has been modified to add compatibility with all file systems. In order to run SpinRite it must first be possible to boot FreeDOS.

    GRC's “BootAble” freeware allows anyone to easily create BIOS-bootable media in order to workout and confirm the details of getting a machine to boot FreeDOS through a BIOS. Once the means of doing that has been determined, the media created by SpinRite can be booted and run in the same way.

    The participants here, who have taken the time to share their knowledge and experience, their successes and some frustrations with booting their computers into FreeDOS, have created a valuable knowledgebase which will benefit everyone who follows.

    You may click on the image to the right to obtain your own copy of BootAble. Then use the knowledge and experience documented here to boot your computer(s) into FreeDOS. And please do not hesitate to ask questions – nowhere else can better answers be found.

    (You may permanently close this reminder with the 'X' in the upper right.)

iRandy

Member
Nov 17, 2020
9
5
Code:
Driv Size  Drive Identity     Location:    0      25%     50%     75%     100
---- ----- ---------------------------- ------- ------- ------- ------- -------
 81  751GB APPLE SSD SM768E              364.3   355.1   350.7   481.9   436.2

                      Benchmark Run: Saturday, 2021-01-16
Definitely seeing some slowdown from the first half of the drive. So the question is, what can I do about it?

I already had a bootable USB with Spinrite, and I was able to copy the ReadSpeed executable onto it. Booted on the MacBook Pro (MacBookPro10,1) by holding down the Option key during startup.
 
@iRandy if SpinRite will run on the drive you can first try a level 2 and rerun the benchmark to check for any performance improvement.

If there is none you can try doing a level 3 scan in SpinRite which will write to each bit once.

Most of us who have done this have noticed the drive read performance increase.

Keep in mind that the keyboard will likely not work during the SpinRite process (due to the way the Macs handle keyboard through the bios) but SpinRite will still run.
 
@iRandy if SpinRite will run on the drive you can first try a level 2 and rerun the benchmark to check for any performance improvement.

If there is none you can try doing a level 3 scan in SpinRite which will write to each bit once.

Most of us who have done this have noticed the drive read performance increase.

Keep in mind that the keyboard will likely not work during the SpinRite process (due to the way the Macs handle keyboard through the bios) but SpinRite will still run.
Is it possible to invoke SpinRite with a switch to cause it to go directly into level 2 without reading (or attempting to read) the keyboard?
 
possible to invoke SpinRite with a switch to cause it to go directly into level 2

EDIT: I found some mention of the command line options in the SpinRite 5 owners manual, on page 30. https://www.grc.com/files/sr5_manual.pdf

I presume yes, but have never tried. @Steve posted about the code from the command line parameters the other day. Can you try running spinrite help to see if it will offer you a list of them. In any case "LEVEL" appears to be one of them, but you may need others like AUTO or QUIET to have it not require user input. (I don't know what they do in honesty, so that is just a guess.)

Code:
From: "Steve Gibson" <news007_@_grc.com>
Subject: SpinRite 6's Command Parser String List:
Date: Sat, 16 Jan 2021 20:56:40 -0800
Message-ID: <ru0g29$cri$2@GRC>
Lines: 63

Gang,

In case anyone's curious, I thought you guys might get a kick
out of seeing the list of SpinRite command-line options directly
from the source:

;---------------------------------------------------------------
CommandParams    db    "AUTO",0
            dw    OFFSET AutoModeCmd

            db    "EXIT",0
            dw    OFFSET ExitModeCmd

            db    "LIST",0
            dw    OFFSET ListCmd

            db    "ROCFG",0
            dw    OFFSET RoCfgCmd

            db    "PURR",0
            dw    OFFSET PurrCmd

            db    "SMART",0
            dw    OFFSET SmartIntervalCmd

            db    "NOBLANKING",0
            dw    OFFSET NoBlanking

            db    "LEVEL",0
            dw    OFFSET LevelCmd

            db    "DYNASTAT",0
            dw    OFFSET DynaStatCmd

            db    "NOTSOSMART",0
            dw    OFFSET NotSoSmart

            db    "FORCE",0
            dw    OFFSET ForceCmd

            db    "NOATA",0
            dw    OFFSET NoAtaCmd

            db    "QUIET",0
            dw    OFFSET QuietCmd

            db    "HELP",0
            dw    OFFSET HelpCmd

            db    "?",0
            dw    OFFSET HelpCmd

DriveCommands    db    "DRIVE",0
            dw    OFFSET DriveCmd

            db    "ITEM",0
            dw    OFFSET ItemCmd
;---------------------------------------------------------------
EndOfParams    LABEL    BYTE

--
________________________________________________________________
/Steve.                      Now hanging out in grc.spinrite.dev
 
Last edited:
  • Like
Reactions: DarkwinX
@iRandy if you do use those switches it would be good to know which ones work for you.

Also I think the keyboard not working only happens once you start the scan, I think you can still choose the levels and access the menu options but I have never tried it. I'll see if I can find a better explanation, even if it's for my own knowledge.
 
I tried this on a MacBook Air mid-2011. RS works well and shows my SSD is REALLY in need of some Spinrite help. So, popping the SR executable on the same USB stick, I was able to boot into SR, but it could not get past any place where a keyboard input is expected. I tried the startup switches and found ones that appear to set it for auto start, but after starting it couldn't get past the point where it's looking for devices and blinking "Working...", even after many minutes. I tried all of the devices shown by RS, but still no joy. Only option is to wait for SR to be fully runnable on a MacBook, or to pull the drive and use a mini-SATA to SATA converter and try it on a spare PC. Hate to spend good coin for a one time shot at this. UGH! Anybody have suggestions? Willing to try just about anything.
 
Last edited:
In Googling for information of the command line options, I came across an older article about how to run SpinRite inside of a virtual machine on a Mac with raw access to the drive. Perhaps you could investigate that approach.
 
Is it possible to invoke SpinRite with a switch to cause it to go directly into level 2 without reading (or attempting to read) the keyboard?
Yes. For example: SpinRite Level 2 Drive 0

To test drive 0 at L2.

See the attached PDF for detailed command line descriptions.
 

Attachments

  • SpinRite Level Descriptions.pdf
    25.2 KB · Views: 1,123
Last edited:
@iRandy if you do use those switches it would be good to know which ones work for you.

Also I think the keyboard not working only happens once you start the scan, I think you can still choose the levels and access the menu options but I have never tried it. I'll see if I can find a better explanation, even if it's for my own knowledge.
@DarkwinX My experience is the same as @TheDukeofURL mentioned in his reply. I can type in the DOS prompt to get SpinRite running, but that's when the keyboard stops working. So, I can't get past the welcome screen.

I'll try the command line parameters next.

@DanR That PDF you attached isn't about detailed command line descriptions, just an explanation of the 5 levels of SpinRite. Is there another PDF you meant to attach?
 
@DanR That PDF you attached isn't about detailed command line descriptions, just an explanation of the 5 levels of SpinRite. Is there another PDF you meant to attach?
Yes! Drat!!! :oops: Try this one.
 

Attachments

  • SpinRite 6p0 Command Line Options.pdf
    33.8 KB · Views: 870
I can type in the DOS prompt to get SpinRite running, but that's when the keyboard stops working. So, I can't get past the welcome screen.

I'll try the command line parameters next.
Yep. That's a problem on Macs currently. When SR runs, the keyboard is switched from Bios polling (which works) to hardware polling (which does not work) and the keyboard is then unresponsive. This is a known shortcoming of SR 6.0. Thus, command line switches are the only workaround for SR 6.0.

Steve has indicated that SpinRite 6.1, which bypasses the Bios, will not have this problem.
 
As I wrote previously, I have tried the command line switches and while it seems to bypass the keyboard issue, SR was never able to get past scanning for devices. I can't imagine it's isolated to my specific MacBook Air, but that's always a possibility. For reference, I let it sit for several HOURS before I gave up. Try: SPINRITE AUTO LEVEL 3 at the command prompt. Hopefully, you'll have better luck!
 
SR was never able to get past scanning for devices.
Hmmm ... Have you tried: SPINRITE LIST

If your drive controller is in AHCI mode, then SR 6.0 will not see your drives when scanning.

If the drive controller could be switched to ATA/IDE/Legacy in the Bios setup, then SR would see them.

SpinRite 6.1 will be fully compatible with AHCI.
 
Big update. SUCCESS!

First, Spinrite was able to successfully run using the Command Line Parameters. After running the command SPINRITE LIST to identify my drive number, I ran SPINRITE AUTO LEVEL 2 DRIVE
Spinrite ran normally, but no keyboard input meant I couldn't see any of the results screens. So I have no idea if it found anything or just put the SSD drive through its paces.

Next, after a hard reboot back into DOS again, I reran ReadSpeed and you can see the improvement!

BEFORE:

Code:
Driv Size      Drive Identity     Location:    0      25%     50%     75%     100
----  -----     ---------------------------- ------- ------- ------- ------- -------
81    751GB  APPLE SSD         SM768E  364.3   355.1   350.7   481.9   436.2
Benchmark Run: Wednesday, 2021-01-16

AFTER:
Code:
Driv Size          Drive Identity     Location:    0      25%     50%     75%     100
----  -----         ---------------------------- ------- ------- ------- ------- -------
81    751GB     APPLE SSD         SM768E   457.9   466.8   473.2   485.3   404.4
Benchmark Run: Wednesday, 2021-02-03




IMG_1369.jpeg
 
Last edited by a moderator:
TERRIFIC! If you can, would greatly appreciate EXACT instructions on how you set up Spinrite and what you ran it on. I'm assuming the following which is what I tried originally. Created a ReadSpeed bootable USB stick, added the Spinrite .exe file on the USB stick and ran it from the DOS prompt including the command line switches.

My MacBook Air is mid-2011. Is yours of similar vintage or newer? If newer, that may explain what I see on my end. RS works perfectly without any issues. When I run SR with SPINRITE LIST, SR tries to do a viral check and then hangs for good. Using the command line switches (SPINRITE AUTO LEVEL 3 DRIVE 2 e.g.), it gets to looking for devices and just blinks "Working...". Never gets past that point.

So, specifics on how you got this to run would be most helpful. Thanks!
 
  • Like
Reactions: Argonot
Hmmm ... Have you tried: SPINRITE LIST

If your drive controller is in AHCI mode, then SR 6.0 will not see your drives when scanning.

If the drive controller could be switched to ATA/IDE/Legacy in the Bios setup, then SR would see them.

SpinRite 6.1 will be fully compatible with AHCI.
This is what RS sees when scanning my MacBook Air.

Code:
  BIOS Location Type Clas Pg Vend Devi Prt Intr Cmmd Ctrl Mast Driv Link Size
  ---- -------- ---- ---- -- ---- ---- --- ---- ---- ---- ---- ---- ---- -----
   82   0:31:2  IDE  0101 8F 8086 1C01  M   11  2168 217E 2060 3.0    -  121GB

As you can see, it is showing IDE. As I replied down below, SR hangs as it's checking for drives, whether it's SPINRITE LIST or SPINRITE AUTO LEVEL 3 DRIVE (whatever I put here - tried 0, 1, 2, 3, 4)
 
Last edited:
This is what RS sees when scanning my MacBook Air.

Code:
  BIOS Location Type Clas Pg Vend Devi Prt Intr Cmmd Ctrl Mast Driv Link Size
  ---- -------- ---- ---- -- ---- ---- --- ---- ---- ---- ---- ---- ---- -----
   82   0:31:2  IDE  0101 8F 8086 1C01  M   11  2168 217E 2060 3.0    -  121GB

As you can see, it is showing IDE. As I replied down below, SR hangs as it's checking for drives, whether it's SPINRITE LIST or SPINRITE AUTO LEVEL 3 DRIVE (whatever I put here - tried 0, 1, 2, 3, 4)
I don't know if it will make any difference, but what version of DOS did you use to create you bootable USB stick? I have a bootable USB stick I created for Spinrite years ago, and copied ReadSpeed to it. Using the VER command, my version of DOS is:

Windows 98 [Version 4.10.1998]

This is different than the FreeDOS that Spinrite traditionally uses to create a bootable USB. I worked with Greg at GRC Support to create this because FreeDOS wasn't working for me (10 years ago).

I'm running this on my Mid-2012 MacBook Pro, using the OPTION key during startup to select the bootable USB drive to boot into DOS.
 
I'm using the same setup as you. Windows 98 and the exact version number. The only difference I can see is yours is a mid-2012 Pro and mine is a mid-2011 Air. There MUST be a significant enough difference that would explain these results. By all accounts, I should be able to run SR as you did. And yet, no joy. :( Maybe 6.1 will be the thing I need. Only time and Steve will know.