I have a new question: I include Capabilities in the Provisioning Profile that might not be used, just in case. If I don't list all these Capabilities in the driver's Entitlements, will it cause the driver to behave abnormally? No, this doesn't affect anything. I then created a UserClient inheriting from the IOUserClient class to access it from the app, but IOServiceOpen fails with code 0xe00002d7 and cannot open. Huh. So, 0xe00002d7 is kIOReturnOffline, but I'm not sure how you'd get it from IOServiceOpen. It's returned in a few places in DriverKit and xnu, but none of them look like places you'd reach from IOServiceOpen. My best guess is that you're either trying to open the wrong object or your subclass is in an odd/unexpected state which is making it non-connectable. If you haven't already, make sure you check the system log as it's possible we logged additional info about what actually happened. Actually... real-time correction of myself: And in the driver's Info.plist, the following definitions
Topic:
App & System Services
SubTopic:
Drivers