What to build
Port the client import side to macOS so a Mac can import a remote USB device and present it as locally attached. Unlike Linux (vhci-hcd), Windows (usbip-win2), and Android (VHCI module), macOS has no built-in virtual USB host controller kernel module. This issue requires deciding the approach before coding begins.
Architecture decision (HITL)
Three known paths:
- DriverKit dext: Write a macOS DriverKit extension that implements a virtual USB host controller. Modern path, but undocumented for VHCI use.
- IOUSBHostFamily: Build on Apple's open-source I/O Kit USB host controller family. Available in I/O Kit framework.
- Third-party shim: Investigate whether an existing userspace VHCI equivalent exists for macOS (e.g.,
usbip-macos projects) and wrap/contribute to it.
The implementer should spike 2-3 paths for feasibility before committing. This is HITL — a human must approve the approach.
Acceptance criteria
Blocked by
None — can start immediately (investigation/spike phase does not depend on other tickets).
What to build
Port the client import side to macOS so a Mac can import a remote USB device and present it as locally attached. Unlike Linux (vhci-hcd), Windows (usbip-win2), and Android (VHCI module), macOS has no built-in virtual USB host controller kernel module. This issue requires deciding the approach before coding begins.
Architecture decision (HITL)
Three known paths:
usbip-macosprojects) and wrap/contribute to it.The implementer should spike 2-3 paths for feasibility before committing. This is HITL — a human must approve the approach.
Acceptance criteria
Blocked by
None — can start immediately (investigation/spike phase does not depend on other tickets).