Understand the role of drivers in bridging the gap between software and hardware, ensuring smooth hardware functionality.

Drivers Documentation

Post

Replies

Boosts

Views

Activity

Universal Audio Apollo Twin X and iMac upgrades
I am on a 2021 24" M-1 iMac running Sonoma 14.5. I've recently acquired Universal Audio's Apollo Twin X DAW. I'm recording with Logic Pro X software. I've already gone through the Mac security instructions to get the Apollo Twin X installed, but I am getting little onscreen warnings from Apple saying that my set up may not be compatible with upcoming iOS updates. UA is pointing the finger at Apple. So, what gives? Will Apple updates welcoming Universal Audio Apollo Twin X into its world seamlessly? I am avoiding updating my iOS because of this issue.
0
0
254
Aug ’24
CoreMedia I/O Camera Extension Installation Error (Invalid Signature)
Hi! I'm trying to move from CoreMedio I/O DAL Plug-In to CoreMedia I/O camera extensions, announced in macOS 12.3. I created a test extension, placed it inside my app bundle into Contents/Library/SystemExtensions and signed with codesigning certificate. But when I try to install my extension from inside my app, using this code (Swift): func requestActivation() { guard case .idle = status else { fatalError("Invalid state") } print("Requesting activation of extension \"\(extensionIdentifier)\"") let req = OSSystemExtensionRequest.activationRequest(forExtensionWithIdentifier: extensionIdentifier, queue: DispatchQueue.main) req.delegate = self OSSystemExtensionManager.shared.submitRequest(req) status = .requested } I'm getting an error: OSSystemExtensionErrorDomain error 8: Code Signature Invalid which is rather generic. Can anybody tell me what I am doing wrong? Or at least propose some steps to find it out? I'm posting here entitlements and codesign output for my extension and containing application for further information. kdg@admins-Mac-mini SystemExtensions % codesign -d --entitlements - ./com.visicom.VirtualCamera.avextension.systemextension Executable=/Applications/VirtualCamera.app/Contents/Library/SystemExtensions/com.visicom.VirtualCamera.avextension.systemextension/Contents/MacOS/com.visicom.VirtualCamera.avextension [Dict] [Key] com.apple.security.app-sandbox [Value] [Bool] true [Key] com.apple.security.application-groups [Value] [Array] [String] 6SUWV7QQBJ.com.visicom.VirtualCamera kdg@admins-Mac-mini /Applications % codesign -d --entitlements - ./VirtualCamera.app Executable=/Applications/VirtualCamera.app/Contents/MacOS/VirtualCamera [Dict] [Key] com.apple.developer.system-extension.install [Value] [Bool] true [Key] com.apple.security.app-sandbox [Value] [Bool] true [Key] com.apple.security.application-groups [Value] [Array] [String] 6SUWV7QQBJ.com.visicom.VirtualCamera [Key] com.apple.security.files.user-selected.read-only [Value] [Bool] true kdg@admins-Mac-mini SystemExtensions % codesign -dvvv ./com.visicom.VirtualCamera.avextension.systemextension Executable=/Applications/VirtualCamera.app/Contents/Library/SystemExtensions/com.visicom.VirtualCamera.avextension.systemextension/Contents/MacOS/com.visicom.VirtualCamera.avextension Identifier=com.visicom.VirtualCamera.avextension Format=bundle with Mach-O universal (x86_64 arm64) CodeDirectory v=20500 size=1553 flags=0x10700(hard,kill,expires,runtime) hashes=37+7 location=embedded Hash type=sha256 size=32 CandidateCDHash sha256=25bd80657bfd6e0ab95467146c7b532817e9e520 CandidateCDHashFull sha256=25bd80657bfd6e0ab95467146c7b532817e9e5209fd50b0cb7ceef40dcfb40e8 Hash choices=sha256 CMSDigest=25bd80657bfd6e0ab95467146c7b532817e9e5209fd50b0cb7ceef40dcfb40e8 CMSDigestType=2 CDHash=25bd80657bfd6e0ab95467146c7b532817e9e520 Signature size=9006 Authority=Developer ID Application: Visicom Media Inc. (6SUWV7QQBJ) Authority=Developer ID Certification Authority Authority=Apple Root CA Timestamp=7 Jul 2022, 21:49:32 Info.plist entries=23 TeamIdentifier=6SUWV7QQBJ Runtime Version=12.3.0 Sealed Resources version=2 rules=13 files=0 Internal requirements count=1 size=200 kdg@admins-Mac-mini /Applications % codesign -dvvv ./VirtualCamera.app Executable=/Applications/VirtualCamera.app/Contents/MacOS/VirtualCamera Identifier=com.visicom.VirtualCamera Format=app bundle with Mach-O universal (x86_64 arm64) CodeDirectory v=20500 size=1989 flags=0x10700(hard,kill,expires,runtime) hashes=51+7 location=embedded Hash type=sha256 size=32 CandidateCDHash sha256=31e15fbbd436a67a20c5b58c597d8a4796a67720 CandidateCDHashFull sha256=31e15fbbd436a67a20c5b58c597d8a4796a6772020308fb69f4ee80b4e32788b Hash choices=sha256 CMSDigest=31e15fbbd436a67a20c5b58c597d8a4796a6772020308fb69f4ee80b4e32788b CMSDigestType=2 CDHash=31e15fbbd436a67a20c5b58c597d8a4796a67720 Signature size=9006 Authority=Developer ID Application: Visicom Media Inc. (6SUWV7QQBJ) Authority=Developer ID Certification Authority Authority=Apple Root CA Timestamp=7 Jul 2022, 21:58:09 Info.plist entries=20 TeamIdentifier=6SUWV7QQBJ Runtime Version=12.3.0 Sealed Resources version=2 rules=13 files=4 Internal requirements count=1 size=188 Thanks in advance!
8
0
2.4k
Jul ’22
Xerox scanning issue
I have a xerox workcentre 2025 cannot scan I always get the below message what can I do Translated Report (Full Report Below) Process: Scanner [1323] Path: /Applications/Scanner.app/Contents/MacOS/Scanner Identifier: COM.GILBERT.PhysicalScanner Version: 1.6 (1.6) App Item ID: 1521553621 App External ID: 837739896 Code Type: X86-64 (Translated) Parent Process: launchd [1] User ID: 501 Date/Time: 2024-08-13 18:39:31.5587 +0300 OS Version: macOS 14.6.1 (23G93) Report Version: 12 Anonymous UUID: 7C7DF391-F1F6-6185-10D7-1063C7D7596A Sleep/Wake UUID: B47B7F17-5F97-438D-9DC4-DB3CE78959E5 Time Awake Since Boot: 820 seconds Time Since Wake: 295 seconds System Integrity Protection: enabled Notes: PC register does not match crashing frame (0x0 vs 0x104A8E142) Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_INSTRUCTION (SIGILL) Exception Codes: 0x0000000000000001, 0x0000000000000000 Termination Reason: Namespace SIGNAL, Code 4 Illegal instruction: 4 Terminating Process: exc handler [1323] Error Formulating Crash Report: PC register does not match crashing frame (0x0 vs 0x104A8E142) Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 Scanner 0x104a8e142 0x104a89000 + 20802 1 Scanner 0x104a9021b 0x104a89000 + 29211 2 Scanner 0x104a8dabc 0x104a89000 + 19132 3 AppKit 0x7ff819e427ed -[NSApplication(NSResponder) sendAction:to:from:] + 337 4 AppKit 0x7ff819e42663 -[NSControl sendAction:to:] + 86 5 AppKit 0x7ff819e42595 __26-[NSCell _sendActionFrom:]_block_invoke + 131 6 AppKit 0x7ff819e4249e -[NSCell _sendActionFrom:] + 171 7 AppKit 0x7ff819e423e6 -[NSButtonCell _sendActionFrom:] + 96 8 AppKit 0x7ff819e3f2d2 NSControlTrackMouse + 1823 9 AppKit 0x7ff819e3eb8f -[NSCell trackMouse:inRect:ofView:untilMouseUp:] + 125 10 AppKit 0x7ff819e3ea56 -[NSButtonCell trackMouse:inRect:ofView:untilMouseUp:] + 666 11 AppKit 0x7ff819e3de4b -[NSControl mouseDown:] + 666 12 AppKit 0x7ff819e3c7f3 -[NSWindow(NSEventRouting) _handleMouseDownEvent:isDelayedEvent:] + 4582 13 AppKit 0x7ff819db5857 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 313 14 AppKit 0x7ff819db5503 -[NSWindow(NSEventRouting) sendEvent:] + 345 15 AppKit 0x7ff81a5681a0 -[NSApplication(NSEventRouting) sendEvent:] + 1456 16 AppKit 0x7ff81a122d2e -[NSApplication _handleEvent:] + 65 17 AppKit 0x7ff819c465aa -[NSApplication run] + 640 18 AppKit 0x7ff819c1a4f3 NSApplicationMain + 816 19 Scanner 0x104a8b0d9 0x104a89000 + 8409 20 dyld 0x204d8b345 start + 1909 Thread 1:: com.apple.rosetta.exceptionserver 0 runtime 0x7ff7ffd4c414 0x7ff7ffd48000 + 17428 Thread 2:: com.apple.NSEventThread 0 ??? 0x7ff8a6856a78 ??? 1 libsystem_kernel.dylib 0x7ff81656808e mach_msg2_trap + 10 2 libsystem_kernel.dylib 0x7ff816576878 mach_msg2_internal + 84 3 libsystem_kernel.dylib 0x7ff81656f178 mach_msg_overwrite + 653 4 libsystem_kernel.dylib 0x7ff81656837d mach_msg + 19 5 CoreFoundation 0x7ff816685909 __CFRunLoopServiceMachPort + 143 6 CoreFoundation 0x7ff81668437c __CFRunLoopRun + 1371 7 CoreFoundation 0x7ff816683859 CFRunLoopRunSpecific + 557 8 AppKit 0x7ff819db329c _NSEventThread + 122 9 libsystem_pthread.dylib 0x7ff8165a818b _pthread_start + 99 10 libsystem_pthread.dylib 0x7ff8165a3ae3 thread_start + 15 Thread 3: 0 runtime 0x7ff7ffd6a94c 0x7ff7ffd48000 + 141644 Thread 4: 0 runtime 0x7ff7ffd6a94c 0x7ff7ffd48000 + 141644 Thread 5: 0 runtime 0x7ff7ffd6a94c 0x7ff7ffd48000 + 141644 Thread 6: 0 runtime 0x7ff7ffd6a94c 0x7ff7ffd48000 + 141644 Thread 7: 0 runtime 0x7ff7ffd6a94c 0x7ff7ffd48000 + 141644 Thread 8: 0 runtime 0x7ff7ffd6a94c 0x7ff7ffd48000 + 141644 Thread 9: 0 runtime 0x7ff7ffd6a94c 0x7ff7ffd48000 + 141644 Thread 0 crashed with X86 Thread State (64-bit): rax: 0x00007f90ecfa0db0 rbx: 0x00007f90ecfa0db0 rcx: 0x00007f90ed0099f8 rdx: 0x00007ff85642ec60 rdi: 0x00007f90ed009000 rsi: 0x00007f90ecfa0d00 rbp: 0x000000030d8f4d50 rsp: 0x000000030d8f4c80 r8: 0x00007f90ed009038 r9: 0x000000000fff0b1a r10: 0x0000600000025920 r11: 0x00007ff91ddde92e r12: 0x0000000000000001 r13: 0x0000600001307020 r14: 0x0000000000000000 r15: 0x00006000013070a8 rip: rfl: 0x0000000000000246 tmp0: 0x0000000104a8e142 tmp1: 0x0000000000000216 tmp2: 0x0000000104ab6d80
0
0
276
Aug ’24
How to send x,y data from HIDStylusDriver to StylusApp to Pen/Draw
Here is project I am researching: https://developer.apple.com/documentation/hiddriverkit/handling_stylus_input_from_a_human_interface_device I have a Touch screen and I want: can control this screen, I can enable extension and control Touch screen successfully. can pen on this screen. To do this, I need to send X,Y to StylusApp(AppKit) But I Can not send X, Y to Swift StylusApp Eventhough I can log X,Y it by default code: But I don't know how to send it to AppKit to Pen. I have research about communicate Driver and Client: https://developer.apple.com/documentation/driverkit/communicating_between_a_driverkit_extension_and_a_client_app#4324306 but seem HID driver don't support inheritance from IOUserClient:
3
0
548
Jul ’24
CoreHID and customHID reports
I'm try to use CoreHID to communicate with a usb hid device that sends custom reports. I have been able to create a client, but when I try to access the elements I get this: IOServiceOpen failed: 0xe00002e2 also in: client.monitorNotifications(reportIDsToMonitor: [HIDReportID.allReports], elementsToMonitor: []) {... What do I put into "elementsToMonitor: []" array?
1
0
531
Jul ’24
CBPeripheralmanager not able to keep connection after app re-launch
Hi guys, I am developing an iOS application that turns iPhone into a HID peripheral. I have successfully added services and characteristics, and it can be paired with a Windows PC and works as expected. However, after the app relaunch and services re-added, PC not able to re-connect to it automatically. It still shows "Paired" on the PC rather than "Connnected" and no subscribe event received from CB. The user has to remove the device and do the pair again. I think the reason is that a new peripheral manager created after re-launch, it doesn't have previous connections' information (uuid or secure key). Hence, PC not able to talk to it anymore. My questions are: Is it the real reason for this? Any chance app can store the peripheral manager or the connection information? So that can pick it up next run. Any chance can setup to "Just works" mode? Maybe can make the reconnection working? I have read thru the CB documents, and didn't find answer there. Just trying with the forum if any luck...
0
0
323
Jul ’24
Temps d’écran ios18
Bonjour, Depuis la mise à jour vers ios18 je n’arrive plus à accéder au réglage temps d’écran. la fonction me demande de me connecter, mais après l’identification plus rien impossible d’accéder a la fonctio.
1
1
283
Jul ’24
NetworkingDriverKitSampleApp "driver is not connected".
Hi, I'm trying to test the NetworkingDriverKitSampleApp at https://developer.apple.com/documentation/networkingdriverkit/connecting_a_network_driver for a while but I couldn't reach the final steps described in the documentation. My setup: Xcode 15.4, MacBook Pro M3 with Sonoma 14.5, SIP is disabled. I prepared the required provisinning profiles with required entitelements. Dext and app builds successfully. Build path starts with "/Applications". "Install Dext" operation is successful without any error after allowing necessary permission. However, neither System Settings shows any new enXX interface, nor ioreg command shows a registered service while "systemextensionctl list" shows the expected result as a com.apple.system_extension.driver_extension record with [ activated enabled ]. I repeated the same steps for "Driver Kit Sample" at https://developer.apple.com/documentation/driverkit/driverkit_sample_code, "Install Dext" step succesful but "Communicate With Dext" results in "Driver is not connected" message. Similar to previous project, ioreg doesn't show any service for the dext while systemextensionctl lists [activeted enabled]. I also test an updated version of DriverKitSample at https://github.com/DanBurkhardt/DriverKitUserClientSample, which reproduced the same results. Finally, my device experiences seldom crashes after passing sleep state when the dext remains installed; where crash report points "IOReg". Is there any lacking steps on Apple documentation for Sonoma 14.5 or XCode 15.4 versions? Thanks.
1
0
380
Jul ’24
NetworkDriverKit sample app problem
Hi, I'm trying to test "https://developer.apple.com/documentation/networkingdriverkit/connecting_a_network_driver" on MacBook Pro M3 with 14.5 Sonoma, XCode 15.4, SIP is disabled. Build steps are succesful, after running App, "Install Dext" is succesful, there is no error in XCode; "systemextensionctl list" show a record for "com.apple.system_extension.driver_extension" with [ activated enabled ] tag. But, "ioreg" doesn't show any service for the dext; and no new interface with name "enXX" appears in System Settings in contrast to what the document describes. In addition, seldomly my device experiences crash when the dext remains installed where crash report points "IOReg" function. I tried also Driver Kit Sample ( https://developer.apple.com/documentation/driverkit/driverkit_sample_code ) and a github project based on this sample having last commits 9 months ago. However, Dext installation reveals similar behavior and "Communicate with Dext" step is unsuccessful with the message "Driver is not connected". Is there an updated version of Networking Driver Kit documentation to reach a running sample app for Sonoma 14.5? Thanks.
1
0
546
Jul ’24
Build DriverKit in projects with a test plan
I'm trying to build an XCode project that contains an app and another target for the DriverKit, and run into the following linker issue: ld: file cannot be open()ed, errno=2 path=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/lib/darwin/libclang_rt.profile_driverkit.a in '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/15.0.0/lib/darwin/libclang_rt.profile_driverkit.a' clang: error: linker command failed with exit code 1 (use -v to see invocation) My project has Code Coverage enabled. I noticed that if I disabled Code Coverage for all targets, I would be able to build successfully, and the driverKit would work as expected. I wonder if it would be possible to build DriverKit without disabling code coverage. Thanks
2
0
383
Jul ’24
on-line entitlement format to obtain relevant "transport.usb|idVendor"
The situation: 1A) On last week our development team applied on-line for three idVendors with the format as the following: USB-VendorID: 547h(1351), 3488h(13448),4B4h(1204) Describe your apps: it shall be functional equivalence of existing Android-SDK for X-ray sensor-models:...with 15..25 text lines of the description below 1B) We received auto-reply, that we granted all the the entitlements. We've expected to have entitlements like approx like the these: <key>com.apple.developer.driverkit.transport.usb</key> <array> <dict> <key>idVendor</key> <integer>1351</integer> </dict> <dict> <key>idVendor</key> <integer>131448</integer> </dict> <dict> <key>idVendor</key> <integer>1204</integer> </dict> </array> 1C) Unexpectingly (for us) ASCII-strings-fragment from our iOS-target-binary "com.rayence.dexta.driver" (built with automatic signing; seemingly this shall be our actual granted prvisionintg profile) looks as the next: <plist version="1.0"> <dict> <key>com.apple.developer.driverkit</key> <true/><key>com.apple.developer.driverkit.transport.usb</key> <array><dict> <key>idVendor</key> <string>*</string> </dict></array> </dict> 1D) Repectively, now we shall specify (in our dext's entitlements in XCOde-project) <key>com.apple.developer.driverkit.transport.usb</key> <array> <dict> <key>idVendor</key> <string>*</string> </dict> </array> In DExt's info.plist we have "normal": <key>IOKitPersonalities</key> <dict> <key>IOKitPersonality_EzHD</key> <dict> blah-blah <key>idVendor</key><integer>1351</integer> <key>IOKitPersonality_EzR</key> <dict> blah-blah <key>idVendor</key><integer>131448</integer> <key>IOKitPersonality_EzR</key> <dict> blah-blah <key>idVendor</key><integer>1204</integer> blah-blah Our ambiguities: 2a) Without exact "1D)", our DExt-installer-application never starts in iPAD. OS-loader generates obectievly-meaningless error-messages and seemingly-meaninglessly suggest to look "system-logs" (which seemingly don't contain relevant information) 2b) With exatct "1D)", 2ba) the reaction (presence/absence and timing of relevant console.app's messages) of our iPAD 17.4 on plugging/unplugging our gadgets look "non-logical". It isn't completly wrong but suspicious. E.g. our Swift-module randomly receive/dontreceive relevant events and can't connect communicate driver's instance for newly-attached physical gadgets. We realize, thses it could be our bugs; but we need disambiguation to debug the issues (or at least to be sure that the quirks are like in production system). 2bd) we would prefer debug/develop rather with real "idVendor=number nnn"s in provisioning profile (than with "idVendor=string *"). So we could be sure that quircs "2ba" are like in a production system. Respective question: Which format in on-line application ~1A) shall we use to obtain provisioning profile 1B)
2
0
630
Jun ’24
Transfer large data using IOUserClient AsyncCompletion
I'm trying to make an asynchronous bulk data read using IOUSBHostPipe AsyncIO/CompleteAsyncIO and send the data back to the user-space application using AsyncCompletion. virtual void AsyncCompletion(OSAction *action, IOReturn status, const IOUserClientAsyncArgumentsArray asyncData, uint32_t asyncDataCount); My understanding is that the IOUserClientAsyncArgumentsArray asyncData in AsyncCompletion method has a limited size of 128 bytes, and the data I need to send back is over 10k bytes. Would it be possible to send such large data from the driver to the user-space application using async callback? Thanks
1
0
464
Jun ’24
Invalid argument error from tcsetattr when setting speed to anything other than predefined
I'm trying to communicate with an RS-485 device using a USB-to-RS-485 adapter based on a CP21012N. It's capable of speeds up to 3 Mbaud. However, when I call tcsetattr() with speed set to anything other than one of the predefined constants (using cfsetspeed()), I get an "Invalid argument" error back from the call. Googling, I found https://github.com/avrdudes/avrdude/issues/771 Seems like macOS really can't accept baud rates outside the predefined set without resorting to ioctl?
5
0
706
Jun ’24
Screen Time
Since the day i updated ios18 developer beta, screen time stops working and it wont let me access my apps under screen time lock despite of entering right password. Urgent solution required asap. please do something
3
3
554
Jun ’24