do bulk transfer using libusb on Linux 3.0 port can not work well

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

OS: Centos 6.2
Kernel: 2.6.32
Controller: NEC Corporation uPD720200 USB3.0 controller

when using "libusb_bulk_transfer()" to get 16MB data from device (using 16 times, ask for 1MB at once), returned error code -99 (other error), use "dmesg" can found the following information:

usb 7-1: usbfs: process 6833 (test) did not claim interface 0 before use
xhci_hcd 0000:01:00.0: ERROR no room on ep ring
usb 7-1: usbfs: usb_submit_urb returned -12

the strange is that when add a wait for 1s between each time,the function return success.

(on usb2.0 port, it can work well)
 

0 Likes
3 Replies
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hi,

   

Can you please follow the way it is shown in the attached file.

   

It is part of FX3 SDK for Linux platform.

   

For more details, please refer to the following web page to get FX3 SDK for Linux:

   

EZ-USB FX3 SDK v1.2.3 for Linux 

   

 

   

Thanks,

   

Sai Krishna.

0 Likes
Anonymous
Not applicable

 Dear Sai Krishna:

   

 

   

Thanks for you replay, and sorry for check late.

   

As I did not use the cypress lib, I add the function libusb_kernel_driver_active() to my lib manually.

   

however the function libusb_kernel_driver_active() return 1 .

   

when I use libusb_attach_kernel_driver() function,it returned -5 as there is no kernel driver was found.

   

by the way,as the firmware works well on Windown PC, I guess the problem is caused by the libusb.

   

 

   

Thanks.

0 Likes
Anonymous
Not applicable
0 Likes