Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
linux_faq:kvm_usb_hotplug [2019/02/11 09:13] – external edit 127.0.0.1 | linux_faq:kvm_usb_hotplug [2022/03/12 06:41] (current) – [Подключение всего USB-хоста к виртуалке] admin | ||
---|---|---|---|
Line 5: | Line 5: | ||
Тут нас интересуют номер шины и номер устройства: | Тут нас интересуют номер шины и номер устройства: | ||
На основании этих сведений создаем файлик *.xml: | На основании этих сведений создаем файлик *.xml: | ||
- | | + | < |
- | < | + | <hostdev mode=' |
- | <address bus=' | + | < |
- | </ | + | <address bus=' |
- | </ | + | </source> |
+ | </ | ||
+ | </ | ||
+ | Также вместо положения на шине можно указывать **VendorID** и **DeviceID**: | ||
+ | < | ||
+ | <source> | ||
+ | | ||
+ | <product id=' | ||
+ | </ | ||
+ | </ | ||
Нули из номера шины и номера девайса нужно убрать. | Нули из номера шины и номера девайса нужно убрать. | ||
Line 23: | Line 33: | ||
Device attached successfully | Device attached successfully | ||
- | Также вместо положения на шине можно указывать VendorID и DeviceID: | + | Ну и самое интересное - оформление правил |
- | < | + | |
- | < | + | |
- | <vendor id=' | + | |
- | <product id=' | + | |
- | </ | + | |
- | </ | + | |
- | + | ||
- | Ну и самое интересное - оформление правил udev для автоматического подключения устройств. | + | |
< | < | ||
/ | / | ||
Line 69: | Line 71: | ||
sudo service apparmor restart | sudo service apparmor restart | ||
sudo service libvirtd restart | sudo service libvirtd restart | ||
+ | | ||
+ | ====== Подключение всего USB-хоста к виртуалке ====== | ||
+ | Определяем на каком хосте работает USB-устройство: | ||
+ | lsusb | ||
+ | ... | ||
+ | Bus 001 Device 002: ID 0e8d:20ff MediaTek Inc. Android | ||
+ | |||
+ | Определяем номер устройства на шине PCI: | ||
+ | < | ||
+ | $ readlink / | ||
+ | ../ | ||
+ | ../ | ||
+ | ../ | ||
+ | ../ | ||
+ | </ | ||
+ | Кажется в моем случае это Bus 001 -> / | ||
+ | |||
+ | Смотрим какой модуль ядра рулит этим девайсом: | ||
+ | < | ||
+ | $ls / | ||
+ | ... | ||
+ | |||
+ | / | ||
+ | 0000: | ||
+ | </ | ||
+ | Отключаем и подключаем к **vfio-pci** https:// | ||
+ | |||
+ | < | ||
+ | sudo su | ||
+ | modprobe vfio-pci | ||
+ | lspci -n -s 0000: | ||
+ | ... | ||
+ | 03:00.3 0c03: 1022:1639 | ||
+ | ... | ||
+ | echo 0000: | ||
+ | |||
+ | lspci -n -s 0000: | ||
+ | ... | ||
+ | 03:00.3 0c03: 1022:1639 | ||
+ | ... | ||
+ | |||
+ | echo 1022 1639 > / | ||
+ | echo -n " | ||
+ | </ | ||
+ | |||
+ | ls -l / |