[Spice-devel] about the usbredirect lib problem run under Windows
zhou link
freboat at gmail.com
Sat Apr 27 19:09:52 PDT 2013
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20130428/a9163605/attachment.html>
More information about the Spice-devel
mailing list