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.
|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!
|Everything I've tried does not clear error 27
|| Temporarily disable the kext consent feature.