[Spice-devel] [PATCH usbredir] usbredirserver: show bus:device of the chosen USB device if specifying vid:pid

Chen Hanxiao chen_han_xiao at 126.com
Tue Nov 21 04:15:05 UTC 2017



At 2017-11-20 22:01:26, "Frediano Ziglio" <fziglio at redhat.com> wrote:
>>
>> From: Chen Hanxiao <chenhanxiao at gmail.com>
>> 
>> We use libusb_open_device_with_vid_pid.
>> If multiple devices have the same vid:pid,
>> it will only return the first one.
>> 
>> This patch will show the bus:device of the chosen one.
>> 
>> Signed-off-by: Chen Hanxiao <chenhanxiao at gmail.com>
>> ---
>>  usbredirserver/usbredirserver.c | 7 +++++++
>>  1 file changed, 7 insertions(+)
>> 
>> diff --git a/usbredirserver/usbredirserver.c
>> b/usbredirserver/usbredirserver.c
>> index 13965dc..e69e2d0 100644
>> --- a/usbredirserver/usbredirserver.c
>> +++ b/usbredirserver/usbredirserver.c
>> @@ -321,6 +321,7 @@ int main(int argc, char *argv[])
>>  
>>          /* Try to find the specified usb device */
>>          if (usbvendor != -1) {
>> +            libusb_device *dev;
>>              handle = libusb_open_device_with_vid_pid(ctx, usbvendor,
>>                                                       usbproduct);
>>              if (!handle) {
>> @@ -328,6 +329,12 @@ int main(int argc, char *argv[])
>>                      "Could not open an usb-device with vid:pid %04x:%04x\n",
>>                      usbvendor, usbproduct);
>>              }
>> +            dev = libusb_get_device(handle);
>> +            fprintf(stderr, "Open a usb-device with vid:pid %04x:%04x on "
>> +                    "bus %03x device %03x\n",
>> +                    usbvendor, usbproduct,
>> +                    libusb_get_bus_number(dev),
>> +                    libusb_get_device_address(dev));
>>          } else {
>>              libusb_device **list = NULL;
>>              ssize_t i, n;
>
>The actual code write on stderr for errors and logs.
>Looks like this is a sort of log that should be affected by the verbose parameter.
>I would say this should be printed as info (see
>http://libusb.sourceforge.net/api-1.0/group__lib.html#ga2d6144203f0fc6d373677f6e2e89d2d2).
>Please note I'm not a expert usbredir user.


libusb_set_debug controls logs from libusb.
This patch is out of libusb's scope.
Actually, usbredirserver_log also print something to stderr.
Maybe we should put this fprintf inside if(verbos).

Regards,
- Chen


>
>Frediano


More information about the Spice-devel mailing list