From: John C. <jo...@jc...> - 2016-02-24 16:33:02
|
On Tue, 23 Feb 2016 09:35:48 +0800 Xiaofan Chen <xia...@gm...> wrote: > On Tue, Feb 23, 2016 at 1:29 AM, John Coppens <jo...@jc...> wrote: > >> You can set LIBUSB_DEBUG=4 before running your pyusb program > >> and then post the verbose libusb debug info. > > > > Here's the full debug output. Note that there is a 5 second wait before the set_configuration > > times out (is this the default value?). > > [ 0.004829] [000003da] libusb: debug [libusb_kernel_driver_active] interface 1 > > [ 0.004853] [000003da] libusb: debug [libusb_get_config_descriptor] index 0 > > [ 0.004911] [000003da] libusb: debug [libusb_set_configuration] configuration 1 > > [ 5.004752] [000003da] libusb: error [op_set_configuration] failed, error -1 errno 110 > > Errono is ETIMEDOUT. This is a bit strange. It might be that your > FW is faulty. > > > When tested with a minimalistic C program, also with libusb 1.0.20, > > the transfer actually starts, but stops after a couple of 512 > > data blocks. > > What is your minimalist C program? Does it call libusb_set_configuration()? > If not, please add it to see if that cause problem or not. > > In reality libusb_set_configuration() is in generally not needed in libusb > (other than those special device with two or more configurations), the > only exception is for libusb-win32 (may need to call usb_set_configuration) > which pyusb supports. Xiafan, after much tinkering with the C program, I was too impatient to get things working, so I restarted from zero (again from the original usb_dev_bulk demo, and a host program with pyUSB in the PC. I appreciate your input though, and it was very helpful in avoiding the same problem this time. I was able to get these results (all at 'Full' speed): 1 external hub No external hub Transfer size Throughput (B/s) Throughput (B/s) 512 433120 128000 768 519300 145699 1024 433120 204811 2048 619329 341322 4096 658343 455133 8192 668429 585411 Both seem to flatten out too early. Though the speed at 8192 is enough for me, any idea why the speed does not go nearer 1.2MB/s? And why the speed at small transfer sizes is so different without hub? I attached a graph of the above - I don't know if the list allows attachments. Cheers, John |