Cannot passthrough usb with bus number and device number

Sometimes, qemu cannot find correct usb device number Reproduce steps: 1、lsusb Bus 001 Device 011: ID 090c:1000 1、prepare usb device attach xml <hostdev managed="yes" mode="subsystem" type="usb"> <source> <vendor id="0x090c" /> <product id="0x1000" /> <address bus='001' device='011'/> </source><address bus="1" port="1" type="usb" /> </hostdev> 2、virsh attach-device vm usb.xml error: internal error: Did not find USB device 090c:1000 bus:1 device 9 Question: why the device number returned in qemu's error report is not what I wrote in xml, what I mean is that if my dev number is really wrong, the returned error should also be the number I wrote, commonly when using dongle Look forward to your reply yaohua.wu

Version: # libvirtd --version libvirtd (libvirt) 4.9.0 # qemu-img --version qemu-img version 2.12.0 (qemu-kvm-ev-2.12.0-44.1.el7_9.1) Copyright (c) 2003-2017 Fabrice Bellard and the QEMU Project developers yaohua.wu 发件人: YaoHua Wu 发送时间: 2020-12-08 16:14 收件人: libvirt-users 主题: Cannot passthrough usb with bus number and device number Sometimes, qemu cannot find correct usb device number Reproduce steps: 1、lsusb Bus 001 Device 011: ID 090c:1000 1、prepare usb device attach xml <hostdev managed="yes" mode="subsystem" type="usb"> <source> <vendor id="0x090c" /> <product id="0x1000" /> <address bus='001' device='011'/> </source><address bus="1" port="1" type="usb" /> </hostdev> 2、virsh attach-device vm usb.xml error: internal error: Did not find USB device 090c:1000 bus:1 device 9 Question: why the device number returned in qemu's error report is not what I wrote in xml, what I mean is that if my dev number is really wrong, the returned error should also be the number I wrote, commonly when using dongle Look forward to your reply yaohua.wu

On 08.12.20 09:14, YaoHua Wu wrote:
Sometimes, qemu cannot find correct usb device number Reproduce steps: 1、lsusb Bus 001 Device 011: ID 090c:1000 1、prepare usb device attach xml <hostdev managed="yes" mode="subsystem" type="usb"> <source> <vendor id="0x090c" /> <product id="0x1000" /> <address bus='001' device='011'/> </source><address bus="1" port="1" type="usb" /> </hostdev> 2、virsh attach-device vm usb.xml error: internal error: Did not find USB device 090c:1000 bus:1 device 9
Question: why the device number returned in qemu's error report is not what I wrote in xml, what I mean is that if my dev number is really wrong, the returned error should also be the number I wrote, commonly when using dongle
Looks like the number 011 in your device='011' is interpreted as octal number: 1x8 + 1x1 = 9 in decimal Best regards Andreas -- Andreas Tscharner sternenfeuer@gmail.com ------------------------------------------------------------------------ Der entscheidende Vorteil eines Chats gegenueber einem normalen Telefon- anruf ist der, dass ersterer langsamer geht und mehr kostet (fuer den lebenswichtigen Austausch von Informationen wie "hya folks", "C U l8er" und ":-)") ... Aus Murphy's Computergesetzen

Yes, I checked the libvirt code and found that the strtoul function is used to do the hexadecimal conversion, thank you for your reply :) yaohua.wu@zstack.io From: YaoHua Wu Date: 2020-12-08 16:14 To: libvirt-users Subject: Cannot passthrough usb with bus number and device number Sometimes, qemu cannot find correct usb device number Reproduce steps: 1、lsusb Bus 001 Device 011: ID 090c:1000 1、prepare usb device attach xml <hostdev managed="yes" mode="subsystem" type="usb"> <source> <vendor id="0x090c" /> <product id="0x1000" /> <address bus='001' device='011'/> </source><address bus="1" port="1" type="usb" /> </hostdev> 2、virsh attach-device vm usb.xml error: internal error: Did not find USB device 090c:1000 bus:1 device 9 Question: why the device number returned in qemu's error report is not what I wrote in xml, what I mean is that if my dev number is really wrong, the returned error should also be the number I wrote, commonly when using dongle Look forward to your reply yaohua.wu
participants (2)
-
Andreas Tscharner
-
YaoHua Wu