Yes, I checked the libvirt code and found that the strtoul function is used to do the hexadecimal conversion, thank you for your reply :)
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:
Bus 001 Device 011: ID 090c:1000
1¡¢prepare usb device attach xml
<hostdev managed="yes" mode="subsystem" type="usb">
        <vendor id="0x090c" />
        <product id="0x1000" />
        <address bus='001' device='011'/>
    </source><address bus="1" port="1" type="usb" />
2¡¢virsh attach-device vm usb.xml
error: internal error: Did not find USB device 090c:1000 bus:1 device 9

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