Hello there...
I develop a software tool that controls mobile phones (up to 128 per system). Recently we've received USB based phones, and I've had some success using the usbserial driver to control them. The problem with these phones is that the chipset requires messages over 64 bytes even though the max packet size of the bulk endpoint is 64. Therefore, segmentation is required.
Not unless those are interrupt transfers ... you can just issue reads/writes of N bytes. (2.6 removes that annoying limitation on interrupt transfers.)
I've found that when more than about 5 phones try to submit multiple URBs (usually 3 per message), the USB subsystem does not respond to them all. ...
Is that with a UHCI driver? If so, try the other one; there are both "uhci" and "usb-uhci", and they don't act identically. And with UHCI, on 2.4, you need to set the urb transfer flag saying that when you queue an URB, you really mean it.
Otherwise, with OHCI or EHCI, I'd expect queueing to Just Work.
Have you seen (or heard) of this before? Is there a solution to this in another kernel? Is there a way to regain communication again? This is quite confusing to me, as the documentation that I have found seems to indicate that USB subsystem should support reliable bulk queuing.
I'm using Red Hat 9.0 with the 2.4.26 SMP kernel.
The 2.6 kernels are way better in this respect ... all the HCDs handle queueing reasonably. On 2.4, my standard advice is to never rely on urb queueing; I tested it extensively a long time ago (2.4.10) and found it unreliable. It probably got a bit better since then, but your experience would suggest that it's still not reliable enough.
- Dave
-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel