From 25fe91df012e37bef30c72a7f070a27e386cf4e6 Mon Sep 17 00:00:00 2001 From: Awnrt Date: Mon, 3 Jan 2022 20:08:23 +0300 Subject: Add USB controller passthrough --- Hooks/revert.sh | 3 +++ Hooks/start.sh | 2 ++ Hooks/vfio-usb.sh | 8 ++++++++ 3 files changed, 13 insertions(+) create mode 100755 Hooks/vfio-usb.sh diff --git a/Hooks/revert.sh b/Hooks/revert.sh index 3157a30..7d15dfa 100755 --- a/Hooks/revert.sh +++ b/Hooks/revert.sh @@ -24,3 +24,6 @@ modprobe drm modprobe nvidia_uvm systemctl start sddm.service + +echo 0000:00:14.0 > /sys/bus/pci/drivers/vfio-pci/unbind +echo 0000:00:14.0 > /sys/bus/pci/drivers/xhci_hcd/bind diff --git a/Hooks/start.sh b/Hooks/start.sh index 241fdcc..be360ac 100755 --- a/Hooks/start.sh +++ b/Hooks/start.sh @@ -22,3 +22,5 @@ virsh nodedev-detach $VIRSH_GPU_AUDIO modprobe vfio modprobe vfio_pci modprobe vfio_iommu_type1 + +./usr/share/UnbindUSB/vfio-usb.sh 0000:00:14.0 diff --git a/Hooks/vfio-usb.sh b/Hooks/vfio-usb.sh new file mode 100755 index 0000000..f694c14 --- /dev/null +++ b/Hooks/vfio-usb.sh @@ -0,0 +1,8 @@ +for dev in "$@"; do + vendor=$(cat /sys/bus/pci/devices/$dev/vendor) + device=$(cat /sys/bus/pci/devices/$dev/device) + if [ -e /sys/bus/pci/devices/$dev/driver ]; then + echo $dev > /sys/bus/pci/devices/$dev/driver/unbind + fi + echo $vendor $device > /sys/bus/pci/drivers/vfio-pci/new_id +done -- cgit v1.2.3