This crate facilitates simulation of Trussed devices using USB/IP. It should only be used for development and testing.
Remarks:
- Requires multiple
usbip attach
calls to make it work [1]. - Works best with CTAPHID. CCID is supported but often unstable.
[1] https://github.com/Sawchord/usbip-device#known-bugs
examples/dummy.rs
contains a very simple example that
shows how to run a simulated Trussed device.
For a more complex example, see the usbip runner of the Nitrokey 3 that
provides all features of the Nitrokey 3.
USB/IP tools are required to work, as well as kernel supporting it.
On Fedora these could be installed with:
make setup-fedora
Simulation starts USB/IP server, which can be connected to with the USB/IP tools.
- Make sure
vhci-hcd
module is loaded - Run simulation app
- Attach to the simulated device (2 times if needed)
This series of steps is scripted in the Makefile, thus it is sufficient to call:
make
Stop execution with:
make stop
Warning: in some cases simulation can sometimes cause kernel faults, which makes the system it is running unstable.