Hi Xiaofan Chen,
I am trying to communicate with USB2.0 Xilinx SOC board as USB device and trying to measure the throughput.
On windows side we are using Libusbk driver provided by Xilinx.
Device supports Bulk sink-source functionality using GadgetFS driver available in the Linux 4.2 Found that for continuous Bulk read for different type of message we are using two end points. One for Write and one for read.
We observed that we need to give enough delay about (5ms) between single Write and Read commands to get all the data in the application. But when we checked on the USB sniffer it is observed that packet is ready available on Windows USB port.
Are we following right approach to fetch data from the USB device?
How we can improve the troughput of the driver on windows?
Do we need to set any device specific configuration for the driver?
Best Regards,
Kris
Hi All,
Please can anybody help?
Regards,
Kris
If you could tell a bit more about your problem that would help.
1) What functions are you calling, etc. ?
2) What does the device descriptors look like?
3) What happens if you use another driver (e.g. libusb0) ?
1) Please attach a USB trace from Wireshark or your USB tracer.
2) Try using a different driver or library to read/write with.
Thanks,
/pedro
To OP: please do not use this place for technical support in the future -- please use libusb-win32 mailing list. Thanks.
Last edit: Xiaofan Chen 2018-08-31
Hi K,
I am not saying you need to switch driver. However, it is always a good idea to try various versions of the libs and drivers to figure out if it is the device or the library that is causing problems.
You could e.g. try using libusb-win32 with libusb0 and you could try libusb-1.0 with WinUSB.
To Kris: libusb-win32 mailing list is the right place to go for technical support since it goes to more people and more people will benefit from the discussion. You need to subscribe to the mailing list in order to post.
https://sourceforge.net/projects/libusb-win32/lists/libusb-win32-devel
To Kris: I agree with Peter. You can try libusb-1.0 WinUSB with the async API to see if that helps.
BTW, Stmk_Write and Stmk_Read are just convinent functions to wrap around the overlapped I/O for libusbK.
You may try the overlapped I/O (async API) to see if that helps.
http://libusbk.sourceforge.net/UsbK3/group__ovlk.html
On the other hand, I think you are not using the Stmk_Write and Stmk_Read efficiently. But I am not so familiar with libusbK API functions myself. That is why I think it is better to use libusb-win32 mailing list for support. In reality, libusbK is a seperate project from libusb-win32 and it has its own Sourceforge site which we only accept tickets but not technical support questions.
Clost this for now. Please use libusb-win32 mailing list for further discussions.