README.pvusb 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. Installation
  2. ~~~~~~~~~~~~
  3. In dom0, once:
  4. qvm-create -l red usbvm
  5. # FIXME: use your own PCI device IDs
  6. qvm-pci -a usbvm 00:1d.0
  7. qvm-pci -a usbvm 00:1d.1
  8. qvm-pci -a usbvm 00:1d.2
  9. qvm-pci -a usbvm 00:1d.7
  10. In dom0, after each dom0 reboot:
  11. sudo ./install-pvusb-dom0.sh
  12. qvm-start usbvm
  13. In dom0, after each usbvm reboot:
  14. usbvm_xid=`xl list | awk '($1=="usbvm"){print $2}'`
  15. xenstore-write /local/domain/${usbvm_xid}/qubes-usb-devices ''
  16. xenstore-chmod /local/domain/${usbvm_xid}/qubes-usb-devices n0 b${usbvm_xid}
  17. In usbvm, after each reboot:
  18. sudo ./install-pvusb-backend.sh
  19. In appvms, after each reboot:
  20. sudo ./install-pvusb-frontend.sh
  21. In dom0, after each usbvm and appvm reboot (FIXME):
  22. sudo initpv.py <backend-id> <frontend-id> <device-id>
  23. Attach
  24. ~~~~~~
  25. In dom0:
  26. qvm-usb -a [-b <usbvm-name>] [-f <frontend-controller> [--p <frontend-port>]] [--no-auto-detach] <vm-name> <controller>-<port>
  27. Defaults:
  28. usbvm-name = 'usbvm'
  29. frontend-controller = 0
  30. frontend-port = first unused between 1 and 8
  31. Example:
  32. qvm-usb -a netvm usbvm:4-1
  33. List
  34. ~~~~
  35. In dom0:
  36. qvm-usb -l
  37. Example output:
  38. usbvm:4-1 1234:5678 My Bluetooth Dongle
  39. usbvm:4-2 5678:1234 My Wireless Adapter (attached to 'netvm' as '0-1')
  40. Detach
  41. ~~~~~~
  42. In dom0:
  43. qvm-usb -d <vm-name>:<vusb-controller>-<vusb-port>
  44. qvm-usb -d <vm-name>
  45. Example:
  46. qvm-usb -d netvm:0-1
  47. Known issues
  48. ~~~~~~~~~~~~
  49. * The content of backend/vusb does not get cleaned on domain shutdown (no impact on functionality)
  50. * System keyboard / mouse are listed and can be detached away
  51. * Virtual USB devices (ones created by PVUSB frontend) may be listed
  52. * The installation/configuration is not persistent, not retained between reboots
  53. * The name of the default usbvm is hardcoded in qubesutils.py
  54. * No logging / audit trail?