USB issues (Iyonix and BeagleBoards)
Dave Higton (1515) 3534 posts |
I’ve been doing more experimental work on Bluetooth. It has showed an issue that I wasn’t previously aware of. A USB Bluetooth dongle normally has an interrupt IN, a bulk OUT and a bulk IN endpoint. Interrupt IN is normally endpoint 1; the two bulk endpoints are normally both endpoint 1. They are distinguished by their directions. I’ve got as far as opening a connection on the bulk endpoints, except for one problem. I have a USB analyser that shows me the correct response coming back over the bulk IN endpoint, but RISC OS reports “I/O Error”, error number &81902D, on the bulk IN endpoint. If the dongle doesn’t send a bulk IN message, RISC OS stalls, so clearly it’s seeing the message come in. The behaviour is the same on the Iyonix with RISC OS 5.18 (16-Jan-12), and on the BeagleBoard xM with RISC OS 5.19 from mid-June and August 23. The problem of padding on the interrupt IN endpoint is also present on all those three versions. “nopad” makes no difference. It’s also interesting to see that, when the bulk IN message comes in, the last interrupt IN message is reported a second time. The analyser confirms that it was only sent once. |
Dave Higton (1515) 3534 posts |
Let me ask a general question: Has anybody created a successful USB driver for any device with a bidirectional bulk endpoint? |
Raik (463) 2061 posts |
I think Thomas Milius ComCentre for UMTSSticks. Unfortunately, no longer works with the newer ROMs. He believes the “improvement” is to blame. He has deliberately kept the specifications. I can only say ComCentre was stable with the ROMs /!Boot from 2011 to about 06/2012. |
Dave Higton (1515) 3534 posts |
Yes, I would appreciate a copy, please. Dave at davehigton dot me dot uk. |
Dave Higton (1515) 3534 posts |
I suspect a problem related to bidirectional endpoints (bulk, at least). Most common devices with bulk IN and OUT endpoints have them at separate addresses. |
Raik (463) 2061 posts |
Sorry. I read it at work. You should find the sources of ComCentre in the ROOL CVS. It is not the newest Version. Thomas has saved the last November there. What you need is USBSDevEmu, I think (unchanged since). |