USBDriverKit

RSS for tag

Develop drivers for USB-based devices using USBDriverKit.

Posts under USBDriverKit tag

190 Posts

Post

Replies

Boosts

Views

Activity

Mac M2 pro libusb read/write performance
I am writing a C program on Mac that calls the libUSB API. However, I found some performance differences between the same programs on MAC x64 and MAC M2 systems. Program on Mac m2 call libusb_control_transfer() function is much slower than programs on Mac x64. For example, running a program on Mac x64 takes 3 seconds to complete a function, while on Mac m2 it takes 10 seconds. I try to count the number of times a program calls libusb_control_transfer() and the time it takes each time, and finally calculate the average time it takes to call libusb_control_transfer(). The following figure shows the performance of the program on Mac m2.(Unit is us per time) The following figure shows the performance of the program on Mac x64. (Unit is us per time) The difference in average time spent calling a function has reached over 10 times. Is this performance gap caused by the USB driver or the libUSB library? Thanks.
2
0
1.4k
May ’23
DriverKit provisioning issues
Hello, DriverKit support, My goal is to build an iPad app + DriverKit extension. I requested for DriverKit entitlements from Apple and received approval for it. Now I have to go through the quest and create proper AppID and AdHoc provisioning profiles for our app and DriverKit / USB transport target. Can you please check what I’m doing wrong? XCode is 14.2. AppID Here is what I have and set up for the AppID: and also for Additional Capabilities: Provisioning Profiles Then I tried to create a DriverKit provisioning profile. When I’m adding a profile here is what I have: Here comes my first question: Shall I have DriverKit in the Distribution section? Okay, I tried to create a profile of the “DriverKit App Development” type. At some step, I set up the entitlement: But the portal gives me an error once I clicked to "Generate": FAIL Then I tried to create an AdHoc provisioning profile for my AppID: FAIL again What is going wrong here with the process? Did I receive everything is needed from Apple ? Shalln’t I have “DrivertKit” in the Distribution section ? What type of provisioning profile (for AdHoc and AppStore) distribution is needed ? Thank you in advance!!!
1
0
966
May ’23
Release ExclusiveAccess to an usb device taken by another application?
Seems like both Dropbox and Google Drive has a pretty sad implementation/bug that acquire exclusive access to USB devices that expose MTP (media transfer protocol). The way google and dropbox did it is just wrong as they 1) should ask for permission for reading data on new devices, 2) not open the usb device in exclusive mode... 3) make use of MTP's Multi-Session mode. Well, as it will take them about 4.5 years to correct this, I wonder if there is a way for a app-store/user-space application in macOS 11/12/13 (big sur, monterey, ventura) to do the following: Detect if there is another app that has exclusive lock to a specific usb device Get the name of the app so that an alert could say, "please quit google-drive for this to work..." Release the exclusive lock, i.e. hand over the usb peripheral to my application
0
0
1.4k
Apr ’23
In macOS 13.1, how to communicate with USB billboard device
In macOS 13.1 environment, all IOUSBDevice devices in the current system can be found via the IOServiceAddMatchingNotification function. In the registered callback function, properties such as idVendor, idProduct, and locationID of the device can be read. However, when calling the IOCreatePlugInInterfaceForService function, for USB HID and USB HID devices, a successful status of 0x00000000(kIOReturnSuccess) is returned, but for usb billboard device(type-c ,only have control pipe), an error of 0xe00002be(kIOReturnNoResources) is always returned. Thanks a lot !
1
0
1.6k
Apr ’23
How to communicate between USBDriverKit driver and Client app?
We are experimenting with DriverKit on macOS while DriverKit is still in beta on iPadOS. We want to build a Driver for iPad that will allow to communicate our iPad App with USB device. What we did: Configured and implemented a driver that uses USBDriverKit::IOUSBHostInterface as provider. This driver is automatically matched/started by macOS when we plug our device into USB port. Next we utilised USBDriverKit::IOUSBHostPipe to send/receive data from our device. We print data from device in logs for now. Studied Communicating Between a DriverKit Extension and a Client App Configured and implemented a driver that based on IOUserClient and allows to open communication channel by macOs App using IOServiceOpen API. Driver has callback to pass data to macOS Client App. Currently we want to combine 2 drivers and pass data received from USB device to our client App using callback. Unfortunately, we stuck since now we have 2 instances of driver: First instance is automatically run by macOS when device is plugged Second instance is created when we are connecting from Client App and virtual kern_return_t NewUserClient(uint32_t type, IOUserClient** userClient) method is called. So we can't use second instance to do USB device communication since it has wrong provider(IOUserClient) in kern_return_t Start(IOService * provider) but we need IOUSBHostInterface to start:     ivars->interface = OSDynamicCast(IOUSBHostInterface, provider);     if(ivars->interface == NULL) {         ret = kIOReturnNoDevice;         goto Exit;     } Are we doing it wrong? Maybe instead of automatic matching for IOUSBHostInterface we should do it manually from UserClient driver or use another approach? As we learned we have to create a new service instance in NewUserClient method and can't return driver that was run by OS: kern_return_t IMPL(MyDriver, NewUserClient) {     kern_return_t ret = kIOReturnSuccess;     IOService* client = nullptr;     ret = Create(this, "UserClientProperties", &client);     if (ret != kIOReturnSuccess)     {         goto Exit;     }     *userClient = OSDynamicCast(IOUserClient, client);     if (*userClient == NULL)     {         client->release();         ret = kIOReturnError;         goto Exit;     } Exit:     return ret; } BTW, maybe there is much easier way to forward data from USB device to iPadOS App?
2
2
2.4k
Mar ’23
Is it possible to show a popup when a device is plugin with no driver neither app installed
I wonder if it's possible to show a popup when a device is plugged in the iOS device but the driver/app is not installed. I've seen this before when old days without DriverKit where a notification was shown to help the user. If the user accepted the popup the Apple store opened with the page download the particular app to install the driver for the device. Thanks
0
0
837
Mar ’23
How to write kernel driver for USB on macOS ?
I am creating a macOS app that will send commands to a USB device when it is plugged into a Mac. There are only two steps to accomplish this: send request commands to the USB and receive response messages from it. The USB has an attached SCSI, but I am unsure of how to send SCSI commands to macOS. Research has indicated that a kernel driver must be written for the USB to function on macOS. I have a .cpp file that can be converted into a .dll file to work on the Windows side. Is it possible to reuse this .cpp file and convert it into a .so file that can run on the macOS side? Is there someone interested in this project? I am looking to outsource it.
0
0
1.2k
Feb ’23
USB serial port not showing up after Monterey OS upgrade
Past 8-9 months we've been working on Arduino/ ESP32 with no issues, but after upgrading the OS the port stopped showing up under /dev/tty.cuserial. We tried to install the driver from Silicon Labs CP210x VCP Driver for MacOS(installed w/ no issues) but in the system information, we are seeing the S/w is sitting under disabled S/w list com.silabs.driver.CP210xVCPDriver: unknown. How can we fix this and get it out of disabled S/w?
2
0
2.5k
Feb ’23
Audio Driver is not assigned with the default Driver
Hi, We finally managed to assign our Driver (based on the SimpleAudioDriver) to the right audio device. But we now have two devices showing up : one is assigned with our driver and the other one is assigned to the default driver. How can we override the original one with ours, to just have one device showing up ? If you have any hints, please get back to us. Thanks.
0
0
1k
Jan ’23
General Audio Driver Development Questions
Hi, I need to develop a cross-plateform driver extension (similar to a Windows Audio Processing Object (APO)) for an Audio Device and I'm struggling with associating the driver to a USB Audio Device. I'm using the SimpleAudioDriver example and override the device_uid with the Product ID and the manufacturer_uid with the Vendor ID. As I understand it with this documentation : https://developer.apple.com/news/?id=zk5xdwbn it should associate my driver with the device but it creates a new device. If you have any hints, please get back to me. Thanks.
2
0
2.2k
Jan ’23
How can I use USBmakebmRequestType with DriverKit
I'm building a driver in C++ for my iPad using DriverKit. I'm trying to make a request to a control endpoint, so I'm trying to use DeviceRequest: https://developer.apple.com/documentation/usbdriverkit/iousbhostinterface/3182582-devicerequest But the first parameter ask for USBmakebmRequestType which it's a macro defined in IOKit > USB.h I tried to #include <IOKit/USB.h> and #include <IOKit/usb/USB.h> and  but it doesn't find the header. Any idea? thanks.
1
0
1.9k
Dec ’22
Different Drivers for Individual Interfaces
Hello We have a USB camera. My Mac can recognize it and we can get frames with any software. There is a physical button on it and the vendor says the camera is UVC-compliant. But button doesn't work anyway. I captured some USB traffic data and saw that it has two interfaces. One for streaming and other one for interrupting (like button click). I read UVC 1.5 standards to understand it and it is working like written in UVC 1.5. So, I can get a data with an interrupt transfer when clicking the button. I checked these two interfaces, they use UVCAssistant for driver(System Extension). I tried to use libusb, I can get data from button click. But for frames I had to use libuvc, but it wasn't work for my camera (I think it is related with USB descriptor parsing in libuvc). I thought that I should write a driver for single interface and so second interface will use same UVC assistant driver and first interface will use my driver. I wrote a driver and it matches with first interface. But second interface is empty (unhandled by any driver). I want to load UVCAssistant for second interface of USB port. How can I do this? Output before loading my driver After loading: IOKitPersonalities that I used:
2
0
2.1k
Dec ’22
The DriverKit problems to develop multiple serial USB device
Hi, I am developing a DriverKit driver for a USB device which has multiple serial UARTs connected. Each UART will represent a cu.USBX port on Mac. My driver inherits IOUSBHostDevice class and it matches device ID well. Now, I am going to crate a new class inherits IOUserSerial to implement serial port. However, compiler said no new operator on base class. It seems the base OSObject class prevent to new the subclass as I did in IOKit driver. Since the similar IOUserSerial/IOUserUSBSerial examples are hard to find, I would like to ask if anyone can help me to solve this problem. Any feedback and clue is appreciated. Following are some snippets to show my situation. My IOKit port driver inherits IORS232SerialStreamSync. class KextSerial : public IORS232SerialStreamSync { OSDeclareDefaultStructors( KextSerial ) ; // Constructor & Destructor stuff : } My USB driver could create new KextSerials and initiate them as well. KextSerial * newSerial = new KextSerial; if( !newSerial->init(0, 0) ){ goto FailExit; } However, in my DriverKit port driver inherits IOUserSerial. class DextSerial : public IOUserSerial { : } While I try to new the DextSerial as following. DextSerial * newSerial = new DextSerial; The compiler said "No matching function for call to 'operator new'" Parallelly I have tried IOUserUSBSerial and OSObject, I got the same error message.
3
0
1.3k
Nov ’22
DriverKit Share Memory from User Client to App for Streaming
Does anyone have an example of streaming video data from a user client to a client app? I have successfully set up a DriverKit USB hardware driver that commands a device to successfully fill the same IOBufferMemoryDescriptor at 30fps with new data (verified in driver). I have also managed to map this buffer to the application using CopyClientMemoryForType in the user client and IOConnectMapMemory64 in the app. I have also confirmed the data is the intended image data. What I CAN NOT do is see updates in the mapped memory in the app. I map and unmap the data, but the contents don't change. No matter how many times I map, CopyClientMemoryForType is called once. How should changes to the underlying dext space memory be reflected/synchronized to the app? Can I not share a single buffer (4-12MB, ringed) and synchronize updates?
1
0
1.4k
Nov ’22
DriverKit demo app doubts
Hello everyone, I downloaded the demo app from the driverkit demo located at https://developer.apple.com/documentation/driverkit/communicating_between_a_driverkit_extension_and_a_client_app, I downloaded the files and followed the process in the two possible ways by letting xcode automatically sign the app and by me creating the provisioning profiles, everything compiles but I am facing this particular issue whenever I try to invoke the system installation of the driver:2022-11-16 00:45:12.425147-0600 DriverKitSampleApp[5837:69830] sysex didFailWithError: The operation couldn’t be completed. (OSSystemExtensionErrorDomain error 9.) There is very little to none information on the web, and I dont know what else to do at this point.
1
0
1.6k
Nov ’22
Mac M2 pro libusb read/write performance
I am writing a C program on Mac that calls the libUSB API. However, I found some performance differences between the same programs on MAC x64 and MAC M2 systems. Program on Mac m2 call libusb_control_transfer() function is much slower than programs on Mac x64. For example, running a program on Mac x64 takes 3 seconds to complete a function, while on Mac m2 it takes 10 seconds. I try to count the number of times a program calls libusb_control_transfer() and the time it takes each time, and finally calculate the average time it takes to call libusb_control_transfer(). The following figure shows the performance of the program on Mac m2.(Unit is us per time) The following figure shows the performance of the program on Mac x64. (Unit is us per time) The difference in average time spent calling a function has reached over 10 times. Is this performance gap caused by the USB driver or the libUSB library? Thanks.
Replies
2
Boosts
0
Views
1.4k
Activity
May ’23
DriverKit System Extension not loading at boot time
I have a IOUSBHostInterface system extension that works great, however if I leave the device plugged in during a reboot, the usual driver is loaded instead and an un-plug + replug is required to load my driver. How can I fix this? It limits the usefulness of my driver.
Replies
2
Boosts
1
Views
1.5k
Activity
May ’23
DriverKit provisioning issues
Hello, DriverKit support, My goal is to build an iPad app + DriverKit extension. I requested for DriverKit entitlements from Apple and received approval for it. Now I have to go through the quest and create proper AppID and AdHoc provisioning profiles for our app and DriverKit / USB transport target. Can you please check what I’m doing wrong? XCode is 14.2. AppID Here is what I have and set up for the AppID: and also for Additional Capabilities: Provisioning Profiles Then I tried to create a DriverKit provisioning profile. When I’m adding a profile here is what I have: Here comes my first question: Shall I have DriverKit in the Distribution section? Okay, I tried to create a profile of the “DriverKit App Development” type. At some step, I set up the entitlement: But the portal gives me an error once I clicked to "Generate": FAIL Then I tried to create an AdHoc provisioning profile for my AppID: FAIL again What is going wrong here with the process? Did I receive everything is needed from Apple ? Shalln’t I have “DrivertKit” in the Distribution section ? What type of provisioning profile (for AdHoc and AppStore) distribution is needed ? Thank you in advance!!!
Replies
1
Boosts
0
Views
966
Activity
May ’23
USB 3 not supportive for External Drives
My mac mini M1 with monterey 13.3.1 usb 3 problem not supportive for External Drives Specially NTFS Format pendrive & drives
Replies
0
Boosts
0
Views
883
Activity
Apr ’23
Release ExclusiveAccess to an usb device taken by another application?
Seems like both Dropbox and Google Drive has a pretty sad implementation/bug that acquire exclusive access to USB devices that expose MTP (media transfer protocol). The way google and dropbox did it is just wrong as they 1) should ask for permission for reading data on new devices, 2) not open the usb device in exclusive mode... 3) make use of MTP's Multi-Session mode. Well, as it will take them about 4.5 years to correct this, I wonder if there is a way for a app-store/user-space application in macOS 11/12/13 (big sur, monterey, ventura) to do the following: Detect if there is another app that has exclusive lock to a specific usb device Get the name of the app so that an alert could say, "please quit google-drive for this to work..." Release the exclusive lock, i.e. hand over the usb peripheral to my application
Replies
0
Boosts
0
Views
1.4k
Activity
Apr ’23
In macOS 13.1, how to communicate with USB billboard device
In macOS 13.1 environment, all IOUSBDevice devices in the current system can be found via the IOServiceAddMatchingNotification function. In the registered callback function, properties such as idVendor, idProduct, and locationID of the device can be read. However, when calling the IOCreatePlugInInterfaceForService function, for USB HID and USB HID devices, a successful status of 0x00000000(kIOReturnSuccess) is returned, but for usb billboard device(type-c ,only have control pipe), an error of 0xe00002be(kIOReturnNoResources) is always returned. Thanks a lot !
Replies
1
Boosts
0
Views
1.6k
Activity
Apr ’23
SiLabsUSBDriver
Mac_OSX_VCP_Driver does not work on Ventura.
Replies
0
Boosts
0
Views
705
Activity
Apr ’23
How to communicate between USBDriverKit driver and Client app?
We are experimenting with DriverKit on macOS while DriverKit is still in beta on iPadOS. We want to build a Driver for iPad that will allow to communicate our iPad App with USB device. What we did: Configured and implemented a driver that uses USBDriverKit::IOUSBHostInterface as provider. This driver is automatically matched/started by macOS when we plug our device into USB port. Next we utilised USBDriverKit::IOUSBHostPipe to send/receive data from our device. We print data from device in logs for now. Studied Communicating Between a DriverKit Extension and a Client App Configured and implemented a driver that based on IOUserClient and allows to open communication channel by macOs App using IOServiceOpen API. Driver has callback to pass data to macOS Client App. Currently we want to combine 2 drivers and pass data received from USB device to our client App using callback. Unfortunately, we stuck since now we have 2 instances of driver: First instance is automatically run by macOS when device is plugged Second instance is created when we are connecting from Client App and virtual kern_return_t NewUserClient(uint32_t type, IOUserClient** userClient) method is called. So we can't use second instance to do USB device communication since it has wrong provider(IOUserClient) in kern_return_t Start(IOService * provider) but we need IOUSBHostInterface to start:     ivars->interface = OSDynamicCast(IOUSBHostInterface, provider);     if(ivars->interface == NULL) {         ret = kIOReturnNoDevice;         goto Exit;     } Are we doing it wrong? Maybe instead of automatic matching for IOUSBHostInterface we should do it manually from UserClient driver or use another approach? As we learned we have to create a new service instance in NewUserClient method and can't return driver that was run by OS: kern_return_t IMPL(MyDriver, NewUserClient) {     kern_return_t ret = kIOReturnSuccess;     IOService* client = nullptr;     ret = Create(this, "UserClientProperties", &client);     if (ret != kIOReturnSuccess)     {         goto Exit;     }     *userClient = OSDynamicCast(IOUserClient, client);     if (*userClient == NULL)     {         client->release();         ret = kIOReturnError;         goto Exit;     } Exit:     return ret; } BTW, maybe there is much easier way to forward data from USB device to iPadOS App?
Replies
2
Boosts
2
Views
2.4k
Activity
Mar ’23
Is it possible to show a popup when a device is plugin with no driver neither app installed
I wonder if it's possible to show a popup when a device is plugged in the iOS device but the driver/app is not installed. I've seen this before when old days without DriverKit where a notification was shown to help the user. If the user accepted the popup the Apple store opened with the page download the particular app to install the driver for the device. Thanks
Replies
0
Boosts
0
Views
837
Activity
Mar ’23
Is there Anyway to Enable/Disable USB Storage Device in Mac?
Hi, I want to enable/disable my USB Storage stick with using MQTT server. I can connect my server, listen and publish some datas. Is it possible to do change USB status with Swift, in XCode? It should be only change storage device, because i don't want to disconnect my mouse or etc.
Replies
0
Boosts
0
Views
1.2k
Activity
Mar ’23
How to write kernel driver for USB on macOS ?
I am creating a macOS app that will send commands to a USB device when it is plugged into a Mac. There are only two steps to accomplish this: send request commands to the USB and receive response messages from it. The USB has an attached SCSI, but I am unsure of how to send SCSI commands to macOS. Research has indicated that a kernel driver must be written for the USB to function on macOS. I have a .cpp file that can be converted into a .dll file to work on the Windows side. Is it possible to reuse this .cpp file and convert it into a .so file that can run on the macOS side? Is there someone interested in this project? I am looking to outsource it.
Replies
0
Boosts
0
Views
1.2k
Activity
Feb ’23
DISK NOT EJECTED PROPERLY keeps popping up Big Sur 11.3.1
After updating to Big Sur 11.3.1 my MacBook Pro 2013 keeps ejecting my 2TB Seagate external drive. As a result, I'm not able to back up using Time Machine. Would be happy to get support for this issue.
Replies
71
Boosts
4
Views
54k
Activity
Feb ’23
USB serial port not showing up after Monterey OS upgrade
Past 8-9 months we've been working on Arduino/ ESP32 with no issues, but after upgrading the OS the port stopped showing up under /dev/tty.cuserial. We tried to install the driver from Silicon Labs CP210x VCP Driver for MacOS(installed w/ no issues) but in the system information, we are seeing the S/w is sitting under disabled S/w list com.silabs.driver.CP210xVCPDriver: unknown. How can we fix this and get it out of disabled S/w?
Replies
2
Boosts
0
Views
2.5k
Activity
Feb ’23
Audio Driver is not assigned with the default Driver
Hi, We finally managed to assign our Driver (based on the SimpleAudioDriver) to the right audio device. But we now have two devices showing up : one is assigned with our driver and the other one is assigned to the default driver. How can we override the original one with ours, to just have one device showing up ? If you have any hints, please get back to us. Thanks.
Replies
0
Boosts
0
Views
1k
Activity
Jan ’23
General Audio Driver Development Questions
Hi, I need to develop a cross-plateform driver extension (similar to a Windows Audio Processing Object (APO)) for an Audio Device and I'm struggling with associating the driver to a USB Audio Device. I'm using the SimpleAudioDriver example and override the device_uid with the Product ID and the manufacturer_uid with the Vendor ID. As I understand it with this documentation : https://developer.apple.com/news/?id=zk5xdwbn it should associate my driver with the device but it creates a new device. If you have any hints, please get back to me. Thanks.
Replies
2
Boosts
0
Views
2.2k
Activity
Jan ’23
How can I use USBmakebmRequestType with DriverKit
I'm building a driver in C++ for my iPad using DriverKit. I'm trying to make a request to a control endpoint, so I'm trying to use DeviceRequest: https://developer.apple.com/documentation/usbdriverkit/iousbhostinterface/3182582-devicerequest But the first parameter ask for USBmakebmRequestType which it's a macro defined in IOKit > USB.h I tried to #include <IOKit/USB.h> and #include <IOKit/usb/USB.h> and  but it doesn't find the header. Any idea? thanks.
Replies
1
Boosts
0
Views
1.9k
Activity
Dec ’22
Different Drivers for Individual Interfaces
Hello We have a USB camera. My Mac can recognize it and we can get frames with any software. There is a physical button on it and the vendor says the camera is UVC-compliant. But button doesn't work anyway. I captured some USB traffic data and saw that it has two interfaces. One for streaming and other one for interrupting (like button click). I read UVC 1.5 standards to understand it and it is working like written in UVC 1.5. So, I can get a data with an interrupt transfer when clicking the button. I checked these two interfaces, they use UVCAssistant for driver(System Extension). I tried to use libusb, I can get data from button click. But for frames I had to use libuvc, but it wasn't work for my camera (I think it is related with USB descriptor parsing in libuvc). I thought that I should write a driver for single interface and so second interface will use same UVC assistant driver and first interface will use my driver. I wrote a driver and it matches with first interface. But second interface is empty (unhandled by any driver). I want to load UVCAssistant for second interface of USB port. How can I do this? Output before loading my driver After loading: IOKitPersonalities that I used:
Replies
2
Boosts
0
Views
2.1k
Activity
Dec ’22
The DriverKit problems to develop multiple serial USB device
Hi, I am developing a DriverKit driver for a USB device which has multiple serial UARTs connected. Each UART will represent a cu.USBX port on Mac. My driver inherits IOUSBHostDevice class and it matches device ID well. Now, I am going to crate a new class inherits IOUserSerial to implement serial port. However, compiler said no new operator on base class. It seems the base OSObject class prevent to new the subclass as I did in IOKit driver. Since the similar IOUserSerial/IOUserUSBSerial examples are hard to find, I would like to ask if anyone can help me to solve this problem. Any feedback and clue is appreciated. Following are some snippets to show my situation. My IOKit port driver inherits IORS232SerialStreamSync. class KextSerial : public IORS232SerialStreamSync { OSDeclareDefaultStructors( KextSerial ) ; // Constructor & Destructor stuff : } My USB driver could create new KextSerials and initiate them as well. KextSerial * newSerial = new KextSerial; if( !newSerial->init(0, 0) ){ goto FailExit; } However, in my DriverKit port driver inherits IOUserSerial. class DextSerial : public IOUserSerial { : } While I try to new the DextSerial as following. DextSerial * newSerial = new DextSerial; The compiler said "No matching function for call to 'operator new'" Parallelly I have tried IOUserUSBSerial and OSObject, I got the same error message.
Replies
3
Boosts
0
Views
1.3k
Activity
Nov ’22
DriverKit Share Memory from User Client to App for Streaming
Does anyone have an example of streaming video data from a user client to a client app? I have successfully set up a DriverKit USB hardware driver that commands a device to successfully fill the same IOBufferMemoryDescriptor at 30fps with new data (verified in driver). I have also managed to map this buffer to the application using CopyClientMemoryForType in the user client and IOConnectMapMemory64 in the app. I have also confirmed the data is the intended image data. What I CAN NOT do is see updates in the mapped memory in the app. I map and unmap the data, but the contents don't change. No matter how many times I map, CopyClientMemoryForType is called once. How should changes to the underlying dext space memory be reflected/synchronized to the app? Can I not share a single buffer (4-12MB, ringed) and synchronize updates?
Replies
1
Boosts
0
Views
1.4k
Activity
Nov ’22
DriverKit demo app doubts
Hello everyone, I downloaded the demo app from the driverkit demo located at https://developer.apple.com/documentation/driverkit/communicating_between_a_driverkit_extension_and_a_client_app, I downloaded the files and followed the process in the two possible ways by letting xcode automatically sign the app and by me creating the provisioning profiles, everything compiles but I am facing this particular issue whenever I try to invoke the system installation of the driver:2022-11-16 00:45:12.425147-0600 DriverKitSampleApp[5837:69830] sysex didFailWithError: The operation couldn’t be completed. (OSSystemExtensionErrorDomain error 9.) There is very little to none information on the web, and I dont know what else to do at this point.
Replies
1
Boosts
0
Views
1.6k
Activity
Nov ’22