Ever since Apple introduced macOS High Sierra 10.13, they have changed the behavior on how 3rd party kernel extensions are installed on macOS. This is still applicable to macOS Mojave 10.14 and macOS Catalina and it’s still required to approve the kernel extensions in order for the SANLink Series drivers to load.


Kernel Extension Installed by the SANLink2 10GbE/SFP+ Installer

  • SANLink2-10GE.kext (com.promise.driver.SANLink2-10GE)

Kernel Extension Installed by the SANLink3 T1 Installer

  • SL3T1.kext (com.promise.driver.sl3t1)

Note: The SANLink3 T1 has been replaced by the SANLink3 N1. The SANLink3 N1 does not require a kernel extension as it uses the same Aquantia chipset that is used on the the iMac Pro; therefore, the device does not require a Promise kernel extension as Apple has embedded the required kernel extensions into macOS. 


Kernel Extension Installed by the SANLink2 & 3 FC Installer

  • SANLink-FC.kext (com.promise.SANLink-FC)

SANLink Series Installation

  1. During the installation process, you will receive an alert stating the Kernel Extension was blocked:



  2. You can click Open Security Preferences or OK before restarting to approve the (2) kernel extensions.

    In this guide, we will be Approving the kernel extensions prior to restarting the macOS client by clicking Open Security Preferences.

  3. In System Preferences > Security & Privacy, it will state:
    System software from developer "Promise Technology Mobile Apps" was blocked from loading. There will be an Allow button located to the right of the message.



  4. After you clicked Allow, the kernel extension will be now be approved and will launch during the macOS kernel boot-up process. The message will disappear after you click Allow.

  5. Go back to the installer, and click Restart.



  6. Once the macOS SAN Client restarts, you can check that the kernel extension properly loaded. (You can also check this after clicking Allow on Step 3 as well.

  7. In order to check the sqlite3 database to ensure the kernel extensions are allowed to load, you can use the following command:

    [KEY]

    0 = Kernel Extension is Not Allowed to Load
    1 = Kernel Extension is Approved and Allowed to Load
    sudo sqlite3 /private/var/db/SystemPolicyConfiguration/KextPolicy '.dump kext_policy' | grep promise 
    Password: <ENTER SUDO PASSWORD HERE>
    INSERT INTO kext_policy VALUES('268CCUR4WN','com.promise.driver.sl3t1',1,'Promise Technology Mobile Apps',5);
    INSERT INTO kext_policy VALUES('268CCUR4WN','com.promise.SANLink-FC',1,'Promise Technology Mobile Apps',5);
    INSERT INTO kext_policy VALUES('268CCUR4WN','com.promise.driver.SANLink2-10GE',1,'Promise Technology Mobile Apps',1);
  8. Once all the above steps have been properly executed, you may now use the SANLink Series in macOS.

How to Disable User Approved Kernel Extension Loading

In the event, that you would like to disable User Approved Kernel Extension Loading, follow the steps below.

  1. Boot macOS into Recovery Mode

  2. Open the Terminal

  3. Invoke the following command:
    spctl kext-consent disable
  4. Restart the macOS SAN Client.

Contact Promise Technology Support
Need more help? Save time by starting your support request online and a technical support agent will be assigned to your case.

Promise Technology Technical Support >