Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does VirtualHere create virtual USB devices on macOS?

How is VirtualHere able to virtualize USB devices on macOS without requiring the user to install kernel extensions?

As far as I am aware, there's no documented way to virtualize USB devices on macOS.

The USB/IP project, for example, only supports clients on Windows and Linux.

I understand this is proprietary software but it must be using some technique available to userspace?

Thanks

like image 986
Chris Avatar asked Apr 27 '26 23:04

Chris


1 Answers

Really interesting.

Seems they are using the IOUSBHost.framework, which is at most undocumented.

Using it requires getting custom entitlement from Apple: com.apple.usb.hostcontrollerinterface, which could possibly take a lot of time.

There are some traces that it could be used to create virtual devices, but no details about it.

You could try to use tools like classdump to get some information directly from the framework, or read some headers on github.

It would be great if someone could share any information about it with community, as Apple seems to be very lazy about doing this.

like image 153
Arthur Bulakaiev Avatar answered Apr 30 '26 20:04

Arthur Bulakaiev



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!