Hello everyone, I would appreciate any help or comment on the following issue.
I am porting the interface software of a hardware autocorrelator intrument from windows to linux, I have had all the support from the manufacturer, and have implemented the communication protocol using a user-space implementation. The USB interface of the instrument runs on a EzUSB fx chip. I am using hotplug and fxload to detect the device and load the firmware. That works ok. The host computer is running the linux kernel 2.2.26 and there is not a chance to upgrade the kernel at this time (several other pieces of software are broken by doing so). The protocol is very simple: the host computer sends a 2 byte command to the ez-usb and then writes or reads multiple bytes to/from the bus. It uses only bulk transfers. After loading the firmware and reenumeration any transfer under 64 bytes (max. bulk packet payload size) works fine. However, there is a command which responds with several 64 bytes packets (from the device). The first one is read ok, but all the following packets time out and the communication with the device is broken. After this happens, unplugging and reconnecting the cable bring the device back alive (with another device number) and the same code that failed before now works, reading all the 64 bytes packets correctly and keeps working until I turn the host off. This happens every first run after turning the computer on. Doing any other thing not involving diconnecting and reconnecting the cable results in diferent transfer errors even disabling some portion of the USB devfs subsystem. Using an osciloscope on the data lines, when on the error condition (after the first 64 byte transfer) the (timed out) transfers trigger a lot of data on the bus using almost all the bandwidth, which doesn't happens when working properly (only a few burst when transfering data occuping very little bandwidth). Currently, this behaviour although under control (reconnecting the cable) is unacceptable for our application. I would like to know if someone has any idea of what this problem may be, or a work around. I tried with the highly not recommended USB bus reset instruction to try to simulate the cable unplugging but it didn't work. Thank you very much, Daniel Luhr -- Daniel L�hr Sierra <[EMAIL PROTECTED]> Universidad de Chile ------------------------------------------------------- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
