[fedora-virt] USB passthrough
Mark McLoughlin
markmc at redhat.com
Mon Jun 29 10:19:53 UTC 2009
Hey,
At FUDCon yesterday, Paul asked me about how to get KVM USB device
passthrough working and I had to admit I'd never tried it.
So, after some poking with F-11, here's what I found:
1) You need selinux-policy-targeted-3.6.12-55.fc11 or later
2) Make sure the virt_use_usb SELinux boolean is enabled, which it
should be by default:
$> getsebool virt_use_usb
virt_use_usb --> on
$> setsebool -P virt_use_usb on
3) Plug your device in, and if it's a USB mass storage device, make
sure it's not mounted in the host
4) In virt-manager, open the VM window, go to the details tap,
clock 'Add hardware', select 'Phyiscal host device', choose
'USB device', then the device you wish to passthrough
5) Take a peek at the device in the guest XML config
$> virsh dumpxml xp
...
<devices>
...
<hostdev mode='subsystem' type='usb' managed='yes'>
<source>
<vendor id='0x0dda'/>
<product id='0x0001'/>
</source>
</hostdev>
</devices>
6) Start the guest and check whether the guest can see it. If not,
check /var/log/libvirt/qemu/$guest.log because qemu will happily
start up even if the device cannot be assigned.
7) It sucks that the device has to be plugged in before you start
the guest; qemu now has a "autoconnect" mode which probably
makes sense for libvirt to use by default, see bug #508645
Cheers,
Mark.
More information about the Fedora-virt
mailing list