Inconsistent KEXT Status Between System Information and kextstat

Hello Everyone,

I have noticed an inconsistency in the KEXT status between the System Information Extensions section and the output of the kextstat command.

In System Information, the extension appears as loaded:

ACS6x:

  Version:        3.8.3
  Last Modified:  2025/3/10, 8:03 PM
  Bundle ID:      com.Accusys.driver.Acxxx
  Loaded:         Yes
  Get Info String: ACS6x 3.8.4 Copyright (c) 2004-2020 Accusys, Ltd.
  Architectures:  arm64e
  64-Bit (Intel): No
  Location:       /Library/Extensions/ACS6x.kext/
  Kext Version:   3.8.3
  Load Address:   0
  Loadable:       Yes
  Dependencies:   Satisfied
  Signed by:      Developer ID Application: Accusys, Inc (K3TDMD9Y6B)
                  Issuer: Developer ID Certification Authority
                  Signing time: 2025-03-10 12:03:20 +0000
                  Identifier: com.Accusys.driver.Acxxx
                  TeamID: K3TDMD9Y6B

However, when I check using kextstat, it does not appear as loaded:

$ kextstat | grep ACS6x

Executing: /usr/bin/kmutil showloaded
No variant specified, falling back to release

I use a script to do these jobs

echo "  Change to build/Release"
echo "  CodeSign ACS6x.kext"
echo "  Compress to zip file"
echo "  Notary & Staple"
echo "  Unload the old Acxxx Driver"
echo "  Copy ACS6x.kext driver to /Library/Extensions/"
echo "  Change ACS6x.kext driver owner"
echo "  Loaded ACS6x.kext driver"
    sudo kextload ACS6x.kext
echo "  Rebiuld system cache"
    sudo kextcache -system-prelinked-kernel
    sudo kextcache -system-caches
    sudo kextcache -i /
echo "  Reboot"
    sudo reboot

But it seems that the KEXT is not always loaded successfully. What did I forget to do?

Any help would be greatly appreciated.

Best regards, Charles

Answered by DTS Engineer in 828489022

I have noticed an inconsistency in the KEXT status between the System Information Extensions section and the output of the kextstat command.

Sort of. The "System Information Extensions" is basically saying "this is capable of being loaded", while kextstat is saying "this KEXT IS in fact loaded". I believe a fully loaded kext would have a memory address in "Load Address:", which would be the same address kextstat returns.

But it seems that the KEXT is not always loaded successfully. What did I forget to do?

I'm not entirely certain, however, we deprecated kextcache several release ago, replacing it with "kmutil". Note that kmutil also replaces kextstat and you may get better diagnostic data if you try running it (kmutil) on the failing case.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Accepted Answer

I have noticed an inconsistency in the KEXT status between the System Information Extensions section and the output of the kextstat command.

Sort of. The "System Information Extensions" is basically saying "this is capable of being loaded", while kextstat is saying "this KEXT IS in fact loaded". I believe a fully loaded kext would have a memory address in "Load Address:", which would be the same address kextstat returns.

But it seems that the KEXT is not always loaded successfully. What did I forget to do?

I'm not entirely certain, however, we deprecated kextcache several release ago, replacing it with "kmutil". Note that kmutil also replaces kextstat and you may get better diagnostic data if you try running it (kmutil) on the failing case.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Inconsistent KEXT Status Between System Information and kextstat
 
 
Q