Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I recently bought a third part (OCZ) SSD and used Trim Enabler to, well, enable TRIM. I've noticed that some software updates can cause TRIM to be disabled, and have thus been curious about how TRIM Enabler works.

  • Does it replace some default KEXT with a custom one to support TRIM or does it simply toggle some PLIST setting?
  • Either way, is there a file that, when locked, can ensure that TRIM remains enabled (without any negative consequences)?
share|improve this question

2 Answers 2

up vote 2 down vote accepted

The Trim Enabler patches the following Kext-File

/System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

which checks if the ssd is a 3rd-party or Apple Branded SSD:

IOAHCI hex/ascii view

you can also enable trim manually by looking for all 'Apple' occurrences in the file and patching them in a hex-editor or via terminal:

##1. Backup old file
    $sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
/System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage.original

##2. Patch the file to enable TRIM support
    $sudo perl -pi -e 's|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00{1,20})[^\x00]{9}(\x00{1,20}\x51)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

##3. Clear the system kernel extension cache

   $sudo kextcache -system-prelinked-kernel

   $sudo kextcache -system-caches
share|improve this answer
1  
How do you even find this stuff?! If I run TRIM Enabler to "patch" my IOAHCIBlockStorage file and then lock it (with admin privileges), would I suffer any adverse effects? Sure I wouldn't be able to support the new PCIe SSDs (which my MacBook doesn't even have), but would it prevent any future updates from reversing the patch? –  XAleXOwnZX Jun 16 '13 at 5:19
    
my best guess: even if you lock the file from editing.. the updater would just replace the file completely with a new file. You would had to remove write permission for root from the complete folder. In that specific case I assume the installer will fail as it can't write to the folder. In my opinion it's not worth the trouble. Just start Trim Enabler after an update and re-apply the patch. –  Chrisii Jun 16 '13 at 6:42
    
Okay, thanks for the advice! :) –  XAleXOwnZX Jun 16 '13 at 17:17
    
Great answer man. –  Woodstock Sep 15 '13 at 11:48

The only information I can find on this is from an FAQ / blogpost entry

A: Trim Enabler patches a native OSX Trim driver, which works in the background even when the app is closed or removed. This patch is reset on system updates, so it might be a good idea to keep the app however.

share|improve this answer
    
The path is usually reset on updates when Apple decides to update the mentioned kernel extensions for example to support new ssd drives (Thinking of the new ppcie ssds announced at WWDC). –  Chrisii Jun 16 '13 at 1:57

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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