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. I tried doing this in the driver (I actually followed the empeg driver methodology of a pool of URBs) but found what seems to be limitations in the USB subsystem.
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. Sometimes the writecallback is never called, or sometimes the readcallback is never called (even though there is no reason for these phones not to respond correctly). It is not any particular phone…different combinations of phones fail on any given attempt. Once the expected callback does not appear…the connection is all but lost, as continuous writes do not receive any further responses.
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.
Thanks very much,
Colin Dabisza
_________________________________________________________________
MSN Premium: Up to 11 personalized e-mail addresses and 2 months FREE* http://join.msn.com/?pgmarket=en-ca&page=byoa/prem&xAPID=1994&DI=1034&SU=http://hotmail.com/enca&HL=Market_MSNIS_Taglines
-------------------------------------------------------
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