133 questions
1
vote
0
answers
41
views
AudioDriverKit example driver stops working
What I do:
Build the the AudioDriverKit example driver from Apple and install to an M1 Ipad.
Allow the driver in the settings.
Open some browser and go to Youtube.
Play some video.
Stop playback and ...
1
vote
1
answer
41
views
DriverKit driver does not appear in iPadOS app settings
The driver does not show up in the app settings after switching to “DriverKit USB Transport - VendorID”. Previously, the app used “DriverKit USB Transport (development)” and everything worked as ...
1
vote
0
answers
65
views
IOUSBHostInterface::Open for interrupt interfaces works on iPad Air but not iPad Pro
I am trying to open the Communication Control class IOUSBHostInterface in my USB driver, but it only seems to open on iPad Airs and not iPad Pros. I'm calling
ivars->interruptInterface->Open(...
1
vote
1
answer
78
views
How to get my extension’s process ID of the dext for debugging with lldb
I follow this guide Debugging and testing system extensions, and try to debug my dext code.
In the Attach the debugger to your system extension, it said After your system extension launches, run the ...
1
vote
0
answers
32
views
Difference between super:: and SUPERDISPATCH
What is the difference between for example:
SetPowerState(powerFlags, SUPERDISPATCH);
and
super::SetPowerState(powerFlags);
The documentation for SetPowerState says that super:: should be called at ...
1
vote
1
answer
76
views
macOS app and extension: How to send x,y data from HIDStylusDriver to StylusApp to Pen/Draw?
I am using HIDStylusDriver to handle stylus input:
I have a touch screen and I want to:
Control the screen. I can enable the extension and control the touch screen successfully.
Draw on this screen. ...
2
votes
0
answers
88
views
Driver using driverKit stop working with iOS 17.4
We have a project that uses a custom driver and has entitlements for DriverKit and DriverKit USB transport.
We do the detection of the device using IOKit but for transferring data we use DriverKit
The ...
3
votes
1
answer
168
views
How do I distribute a DriverKit Extension to multiple third parties on iOS?
We're developing a framework that needs to talk to a camera on iOS. We've written a Driverkit Extension to enable this but we're having trouble working out how to distribute this to third parties.
We ...
1
vote
0
answers
40
views
How to use IOUserAudioBooleanControl from AudioDriverKit
I am trying to add an output mute to an AudioDriverKit driver.
I create the control like this:
ivars->m_output_mute_control = IOUserAudioBooleanControl::Create( in_driver, true, true, ...
1
vote
0
answers
77
views
Address Sanitizer doesn't compile with an app with DriverKit target
We got an iOS app with two targets, the main target and an DriverKit extension target.
If I want to activate the Address Sanitizer in the scheme for the main app:
I would get an error:
File cannot be ...
3
votes
0
answers
294
views
Unable to import IOKit in an iOS framework
I've written a DriverKit driver for iPadOS for a USB device. It's working fine. I'm trying to package up the app-side code in an SDK for it in a framework. The framework includes both Swift and C/...
6
votes
2
answers
468
views
Sharing a ring buffer between driver and user-space in DriverKit
I'm looking for a fast and efficient way for user-space to send I/O to my driver. One way I'd have hoped to do this, was through a shared memory ring-buffer.
In the WWDC19 presentation on System ...
2
votes
0
answers
318
views
Functions of IOUserSCSIPeripheralDeviceType00 class in SCSIPeripheralsDriverKit always return kIOReturnUnsupported (0xe00002c7)
I already have a working KEXT which I use for sending SCSI vendor commands for a SCSI Peripheral Type 0 device with IOSCSIPeripheralDeviceNub as the provider. Currently, in the process of migrating to ...
0
votes
1
answer
429
views
How to develop a DEXT for sending vendor SCSI commands to a USB mass storage device using USBDriverKit?
I am currently in the process of developing a DEXT for a USB based external mass storage device using the USBDriverKit framework. IOUSBHostInterface is used as the provider to communicate with the ...
1
vote
0
answers
75
views
Image capture (ICA) driver as dext, is it possible?
I'm trying to rebuild old scanner driver as dext, according to Apple recommendations.
Old version used ICADevices framework to register and communicate with calling application. But it is not ...
0
votes
1
answer
77
views
XCode, driverkit: __debug file not found for <memory>, <vector> and some other includes
I have XCode 15.0 project with dext target (C++).
Including of <memory>, <vector> and some other headers causes compilation error: __debug file not found.
Base SDK and Supported platforms: ...
1
vote
1
answer
63
views
How to use DriverKit IOWorkGroup
I can see that there is this file with this comment:
* @class IOWorkGroup
*
* @abstract
* Workgroups allow multiple threads to coordinate activities for realtime operations.
*
* @discussion
*
*...
0
votes
1
answer
92
views
Async Call struct method in DriverKit doesn't return the data assigned
I'm using DriverKit in iPadOS.
I've got a call to read data synchronously, which is working fine.
So I'm trying to do the asynchronous one.
For this I'm calling IOConnectCallAsyncStructMethod with
ret ...
1
vote
2
answers
111
views
Bundling a dext into an iOS .ipa with Xamarin
I have an project that takes a two-step process to build an iOS app. There's the native libraries and .dext built in XCode, and then those are linked to a Xamarin project that I use to finish building ...
3
votes
0
answers
265
views
Unable to Establish Connection to DriverKit System Extension from App
I am currently developing a macOS application that involves communication with a System Extension (DEXT) created using DriverKit. Despite the extension appearing to be correctly installed and ...
3
votes
1
answer
440
views
PCIE DriverKit cannot be loaded correctly due to entitlements issues
My question
I already have the correct entitlements, provisioning profile and development certification, and I have turned off SIP, turned on systemextensions developer on, but it still shows
provider ...
1
vote
0
answers
190
views
It is hard to configure the serial buffer when creating an IOUserSerial subclass
I am studying the IOUserSerial driverKit driver. My driver is able to detect a specify USB device. (The story that I don't use IOUserUSBSerial was depicted in this thread.)
This post inspired me to ...
1
vote
1
answer
341
views
MacOS custom Audio Driver doesn't process our hardware audio stream
We are developing a custom audio driver for a USB microphone in order to do simple processing (EQs) on the input audio stream (comparable to an APO for Windows). Our code is based on the ...
4
votes
0
answers
428
views
DriverKit driver doesn't appear in Settings when installed with iPad app
I'm working on a DriverKit driver. I have it running on macOS, including a very simple client app written in SwiftUI. Everything is working fine there. I've added iPadOS as a destination for the app ...
3
votes
1
answer
339
views
Synchronization primitives in DriverKit
In a DriverKit extension, I would like to block a call from a user client until a specific hardware interrupt fires. Since there are no semaphores available (Does the DriverKit SDK support semaphores?)...