Re: The second client cannot redirect USB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Il giorno lun 21 nov 2022 alle ore 08:44 韩雪峰 <hanxuefeng@xxxxxx> ha scritto:


Thanks for your reply. But If I want to support multiple channels for USB redirection when multiple clients connect to a same VM,  do you know which project includes the code about USB channels ?   Spice ? or QEMU?


Thanks and Regards,


Channels are a SPICE thing. But you will find surprisingly few code in SPICE (at least the server). The reason is that SPICE in this case mostly forwards data from/to usbredir (which is another project). In details Qemu uses usbredir to handle a USB device for the guest. This device is attached to spice-server which handles SPICE channels. A spice client (like spice-gtk) connects to SPICE USB channels and forward data from either a physical device or an emulated device (currently spice-gtk handles an emulated CD/DVD device).
Currently each SPICE USB channel is bound to a single Qemu device (I doubt it makes sense to bind it to multiple devices but it could in theory not be bound to a device).
Note that spice-server currently only forward data (presented like a pipe/stream) to/from client to the device, the hard lifting is made by Qemu/usbredir.



发件人: Frediano Ziglio <freddy77@xxxxxxxxx>
发送时间: 20221118 20:52
收件人: 韩雪峰 <hanxuefeng@xxxxxx>
抄送: spice-devel@xxxxxxxxxxxxxxxxxxxxx
主题: Re: The second client cannot redirect USB


Il giorno ven 18 nov 2022 alle ore 10:21 韩雪峰 <hanxuefeng@xxxxxx> ha scritto:



   When I used two client to connect to a same one VM by spice with setting SPICE_DEBUG_ALLOW_MC=1, the two clients worked, and the first client could redirect USB. However, the second client could not redirect USB device, It shows like the picture:


Im sure that therere enough channels for USB redirection.


Is this a problem? Or Is there any way that could resolve the second clients USB redirection problem?


Thanks and Regards,




Currently all character device channels (including USB one) do not support multiple channels, so the first client takes them all.



[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]