Kext with invalid signature can load on one machine, but not the other. Why?

Mattias Andersson picture Mattias Andersson · Jul 28, 2014 · Viewed 12k times · Source

I have an iMac and a Macbook Pro. I updated both to Yosemite beta (the public one). But my audio interface Focusrite Saffire 24 DSP (Firewire) works properly in the iMac, but not on the Macbook Pro.

When installing the Saffire, there is a Saffire.kext. When connecting it to the iMac, this kext loads fine, nothing unusual. This kext does NOT load when connecting it to the Macbook Pro. I tried loading it manually, and I get an error message saying that it can't be loaded since the kext has an invalid signature.

Now, I checked the signature on both computers, and they both say that the signature is invalid. But it loads fine on the iMac, even though the signature is invalid.

Why is that? What am I not understanding?

Here is some console output if that helps:

Mattiass-MacBook-Pro:Extensions mono$ codesign -dvvv Saffire.kext/
Executable=/System/Library/Extensions/Saffire.kext/Contents/MacOS/Saffire
Identifier=tc.tctechnologies.driver.Saffire
Format=bundle with Mach-O universal (i386 x86_64)
CodeDirectory v=20100 size=161 flags=0x0(none) hashes=1+3 location=embedded
Hash type=sha1 size=20
CDHash=ebc9c42dbea4f51770ff62d7de12552ae82a1fbc
Signature size=4240
Authority=Developer ID Application: TC Applied Technologies
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Signed Time=13 Mar 2014 02:58:23
Info.plist entries=19
TeamIdentifier=not set
Sealed Resources version=1 rules=4 files=0
Internal requirements count=1 size=180

Mattiass-MacBook-Pro:Extensions mono$ codesign --verify -vvvv Saffire.kext/
Saffire.kext/: invalid signature (code or signature have been modified)
In architecture: x86_64

(The Saffire is connected to a Belkin Thunderbolt Dock, which is connected to the MBP, if that matters.)

UPDATE:

Here is the error message in the log.

28/07/14 00:51:33,693 com.apple.kextd[19]: ERROR: invalid signature for tc.tctechnologies.driver.Saffire, will not load

UPDATE 2:

I got it to work in the MBP as well. I found this post: http://www.cindori.org/enabling-trim-on-os-x-yosemite/ which lead me to try out this command:

sudo nvram boot-args="kext-dev-mode=1"

After a reboot, everything was up and running again.

My question remains unanswered though, why did it work on the iMac but not the MBP?

Answer