Jump to content

How can I make an old kext appear newer?


Crabhunter
 Share

4 posts in this topic

Recommended Posts

In order to make my Ethernet and WiFi work I have to use two old kexts. 

They only work when installed to S/L/E, this means every time I update I have to re-install them.

I've heard you can make them look newer and then install them in Clover's "Other" folder.

What's involved in doing this?

Mike

Link to comment
Share on other sites

1 hour ago, Hervé said:

What you can do is simply increase the version of the old kexts you wish to retain. When 2 x kexts carrying the same name exist, OS X/macOs will only load the highest versions.

 

Open up your target/old kext package and increase the version number to, says, 999 (or whatever else as long as it's higher than the version of the vanilla kext in /S/L/E) in:

  • Contents/Info.plist
  • Contents/Version.plist

 

Place the modified kext in /L/E, repair permissions and rebuild your cache. The kext with highest version placed in /L/E will take precedence.

In my Version.plist I have a key called <key>BuildVersion</key> I assume I edit the string below it.

I'm not sure which key to edit in Info.plist

 

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>BuildMachineOSBuild</key>
    <string>15A284</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleExecutable</key>
    <string>IO80211Family</string>
    <key>CFBundleGetInfoString</key>
    <string>12.0, Copyright © 2005-2016 Apple Inc. All rights reserved.</string>
    <key>CFBundleIdentifier</key>
    <string>com.apple.iokit.IO80211Family</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>IO80211Family</string>
    <key>CFBundlePackageType</key>
    <string>KEXT</string>
    <key>CFBundleShortVersionString</key>
    <string>12.0</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleSupportedPlatforms</key>
    <array>
        <string>MacOSX</string>
    </array>
    <key>CFBundleVersion</key>
    <string>1200.12.2</string>
    <key>DTCompiler</key>
    <string>com.apple.compilers.llvm.clang.1_0</string>
    <key>DTPlatformBuild</key>
    <string>8R174l</string>
    <key>DTPlatformVersion</key>
    <string>GM</string>
    <key>DTSDKBuild</key>
    <string>16A315</string>
    <key>DTSDKName</key>
    <string>macosx10.12internal</string>
    <key>DTXcode</key>
    <string>0800</string>
    <key>DTXcodeBuild</key>
    <string>8R174l</string>
    <key>IOKitPersonalities</key>
    <dict/>
    <key>OSBundleCompatibleVersion</key>
    <string>1.0</string>
    <key>OSBundleLibraries</key>
    <dict>
        <key>com.apple.driver.AppleMobileFileIntegrity</key>
        <string>1.0.1</string>
        <key>com.apple.driver.corecapture</key>
        <string>1.0.0</string>
        <key>com.apple.iokit.IONetworkingFamily</key>
        <string>3.0</string>
        <key>com.apple.kec.corecrypto</key>
        <string>1.0</string>
        <key>com.apple.kpi.bsd</key>
        <string>15.0.0</string>
        <key>com.apple.kpi.iokit</key>
        <string>15.0.0</string>
        <key>com.apple.kpi.libkern</key>
        <string>15.0.0</string>
        <key>com.apple.kpi.mach</key>
        <string>15.0.0</string>
        <key>com.apple.kpi.private</key>
        <string>15.0.0</string>
        <key>com.apple.kpi.unsupported</key>
        <string>15.0.0</string>
    </dict>
    <key>OSBundleRequired</key>
    <string>Network-Root</string>
</dict>
</plist>

 

Link to comment
Share on other sites

Here is the background to my hack.

When I first put OSX on my laptop/notebook one of the things that didn't work out of the box was my Broadcom ethernet.

A quick google turned up a modified plugin that when placed in IoNetworking brought it to life.

I made a copy of the whole IoNetworking kext and have used it ever since without problem right up to Mojave although I skipped High Sierra.

When I got to Mojave I had a bit of a problem, my WiFi card was no longer supported and to get that to work I had to use a plugin from IO80211Family kext. Unfortunately that stopped my Ethernet working :(

The solution has been to use my old ones together and that works fine.

I've tried adding id to the Mojave plugin for my Ethernet but despite trying for weeks and asking for help got nowhere.

I can go on just re-installing my old kexts but would like to be able to update without having to.

I'll try your suggestions.

Mike

Link to comment
Share on other sites

 Share

×
×
  • Create New...