Serge, See below. The open program opens it and gets file ID 3 as one would expect. Whilst running this the VM is outputting the not permitted message on the same device. So root can open but libvirt cannot!
root@vmserver:/tmp# lsusb Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 003: ID 04a9:1717 Canon, Inc. MP510 Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub root@vmserver:/tmp# ./open /dev/bus/usb/003/003 open returned 3 root@vmserver:/tmp# ./open /dev/bus/usb/003/003 open returned 3 root@vmserver:/tmp# Regards Roy On 29/06/2011 05:39, Serge Hallyn wrote: > Let's see if we can get root in general to fail to open this. First > paste the following into 'open.c' (without the '========' lines), and > then compile that using 'make open'. > > =============================================================== > #include<stdio.h> > #include<stdlib.h> > #include<sys/types.h> > #include<sys/stat.h> > #include<fcntl.h> > > > int main(int argc, char *argv[]) > { > int ret; > > if (argc< 2) > { > printf("try %s /dev/bus/usb/001/013\n", argv[0]); > exit(1); > } > ret = open(argv[1], O_RDWR|O_NONBLOCK); > printf("open returned %d\n", ret); > close(ret); > } > =============================================================== > > Plug in the printer and try starting the VM with libvirt. Look in the > log file to get the pathname it is trying to use. Then run open with > that file as argument. For instance if you see > > /dev/bus/usb/001/004: Operation not permitted > > then try > > sudo ./open /dev/bus/usb/001/004 > > If it says it returned a positive number, then it succeeded in opening > it. If it returned -1, then we know that in fact root can't open that > device, and it isn't just libvirt. > -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/787091 Title: Unable to use USB device in KVM quest To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/qemu-kvm/+bug/787091/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs