about the usbredirect lib problem run under Windows

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

 



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,

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

i open the device in hardware manager, and  found pid and vid is all 000.


i debug the qemu's redirect  code(hw/usb/hcd_ehci.c),  and found the diff between  linux's and windows's  usbredirserver
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);   ///On 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.

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel

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