Hi,We use a codeless kext to stop the system USB HIB driver from matching our devices, which declare as USB HID, but are not true USB HID devices. All USB comms to the devices are via the userspace APIsWe also must use the OSBundleRequired Root flag to load at boot, or the System HID driver claims the device. Without this boot-time load, our devices would have to be phisically unplugged-replugged after a user application with embedded system extention is running - but this is not an acceptable situation for remote machines as an example.We have plans to move away from HID-not-HID to a proper Vendor defined USB class, but we will continue to have a huge installed base of legacy devices to support going forward on the old HID stack.How can we continue to support these devices moving forward as Kexts are deprecated?Thanks,-Patrick
Post
Replies
Boosts
Views
Activity
We have a Codeless kext. When built in Xcode 11, it works fine. When built in Xcode 12 - Xcode is generating a source code file named (kextname)_info.c, linking that against libkmod.a, and producing an Executable in the kext bundle. All this with no source code at all in the Xcode project, and no CFBundleExecutable in the Info.plist.
The kext appears to build/codesign/notarize properly, but then fails to load with error: kext with invalid signature (-67062) denied.
How can a codeless kext be produced in Xcode 12? A codeless kext should ONLY have the Info.plist and the code signature - no MacOS folder at all.
Thanks,Patrick