Discussion:
[Libusb-win32-devel] Bulk IN transfer rate issue with FX2LP on Windows
y.salnikov
2016-03-20 11:05:19 UTC
Permalink
Hi.
I have some problem with transfer rate with asynchronous bulk transfers on
windows.
I wrote a simple test program based on sigrok. It constantly streams data
through bulk endpoint. The firmware for FX2LP is also based on sigrok.
It works perfectly on linux with transfer rate up to 24MB/s. But on windows
it can work only up to 4 MB/s.
FX2LP have internal FIFO and when it overflow, device stops streaming data,
so it can be latency problem.
I also try to use different USB-controller on PCI card with same result.
Interesting thing is that sigrok Pulseview works fine on windows with
transfer rate up to 24 MB/s.
The code is there: https://github.com/y-salnikov/usb_tst/tree/bulk
Sorry for my english.



--
View this message in context: http://libusb.6.n5.nabble.com/Bulk-IN-transfer-rate-issue-with-FX2LP-on-Windows-tp5715721.html
Sent from the LibUSB Dev - Win32 mailing list archive at Nabble.com.
Xiaofan Chen
2016-03-20 12:16:52 UTC
Permalink
Post by y.salnikov
Hi.
I have some problem with transfer rate with asynchronous bulk transfers on
windows.
I wrote a simple test program based on sigrok. It constantly streams data
through bulk endpoint. The firmware for FX2LP is also based on sigrok.
It works perfectly on linux with transfer rate up to 24MB/s. But on windows
it can work only up to 4 MB/s.
FX2LP have internal FIFO and when it overflow, device stops streaming data,
so it can be latency problem.
I also try to use different USB-controller on PCI card with same result.
Interesting thing is that sigrok Pulseview works fine on windows with
transfer rate up to 24 MB/s.
The code is there: https://github.com/y-salnikov/usb_tst/tree/bulk
Sorry for my english.
It will be better that you use libusb mailing list since you are not
using libusb-win32. Take note libusb-win32 mailing list is
mainly for libusb-win32, libusbk and libusbdotnet users.

libusb mailing list:
https://lists.sourceforge.net/lists/listinfo/libusb-devel
--
Xiaofan
michel
2016-03-24 21:05:20 UTC
Permalink
i have seen also weird "slow" response time using asynchronous api on windows
on a "bulk loop" test made of bulk out and bulk (not fx2).
The loop time using full asynchronous in + out call is bigger than asynch
in + synchronous out .
I have not investigate why. It was couple 100 usec more for about 200 us
loop time on bus.
I Also did observe the same on diffeerent usb 2.0 and usb3.0 host
controller.

Still I get good performance from FX2 bulk in streaming (>24MB/sec) using
large (2MB) "synchronous " request on one device i have . Might not optimal
but ok for my use case loosing some micro second and some KB/sec is
acceptable vs added complexity of asynchronous (specially when to abort in
middle of streaming).




--
View this message in context: http://libusb.6.n5.nabble.com/Bulk-IN-transfer-rate-issue-with-FX2LP-on-Windows-tp5715721p5715732.html
Sent from the LibUSB Dev - Win32 mailing list archive at Nabble.com.
Loading...