Host¶
The host side drives a USB device instead of being one. It talks USB/IP itself,
so it needs no kernel driver, no vhci and no root - serve a device in one
process and drive it from another, on any OS. The device can be virtual (either
library) or genuine hardware exported by a real usbipd.
Two ways in, from most to least code you write:
- Host driver - the native
libusb-shaped API: open a device, run control/bulk/interrupt/iso transfers, or
subclass a reusable
Driver. - pyusb - code already written against pyusb drives a virtual device by loading the C libusb wrapper as its backend.
In USB/IP terms this side is the client (which end is the server) - something must already be serving before any host call can succeed.