From: Adam N. <a.n...@sh...> - 2010-11-22 22:09:54
|
> Ok, I think the key to making that function call work is that he uses > > ./configure --enable-toggable-debug > > (but the function of this has changed a few times, and I'm not sure what > state it's in right now). Pete may be able to guide further here. > > I assume you're building from libusb-pbatard.git, not libusb.git, right? > The latter is significantly behind. I have built libusb-pbatard.git and linked it to the app, this is the problematic call: int status = libusb_bulk_transfer(this->hdev, LIBUSB_ENDPOINT_IN | LIBUSB_RECIPIENT_ENDPOINT, buf, blen, &rxlen, DEF_USBTIMEOUT); Which only fails if blen is greater than about 256000. This is the debug output I get for this call only: libusb:debug [submit_bulk_transfer] need 328 urbs for new transfer with length 5370447 libusb:error [submit_bulk_transfer] submiturb failed error -1 errno=121 libusb:debug [libusb_submit_transfer] arm timerfd for timeout in 1500ms (first in line) libusb:debug [libusb_handle_events_timeout_check] doing our own event handling libusb:debug [handle_events] poll() 3 fds with timeout in 60000ms libusb:debug [handle_events] poll() returned 1 libusb:debug [reap_for_handle] urb type=3 status=-121 transferred=3215 libusb:debug [handle_bulk_completion] handling completion status -121 of bulk urb 1/328 libusb:debug [handle_bulk_completion] abnormal reap: urb status -121 libusb:debug [handle_bulk_completion] received 3215 bytes of surplus data libusb:debug [libusb_handle_events_timeout_check] doing our own event handling libusb:debug [handle_events] poll() 3 fds with timeout in 60000ms libusb:debug [handle_events] poll() returned 1 libusb:debug [reap_for_handle] urb type=3 status=-104 transferred=0 libusb:debug [handle_bulk_completion] handling completion status -104 of bulk urb 2/328 libusb:debug [handle_bulk_completion] abnormal reap: urb status -104 libusb:debug [libusb_handle_events_timeout_check] doing our own event handling libusb:debug [handle_events] poll() 3 fds with timeout in 60000ms libusb:debug [handle_events] poll() returned 1 libusb:debug [reap_for_handle] urb type=3 status=-104 transferred=0 libusb:debug [handle_bulk_completion] handling completion status -104 of bulk urb 3/328 libusb:debug [handle_bulk_completion] abnormal reap: urb status -104 libusb:debug [libusb_handle_events_timeout_check] doing our own event handling libusb:debug [handle_events] poll() 3 fds with timeout in 60000ms libusb:debug [handle_events] poll() returned 1 libusb:debug [reap_for_handle] urb type=3 status=-104 transferred=0 libusb:debug [handle_bulk_completion] handling completion status -104 of bulk urb 4/328 libusb:debug [handle_bulk_completion] abnormal reap: urb status -104 libusb:debug [libusb_handle_events_timeout_check] doing our own event handling libusb:debug [handle_events] poll() 3 fds with timeout in 60000ms libusb:debug [handle_events] poll() returned 1 libusb:debug [reap_for_handle] urb type=3 status=-104 transferred=0 libusb:debug [handle_bulk_completion] handling completion status -104 of bulk urb 5/328 libusb:debug [handle_bulk_completion] abnormal reap: urb status -104 libusb:debug [libusb_handle_events_timeout_check] doing our own event handling libusb:debug [handle_events] poll() 3 fds with timeout in 60000ms libusb:debug [handle_events] poll() returned 1 libusb:debug [reap_for_handle] urb type=3 status=-104 transferred=0 libusb:debug [handle_bulk_completion] handling completion status -104 of bulk urb 6/328 ... FWIW I've seen another person report the same problem (but with VirtualBox) on a Mac and a Linux PC. Let me know if/where you need debug output from next. Thanks, Adam. |