Unmanaging device

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.

#2

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.