Posts

Post not yet marked as solved
6 Replies
1.4k Views
As I understand, for Network packet transmission, IOKit use the following methods: 1. IOOutputQueue calls the outputPacket() method of network driver to send packets to the device. 2. IOGateOutputQueue dequeue packets on network driver's workloop (send packets to the network driver). And now, how does it implement using the DriverKit/NetworkingDriverKit framework? I have seen Networking has 4 packet queues: IOUserNetworkingRxSubmissionQueue, IOUserNetworkingRxCompletionQueue, IOUserNetworkingTxSubmissionQueue, IOUserNetworkingTxCompletionQueue; How to use them with IODispatchQueue? or IODataQueueDispatchSource?
Posted
by vanillan.
Last updated
.
Post marked as solved
4 Replies
1.2k Views
I'm developing a modem driver based on DriverKit framework for a USB Ethernet adapater.      The current situation is that I can open the modem port in the /dev/ directory and send/receive data normally, but can't create Modem in the network preferences. I found IOModemSerialStreamSync can be used to create modem in IOKit, but now how to create modem using DriverKit.
Posted
by vanillan.
Last updated
.
Post not yet marked as solved
1 Replies
1k Views
When testing my dext driver, the "unsatisfied entitlement:com.developer.driverkit.transport.usb"error is in console log. I. My request entitlements to use DriverKit was approved. And I have beed signed and notarized my dext driver.   Here are my steps:   1. “USB Transport-VendorID” capability has been enabled when creating my dext’s App ID.   2. Generate the new provisioning profile for my App ID and import it into Xcode.  However I found "com.developer.driverkit.transport.usb" is not included listed on "additional entitlements" item.   3. Edit my project’s entitlements file contain the following for USB Transport: <key>com.apple.developer.driverkit.transport.usb</key> <array>     <dict>         <key>idProduct</key>         <integer>MyPid</integer>         <key>idVendor</key>         <integer>MyVid</integer>     </dict> <array>   4. Sign and notarized.   5. Test my dext driver, the console log shows "unsatisfied entitlement:com.developer.driverkit.transport.usb"error.   Is it a problem with my steps or entitlements. 
Posted
by vanillan.
Last updated
.
Post marked as solved
2 Replies
3k Views
On Mac Big Sur beta7, I have disabled SIP to allow my kernel extension to load. But it didn't work, here are my steps: disable SIP. copy my MyDriverxxx.kext to /Library/Extensions/. sudo touch /Library/DriverExtensions. At this time, the system preference prompt does not appear. Manually load the driver. sudo kextutil /Library/Extensions/MyDriverxxx.kext or sudo kextload /Library/Extensions/MyDriverxxx.kext The following error occurred: kextutil /Library/Extensions/MyDriverxxx.kext Executing: /usr/bin/kmutil load --bundle-path /Library/Extensions/MyDriverxxx.kext Error: Error Domain=KMErrorDomain Code=1 "Error occurred while building cache: in '/Library/Application Support/Websense Endpoint/DLP/WebsenseEndpointDLP.kext/Contents/PlugIns/WebsenseEndpointProcessKpi.kext/WebsenseEndpointProcessKpi' missing TEXT segment" UserInfo={NSLocalizedDescription=Error occurred while building cache: in '/Library/Application Support/Websense Endpoint/DLP/WebsenseEndpointDLP.kext/Contents/PlugIns/WebsenseEndpointProcessKpi.kext/WebsenseEndpointProcessKpi' missing TEXT segment}
Posted
by vanillan.
Last updated
.
Post not yet marked as solved
1 Replies
787 Views
How to set the power state of the usb device based on DriverKit? I am developing a USB NCM network card driver based on DriverKit, and now I want to modify the power state of the device in response to the PC power change. I saw that DriverKit has two functions: SetPowerState and ChangePowerState. I overried them separately. However, it seems that "ChangePowerState" can only be executed through display calls. The system will freeze and restart after 20s, regardless of whether SetPowerState is successful or not. Error log: MyDriverClass: setPower State(Oxffffff80507dba4 0: OXffffff7f9f1b218a, 1-> 4)timed out after 231852 ms"@/ BuildRoot/Library/Caches/com. apple xbs/Sources/ xnu/xnu-61531126/iokit/Kernel/IOService PM. cpp: 5382
Posted
by vanillan.
Last updated
.
Post not yet marked as solved
2 Replies
705 Views
have submitted Driverkit Entilement many days ago, but just get the following response:Follow-up: 730774366Thank you for requesting the DriverKit framework capability. You will be contacted once your request has been evaluated.Regards,Apple Developer RelationsHow can I see the progress of Follow-up: 730774366?
Posted
by vanillan.
Last updated
.
Post not yet marked as solved
0 Replies
519 Views
I have submitted Driverkit Entilement many days ago, but just get the following response:Follow-up: 730774366Thank you for requesting the DriverKit framework capability. You will be contacted once your request has been evaluated.Regards,Apple Developer RelationsHow can I see the progress of Follow-up: 730774366?
Posted
by vanillan.
Last updated
.
Post not yet marked as solved
1 Replies
758 Views
WWDC 2019 said "Deprecating Kernel Extensions---In the Future", what does it mean? Is my USB device loaded with kext currently will be unavailable on macOS 10.16? Or when kext and dext both exist ,the kext will not be loaded?
Posted
by vanillan.
Last updated
.
Post not yet marked as solved
0 Replies
378 Views
USB NIC rate cannot be displayed on mac 10.15 beta OSRecurring step:1. Insert USB NIC device on the latest mac 10.15 beta OS.2.The device pops up the installation app tool, then clicks it to install drivers.3.Then using the device integrated dialing tool to ndis dail up.Expected Behavior:1. Ndis data service(upload/download) is normal.2. Dialing tool can display upload/download rate.Actual Behavior:1. Ndis data service(upload/download) is normal.2.But dialing tool shows the upload and download rate are always zero.3. We have tested it on mac 10.15 beta 4/beta5/beta7, this issue both occurred.
Posted
by vanillan.
Last updated
.