Hello,
I'm running VirtualHere USB Server v4.8.6 on macOS Monterey 12.7.6 (MacBook Air) and I'm unable to share a TI XDS100 debugger [VID 0x0403 / PID 0xa6d0] with a Windows client.
The server detects the device correctly:
Found High speed device [0403:a6d0] 'TI, Texas Instruments Inc.XDS100 Ver 2.0'
But it immediately unmanages it:
Unmanaging device 336592896 [0403:a6d0]
The root cause I identified is that Apple's DriverKit extension com.apple.DriverKit-AppleUSBFTDI (located at /System/Library/DriverExtensions/com.apple.DriverKit-AppleUSBFTDI.dext/) takes control of the device's interface 1 before VirtualHere can access it, creating /dev/tty.usbserial-F28M36X1.
I have already tried adding CustomUnbind=0x0403/0xa6d0 under [General] in config.ini — it had no effect. Killing the DriverKit process (PID _driverkit) is not possible as macOS relaunches it instantly.
Since this is a DriverKit (user-space) driver rather than a classic kext, standard kextunload and CustomUnbind approaches do not work.
Is there a way to force VirtualHere to take priority over com.apple.DriverKit-AppleUSBFTDI on macOS Monterey without disabling SIP?
Thank you for your help.
.
Don't change the config.ini directly if the server is running and plus CustomUnbind doesnt mean anything, its onUnbind.
I suspect its actually not liking either a reset command or a set configuration command. I don't think its related to the DriverKit grabbing it.
In the virtualhere client, right click on the Debugger and select Custom Event Handler and type
onReset.$VENDOR_ID$.$PRODUCT_ID$=then press OK and see if that helps. If it still does'nt work right click on the Debugger and select Custom Event Handler and type
onSetConfiguration.$VENDOR_ID$.$PRODUCT_ID$=Then see if it works.