<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Package: libvirt-daemon<o:p></o:p></p>
<p class="MsoNormal">Version: 2.4.0-1+b1<o:p></o:p></p>
<p class="MsoNormal">Severity: important<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Dear Maintainer,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have a custom udev rule used to implement usb-hotplug support for the a guest, whose name is dgw.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This is the contents of /etc/udev/rules.d/91-hotplug.rules:<o:p></o:p></p>
<p class="MsoNormal">---<o:p></o:p></p>
<p class="MsoNormal">ACTION=="add", \<o:p></o:p></p>
<p class="MsoNormal"> SUBSYSTEM=="usb", \<o:p></o:p></p>
<p class="MsoNormal"> ENV{ID_VENDOR_ID}=="18ec", \<o:p></o:p></p>
<p class="MsoNormal"> ENV{ID_MODEL_ID}=="3399", \<o:p></o:p></p>
<p class="MsoNormal"> RUN+="/usr/bin/virsh attach-device dgw /home/david/udev/david-webcam-dgw.xml"<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">ACTION=="remove", \<o:p></o:p></p>
<p class="MsoNormal"> SUBSYSTEM=="usb", \<o:p></o:p></p>
<p class="MsoNormal"> ENV{ID_VENDOR_ID}=="18ec", \<o:p></o:p></p>
<p class="MsoNormal"> ENV{ID_MODEL_ID}=="3399", \<o:p></o:p></p>
<p class="MsoNormal"> RUN+="/usr/bin/virsh detach-device dgw /home/david/udev/david-webcam-dgw.xml"<o:p></o:p></p>
<p class="MsoNormal">---<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This is the content of david-webcam-dgw.xml:<o:p></o:p></p>
<p class="MsoNormal">---<o:p></o:p></p>
<p class="MsoNormal"><hostdev mode='subsystem' type='usb'><o:p></o:p></p>
<p class="MsoNormal"> <source><o:p></o:p></p>
<p class="MsoNormal"> <vendor id='0x18ec'/><o:p></o:p></p>
<p class="MsoNormal"> <product id='0x3399'/><o:p></o:p></p>
<p class="MsoNormal"> </source><o:p></o:p></p>
<p class="MsoNormal"></hostdev><o:p></o:p></p>
<p class="MsoNormal">---<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The rule is correctly activated when the device is plugged in, but with udev logging set to debug level, the syslog trace is as follows:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">---<o:p></o:p></p>
<p class="MsoNormal">Nov 26 14:48:27 dgh systemd-udevd[8692]: Process 'mtp-probe<o:p></o:p></p>
<p class="MsoNormal">/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.1 1 67' succeeded.<o:p></o:p></p>
<p class="MsoNormal">Nov 26 14:48:27 dgh systemd-udevd[8692]: RUN '/usr/bin/virsh attach-device dgw /home/david/udev/david-webcam-dgw.xml' /etc/udev/rules.d/91-dg-webcam-dgw-hotplug.rules:10<o:p></o:p></p>
<p class="MsoNormal">Nov 26 14:48:27 dgh systemd-udevd[8692]: handling device node '/dev/bus/usb/001/067', devnum=c189:66, mode=0664, uid=0, gid=100 Nov 26 14:48:27 dgh systemd-udevd[8692]: set permissions /dev/bus/usb/001/067, 020664, uid=0, gid=100 Nov 26
14:48:27 dgh systemd-udevd[8692]: <o:p></o:p></p>
<p class="MsoNormal">creating symlink '/dev/char/189:66' to '../bus/usb/001/067'<o:p></o:p></p>
<p class="MsoNormal">Nov 26 14:48:27 dgh systemd-udevd[8692]: created db file '/run/udev/data/c189:66' for '/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.1'<o:p></o:p></p>
<p class="MsoNormal">Nov 26 14:48:27 dgh systemd-udevd[8694]: starting '/usr/bin/virsh attach-device dgw /home/david/udev/david-webcam-dgw.xml'<o:p></o:p></p>
<p class="MsoNormal">Nov 26 14:48:27 dgh libvirtd[3841]: internal error: unable to execute QEMU command 'device_add':
<o:p></o:p></p>
<p class="MsoNormal">failed to find host usb device 1:67 Nov 26 14:48:27 dgh systemd-udevd[8692]: '/usr/bin/virsh attach- device dgw /home/david/udev/david-webcam-dgw.xml'(err) 'error: '<o:p></o:p></p>
<p class="MsoNormal">Nov 26 14:48:27 dgh systemd-udevd[8692]: '/usr/bin/virsh attach-device dgw /home/david/udev/david-<o:p></o:p></p>
<p class="MsoNormal">webcam-dgw.xml'(err) 'Failed to attach device from /home/david/udev/david-webcam-dgw.xml'<o:p></o:p></p>
<p class="MsoNormal">Nov 26 14:48:27 dgh systemd-udevd[8692]: '/usr/bin/virsh attach-device dgw /home/david/udev/david-<o:p></o:p></p>
<p class="MsoNormal">webcam-dgw.xml'(err) 'error: internal error: unable to execute QEMU command 'device_add': failed to find host usb device 1:67'<o:p></o:p></p>
<p class="MsoNormal">Nov 26 14:48:27 dgh systemd-udevd[8692]: '/usr/bin/virsh attach-device dgw /home/david/udev/david-<o:p></o:p></p>
<p class="MsoNormal">webcam-dgw.xml'(out) ''<o:p></o:p></p>
<p class="MsoNormal">Nov 26 14:48:27 dgh systemd-udevd[8692]: Process '/usr/bin/virsh attach-device dgw /home/david/udev/david-webcam-dgw.xml' failed with exit code 1.<o:p></o:p></p>
<p class="MsoNormal">---<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">As you can see, the error is that QEMU device_add fails, complaining it cannot find the usb device that was indeed created.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Additional detail: The above log was generated after the addition of another rules file Thinking it might be a permission problem,I added another rules file 50-myusb.rules as follows:<o:p></o:p></p>
<p class="MsoNormal">---<o:p></o:p></p>
<p class="MsoNormal">SUBSYSTEMS=="usb", GROUP="users", MODE="0666"<o:p></o:p></p>
<p class="MsoNormal">---<o:p></o:p></p>
<p class="MsoNormal">but with or without this rules file the error reported is the same.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Intrestingly, the commands<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">virsh attach-devcice dgw /home/david/udev/david-webcam-dgw.xml<o:p></o:p></p>
<p class="MsoNormal">and<o:p></o:p></p>
<p class="MsoNormal">virsh detach-devcice dgw /home/david/udev/david-webcam-dgw.xml<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">both work and successfully attach the device to the guest if the device is connected - but the udev script fails.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">USB hotplug on this host was working normally as recently as a couple of months ago; possibly a stretch update caused a regression. As of now, I am unable to make USB hotplug to guests work.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks so much for looking into this.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-- System Information:<o:p></o:p></p>
<p class="MsoNormal">Debian Release: stretch/sid<o:p></o:p></p>
<p class="MsoNormal"> APT prefers testing<o:p></o:p></p>
<p class="MsoNormal"> APT policy: (500, 'testing')<o:p></o:p></p>
<p class="MsoNormal">Architecture: amd64 (x86_64)<o:p></o:p></p>
<p class="MsoNormal">Foreign Architectures: i386<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Kernel: Linux 4.8.0-1-amd64 (SMP w/8 CPU cores)<o:p></o:p></p>
<p class="MsoNormal">Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)<o:p></o:p></p>
<p class="MsoNormal">Shell: /bin/sh linked to /bin/dash<o:p></o:p></p>
<p class="MsoNormal">Init: systemd (via /run/systemd/system)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Versions of packages libvirt-daemon depends on:<o:p></o:p></p>
<p class="MsoNormal">ii libapparmor1 2.10.95-6<o:p></o:p></p>
<p class="MsoNormal">ii libaudit1 1:2.6.7-1<o:p></o:p></p>
<p class="MsoNormal">ii libavahi-client3 0.6.32-1<o:p></o:p></p>
<p class="MsoNormal">ii libavahi-common3 0.6.32-1<o:p></o:p></p>
<p class="MsoNormal">ii libblkid1 2.29-1<o:p></o:p></p>
<p class="MsoNormal">ii libc6 2.24-5<o:p></o:p></p>
<p class="MsoNormal">ii libcap-ng0 0.7.7-3<o:p></o:p></p>
<p class="MsoNormal">ii libdbus-1-3 1.10.12-1<o:p></o:p></p>
<p class="MsoNormal">ii libdevmapper1.02.1 2:1.02.136-1<o:p></o:p></p>
<p class="MsoNormal">ii libfuse2 2.9.7-1<o:p></o:p></p>
<p class="MsoNormal">ii libgnutls30 3.5.6-4<o:p></o:p></p>
<p class="MsoNormal">ii libnetcf1 1:0.2.8-1+b1<o:p></o:p></p>
<p class="MsoNormal">ii libnl-3-200 3.2.27-1<o:p></o:p></p>
<p class="MsoNormal">ii libnl-route-3-200 3.2.27-1<o:p></o:p></p>
<p class="MsoNormal">ii libnuma1 2.0.11-2<o:p></o:p></p>
<p class="MsoNormal">ii libparted2 3.2-16+b1<o:p></o:p></p>
<p class="MsoNormal">ii libpcap0.8 1.8.1-3<o:p></o:p></p>
<p class="MsoNormal">ii libpciaccess0 0.13.4-1<o:p></o:p></p>
<p class="MsoNormal">ii librados2 0.80.11-1.1<o:p></o:p></p>
<p class="MsoNormal">ii librbd1 0.80.11-1.1<o:p></o:p></p>
<p class="MsoNormal">ii libsasl2-2 2.1.27~72-g88d82a3+dfsg-1<o:p></o:p></p>
<p class="MsoNormal">ii libselinux1 2.6-3<o:p></o:p></p>
<p class="MsoNormal">ii libssh2-1 1.7.0-1<o:p></o:p></p>
<p class="MsoNormal">ii libudev1 232-3<o:p></o:p></p>
<p class="MsoNormal">ii libvirt0 2.4.0-1+b1<o:p></o:p></p>
<p class="MsoNormal">ii libxen-4.8 4.8.0~rc5-1<o:p></o:p></p>
<p class="MsoNormal">ii libxenstore3.0 4.8.0~rc5-1<o:p></o:p></p>
<p class="MsoNormal">ii libxml2 2.9.4+dfsg1-2.1<o:p></o:p></p>
<p class="MsoNormal">ii libyajl2 2.1.0-2<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Versions of packages libvirt-daemon recommends:<o:p></o:p></p>
<p class="MsoNormal">ii libxml2-utils 2.9.4+dfsg1-2.1<o:p></o:p></p>
<p class="MsoNormal">ii netcat-openbsd 1.105-7<o:p></o:p></p>
<p class="MsoNormal">ii qemu-kvm 1:2.7+dfsg-3+b1<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Versions of packages libvirt-daemon suggests:<o:p></o:p></p>
<p class="MsoNormal">ii libvirt-daemon-system 2.4.0-1+b1<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-- no debconf information<o:p></o:p></p>
</div>
</body>
</html>