I use libusb 0.1.7 to send firmware with several ADSL USB modems. It works ok. Using Conexant AccessRunner ADSL USB modem you can send 500 KBytes in 1 second or less with USB 1.1, Celeron 1.4GHz, write bulk transfers and kernel 2.4.20 (several distributions).
My recommendations:
.- Max buffer: 4096 bytes.
.- Bulk timeout: set to 5 seconds.
Sometimes is necessary that first time you send an usb_resetep.
You can look cxload.c file in http://prdownloads.sourceforge.net/accessrunner/cxacru-2003-10-05-src.tgz?download
Regards, Josep
En/na Gaëtan Marti ha escrit:
Hello,
I’m in charge of the porting of an application which communicates with a FTDI_SIO and a FT232BM.
The vendor:product is: 0403:6001
The windows version of this software uses the FTDI serial driver at the input transfer rate is about 270 Ko/s.
When porting the code under linux, I first try to use libusb 0.1.7. I was surprised to see that the usb_read_bulk parameters differ depending on the linux distribution! I first tune the timeout and buffer size parameter for the dev. platform (Red Hat 8 and Red Hat 9). The transfer rate is about 130 Ko/s. The same code is not running with other Linux distributions:
SuSE Linux 8.1 (i386) distribution with a 2.4.19 Kernel SuSE Linux 8.2 (i586) distribution with 2.4.20 Kernel
I had to change the buffer size to 64 Kb as well as the timer. The maximum rate reached on these system are about 35 Ko/s.
After that, I tried to use the FTDI_SIO module and worked with the ttyUSBx serial port. The basic open. Close, read, write command work perfectly. But the input transfer rate is really bad: 10 Ko/s.
When I try to use advanced serial configuration (set a different baudrate or any kind of options), there is absolutely no difference in performance.
Can anybody tell me either - How to configure usb_read_bulk for an optimal transfer rate - How to configure the FTDI_SIO for better performances
Thank you in advance
-- Gaëtan
Copy of the lsusb command:
...
Bus 001 Device 006: ID 0403:6001 Future Technology Devices Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 Interface
bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8
idVendor 0x0403 Future Technology Devices
idProduct 0x6001 bcdDevice 4.00
iManufacturer 1 VRAI
iProduct 2 easyTrack v1.0
iSerial 3 ET_v0100
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2 easyTrack v1.0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type none
wMaxPacketSize 64
bInterval 0
Language IDs: (length=4)
0409 English(US)
------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel