Kext error 27


macOS High Sierra 10.13 introduces a new feature that requires user approval before loading new third-party kernel extensions as described here. 

Under Mac our driver uses a 'codeless' kernel extension (kext) and as the name suggests it does not actually contain any programming code. It is used purely to notify the operating system what USB devices the driver is handling such that the OS should relinquish control (any HID compatible USB device will try to be supported by the native HID driver irrespective of the fact it does not correctly support HID multi-touch touch devices!) and allow our driver access to the device.

Badly written kernel extensions could destabilise the system or cause system panics so since MacOS 10.13 the operating system will block them being loaded unless they are manually 'Allowed' to in installed.

When our software is installed you should see this block message:

Until such times as you have enabled the kernel extension the driver will not be able to access any USB devices supported by the driver.

When the extension is blocked and waiting to be allowed the systems kextload status shows error 27 and this error code is also  copied to our own UPDD setting (private.kextload.status) to allow it to be tested and also seen in the settings when they are dumped as part of our diagnostics procedure. Our daemon process is checking for various status conditions and will issue notifications (unless disabled) to indicate a 'error/warning' state exists that will may be preventing the driver from working.

One such notification, issued each time the daemon process loads, warns of this kext issue such that our software needs to be 'Allowed' to complete the software installation:

The software is allowed in the System Preferences, Security and Privacy dialog, under the General tab:

​Occasionally 'Allowing' the software to load as above does not resolve the kext issue. Below is a summary of the issues seen and this issue is covered in a more comprehensive report on kext errors here.

Condition Solution 
Not sure if I have this error You can see the results of the kextload request by running the command 'sudo kextload /Library/Extensions/tbupddmxhid.kext; echo $?' in a terminal window. If the kext permissions dialog hasn't appeared this should trigger it.
The 'Allow' option was not seen Try installing again or running the command above.
I've selected Allow but error condition 27 persists A number of users reported that within 2 or 3 reboots the kext does eventually load!
or a System Policy is preventing the kernel from loading

This could also be caused by a Mobile Device Management policy that needs to be adjusted to cater for the UPDD kernel extension.
Everything I've tried does not clear error 27  Temporarily disable the kext consent feature.
Search