4

There is a file JMicronATA.kext in my GF's iMac in /System/Library/Extensions ... is this an official part of OS X? Or can it be deleted? I ask because its modification date is 2012 and in System Report it shows that it's Not Signed and not loaded.

As well there are these kexts in /Library/Extensions which do not show to be from Apple, are not loaded, and many are from 2013:

ACS6x.kext AcrMSR.kext ATTOCelerityFC8.kext ATTOExpressSASHBA2.kext ATTOExpressSASRAID2.kext CalDigitHDProDrv.kext HighPointIOP.kext HighPointRR.kext PromiseSTEX.kext SoftRAID.kext

What are all these and why are they in /Library/Extensions instead of /System/Library/Extensions if they are officially part of OS X Yosemite? If they're not, how can I identify where they came from? Why would they still be there after I just reinstalled Yosemite yesterday?

How can you tell what's an official part of the system, and what isn't? How can you uninstall 3rd party crap, short of rooting out individual files from within alllll of the folders in the three different Library folders, not to mention anything hidden in the /private directory??

Thanks.

5

It's the kernel extension for JMicron SATA controllers, and yes it's official, as are the others. It's up to you if you want to delete them, I wouldn't bother as they take up minimal space. Check System Profiler before doing anything silly just to make sure your iMac doesn't require any of the listed extensions.

Example:

JMicronATA:

Version: 1.1.6

Last Modified: 5/22/12, 8:19 AM

Loaded: No

Get Info String: 1.1.6, Copyright JMicron Technology Corporation

Obtained from: Not Signed

Kind: Intel

Architectures: x86_64

64-Bit (Intel): Yes

Location: /System/Library/Extensions/JMicronATA.kext

Kext Version: 1.1.6

Valid: Yes

Authentic: Yes

Dependencies: Satisfied

Signed by: Not Signed

  • How do you know it's official? Why isn't it signed? Why was it last updated two years ago? – CommaToast Mar 10 '15 at 22:18
  • 1
    While you're unlikely to need some of these extensions, if you had a Mac Pro (as an example of a system where you had the option of fitting expansions) these extensions would be loaded as needed - and are the reason why no drivers are required for many 3rd party expansions/peripherals. As an example, there are a number of ExpressCard34 eSATA adapters available using the JMicron 3xx chipset. Put one of these cards in a pre-Unibody MacBook Pro and it will simply work, no extra drivers required. – ScunnerDarkly Mar 10 '15 at 22:39
  • I know it's official because it's a standard part of the OS X installation, and is present on the system in front of me right now. No idea why it's not signed though... – ScunnerDarkly Mar 10 '15 at 22:41
  • There are newer versions of this driver out there, weird that they'd include an older one, but OK. So short of keeping another computer somewhere with a virgin copy of OS X to refer to, or posting here, how can I know what is official Apple and what is third-party? – CommaToast Mar 10 '15 at 22:49
  • hey @ScunnerDarkly see my answer the explains why this doesn't have a code signature. There's a special exception for this extension allowing it to be loaded without one. (unclear why this approach was taken by apple though) – Chris Jun 20 '18 at 23:15
2

You're right that this extension isn't signed, but it does come from Apple and it can be loaded despite the missing code signature.

If check with kextutil in a shell this tells you some information not available in System Information, specifically:

> sudo kextutil JMicronATA.kext
Diagnostics for /System/Library/Extensions/JMicronATA.kext:
Code Signing Failure: not code signed
kext file:///System/Library/Extensions/JMicronATA.kext/ is in hash exception list, allowing to load

This "hash exception list" doesn't seem to be documented by Apple, but I think it explains the discrepancy here. For some reason Apple didn't want to sign this kext, but they do have some special exception built into the OS that will allow it to be loaded.

(Perhaps approach was taken because it'll be easier in the future to revoke that right? though just speculating.)

0

Knowing what Kernel Extensions are from Apple

JMicronATA.kext is not part of OS X, but has been installed from some other source. The best way to know if it is from Apple is to read the Obtained from: field. For example JmicronATA.kext has:

Obtained from: Not Signed

Not:

Obtained from: Apple

As a general rule you don't want to be using unsigned Kernel Extensions just like you don't want to be using Apps from unidentified developers. It is probably a good idea to disable unsigned extensions.

Disabling a Kernel Extension

Before disabling an unwanted KEXT check that the Loaded: field has No, that way we know for sure that it is not being used. I strongly advise not to ever disable Apple KEXTs, even if they read Loaded: No.

Next we open a terminal and change into the folder that contains the KEXTs:

cd /System/Library/Extensions/

Now rename the unwanted extension to have _DISABLED on the end. (I don't think it matters what is on the end, but I did not have time to test.):

sudo mv SiLabsUSBDriver64.kext SiLabsUSBDriver64.kext_DISABLED

About KEXTs

https://developer.apple.com/library/mac/documentation/Darwin/Conceptual/KernelProgramming/Extend/Extend.html

http://www.macbreaker.com/2012/01/what-are-kexts.html

  • 1
    Actually apple ships this unsigned kext – Warren P Apr 23 '16 at 19:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .