Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revisionBoth sides next revision | ||
linux_faq:kvm_usb_hotplug [2017/09/14 11:25] – [Подключение и отключение USB устройств к виртуальной машине KVM] admin | linux_faq:kvm_usb_hotplug [2019/02/11 09:13] – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Подключение и отключение USB устройств к виртуальной машине KVM ====== | ||
+ | Подключаем устрйоство к хосту с KVM и смотрим как оно определилось: | ||
+ | $ lsusb | ||
+ | Bus 004 Device 024: ID 11a0:eb20 Chipcon AS | ||
+ | Тут нас интересуют номер шины и номер устройства: | ||
+ | На основании этих сведений создаем файлик *.xml: | ||
+ | <hostdev mode=' | ||
+ | < | ||
+ | <address bus=' | ||
+ | </ | ||
+ | </ | ||
+ | Нули из номера шины и номера девайса нужно убрать. | ||
+ | Теперь запускаем машину и узнаем ее мя: | ||
+ | $ virsh list | ||
+ | | ||
+ | ---------------------------------------------------- | ||
+ | | ||
+ | Теперь подключаем устройство: | ||
+ | virsh attach-device <VM name> < | ||
+ | То есть в моем случае: | ||
+ | $ virsh attach-device Windows_7_x64_Ent_RUS ./ | ||
+ | Device attached successfully | ||
+ | |||
+ | Также вместо положения на шине можно указывать VendorID и DeviceID: | ||
+ | < | ||
+ | < | ||
+ | <vendor id=' | ||
+ | <product id=' | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Ну и самое интересное - оформление правил udev для автоматического подключения устройств. | ||
+ | < | ||
+ | / | ||
+ | |||
+ | ACTION==" | ||
+ | SUBSYSTEM==" | ||
+ | ENV{ID_VENDOR_ID}==" | ||
+ | ENV{ID_MODEL_ID}==" | ||
+ | RUN+="/ | ||
+ | ACTION==" | ||
+ | SUBSYSTEM==" | ||
+ | ENV{ID_VENDOR_ID}==" | ||
+ | ENV{ID_MODEL_ID}==" | ||
+ | RUN+="/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | И перечитать правила: | ||
+ | sudo udevadm control --reload-rules && sudo udevadm trigger | ||
+ | |||
+ | ====== Ошибки ====== | ||
+ | Если при попытке проброса устройства команда выполняется без ошибок с рузультатом: | ||
+ | Device attached successfully | ||
+ | в гостевой машине ничего не появляется, | ||
+ | apparmor=" | ||
+ | Значит на хосте KVM в файлике **/ | ||
+ | Строку **/ | ||
+ | И еще добавить пару строк: | ||
+ | / | ||
+ | / | ||
+ | То есть выполнить: | ||
+ | cp / | ||
+ | sudo sed -i ' | ||
+ | sudo sed -i ' | ||
+ | sudo sed -i ' | ||
+ | И перезапустить сервисы (или перезагрузить хост): | ||
+ | sudo service apparmor restart | ||
+ | sudo service libvirtd restart |