• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Fwd: Upgrading a ROM based KEXT
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: Upgrading a ROM based KEXT


  • Subject: Fwd: Upgrading a ROM based KEXT
  • From: "Satyam Lad" <email@hidden>
  • Date: Mon, 30 Oct 2006 10:17:19 +0530



---------- Forwarded message ----------
From: Satyam Lad <email@hidden>
Date: Oct 28, 2006 1:44 PM
Subject: Re: Upgrading a ROM based KEXT
To: Dean Reece <email@hidden>

Hi Dean,

Yes my new KEXT which is in the " /S/L/E/ " folder gets loaded in safe boot.
I think that my new KEXT is not getting cached but the KEXT from the ROM is getting cached.

What can be the possible reasons for a KEXT from /S/L/E/ not getting cached when a lower version of driver is present in the cards ROM?

I have seen version.plist in almost all systems default KEXT's in /S/L/E/ folder, but this version.plist is not present in my KEXT. What is the use of version.plist? Is this affecting in my case?

Is it that we are missing something in our info.plist file:
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleExecutable</key>
    <string>myProduct</string>
    <key>CFBundleIdentifier</key>
    <string>com.myCompany.driver.
myProduct</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundlePackageType</key>
    <string>KEXT</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>2.0</string>
    <key>IOKitPersonalities</key>
    <dict>
        <key>
myProduct</key>
        <dict>
            <key>CFBundleIdentifier</key>
            <string>com.
myCompany.driver.myProduct</string>
            <key>IOClass</key>
            <string>
myProduct</string>
            <key>IONameMatch</key>
            <array>
                <string>myCard</string>
            </array>
            <key>IOProviderClass</key>
            <string>IOPCIDevice</string>
        </dict>
    </dict>
    <key>OSBundleLibraries</key>
    <dict>
        <key>com.apple.iokit.IOATAFamily</key>
        <string>1.0b1</string>
        <key>com.apple.iokit.IOPCIFamily</key>
        <string>1.0b1 </string>
        <key>com.apple.kernel.iokit</key>
        <string>1.0b1</string>
        <key>com.apple.kernel.libkern</key>
        <string>1.0b1</string>
    </dict>
    <key>OSBundleRequired</key>
    <string>Local-Root</string>
</dict>
</plist>

PLEASE COMMENT.

Are there any other parameters to be set to increase the probe score?

-Satyam.


On 10/28/06, Dean Reece < email@hidden> wrote:
On Oct 27, 2006, at 12:27 PM, Michael Smith wrote:
> On Oct 27, 2006, at 11:20 AM, Satyam Lad wrote:
>> The probe score will always be the same as the info.plist is the
>> same for both the KEXT's.
>> The only difference in both the KEXT (in terms of info.plist) is
>> of "CFBundleVersion" property. The new KEXT has a higher number
>> then the older (ROM) KEXT.
>
> This won't achieve your desired goal; version numbers are not
> considered when matching, only the probe score counts.
>
> If you want the kext to win vs. the ROM, you need to ensure the
> kext has a higher probe score.

Actually, that true only if the two kexts have different
CFBundleIdentifiers.  The way it is *supposed* to work in this case
is as Satyam is attempting  The kext managmenet system will collect
all the versions it can find for any given CFBundleIdentifier and
attempt to use the latest version.

The fact that it is working as expected on the first reboot tells me
that he has it mostly working correctly.  The fact the subsequent
reboots use the ROM kext indicates that perhaps his newer kext isn't
getting included in the kext cache.

What happens if you safe boot (hold the shift key down), which
bypasses the caches and goes back to scanning for individual kexts.
Does it get the newer kext then?

Cheers,
  - Dean

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

References: 
 >Upgrading a ROM based KEXT (From: "Satyam Lad" <email@hidden>)
 >Re: Upgrading a ROM based KEXT (From: "Herb Petschauer" <email@hidden>)
 >Re: Upgrading a ROM based KEXT (From: "Satyam Lad" <email@hidden>)
 >Re: Upgrading a ROM based KEXT (From: Michael Smith <email@hidden>)
 >Re: Upgrading a ROM based KEXT (From: Dean Reece <email@hidden>)

  • Prev by Date: Re: thread_t, uthread_t, at al.?
  • Next by Date: Re: Upgrading a ROM based KEXT
  • Previous by thread: Re: Upgrading a ROM based KEXT
  • Next by thread: Re: Upgrading a ROM based KEXT
  • Index(es):
    • Date
    • Thread