qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] problem of the USB redir on Windows


From: zhou link
Subject: [Qemu-devel] problem of the USB redir on Windows
Date: Sun, 28 Apr 2013 12:19:20 +0800

Hans de Goede  & Gerd Hoffmann:


theses  days   i  try  to migrate the usbredir  lib to  Windows

the  usbredir-0.6/usbredirserver/usbredirserver.c  connect to qemu's redirect channel and spicec connect to the guest.

the usbredirserver  works smooth in Linux,  spicec show the usb disk works well.


when i compile usbredir on Windows,  usbredirserver connect and open usb device ok,

qemu's guest(windows xp) in spicec can detect the usb device,  but only show unkown usb device,

i open the device in windows's hardware manager, and  found the pid and vid of the device is 000.


i debug the qemu's redirect  code(hw/usb/hcd_ehci.c),  and found the diff between  linux's and windows's  when usbredirserver connect 
is here:

-----------------------------------------------------------------------------------------
static int ehci_execute(EHCIPacket *p, const char *action)  
...............
   p->pid = ehci_get_pid(&p->qtd);
    p->queue->last_pid = p->pid;
    endp = get_field(p->queue->qh.epchar, QH_EPCHAR_EP);   //When windows it always return 0
                                                                                         ///while Linux it will return 0, 1 or 2
    ep = usb_ep_get(p->queue->dev, p->pid, endp);

-------------------------------------------------------------------------------------------

i found the qh.epchar read from dma,  but can not find who write it,  
can you  explain it the flow of the function.
how  doest usbredirect   control the dma ?

thanks you tow  very much.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]