I believe you can do it similar to the way I did for isochronous transfers in usb-linux.c. Remember that using SUBMITURB and REAPURBNDELAY ioctls, you need to add another signal and signal handler for the async bulk, and there might be some issues in the ohci/uhci because they currently assume only isochronous transfers are async. A minute ago I tried to implement the bulk transfers using SUBMITURB and REAPURB (which blocks until response) but it seems to hang qemu upon connecting a disk-on-key.
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Salil Bijur Sent: Wednesday, November 14, 2007 11:49 PM To: qemu-devel@nongnu.org Subject: [Qemu-devel] USB Asynchronous I/O Hello, I've been testing Bluetooth-USB in QEMU for an arm-based processor with a Linux guest. When a bluetooth dongle is added, there is a continuous sending of bulk and interrupt packets synchronously (using the USBDEVFS_BULK ioctl) making qemu extremely slow and unusable. I wanted to know if it is a good idea to send these bulk and interrupt transfers asynchronously using the SUBMITURB and REAPURBNDELAY ioctls in a way similar as isochronous transfers in usb-linux.c. Is there any reason why only isochronous packets are being sent asynchronously when the same can be done for other types? Thanks, Salil