In message <02cd146f4f.Thomas@xxxxxxxxxxxxxxxxxxxxxxxxx> Thomas Milius <Thomas-Milius@xxxxxxxxxxx> wrote: > In message <4f6ef5deadIan_Hamilton@xxxxxxxxxxxxxxxx> > Ian Hamilton <Ian_Hamilton@xxxxxxxxxxxxxxxx> wrote: > > > ... > > > > I hope something above is useful. > > > > Many thanks for the hints. Sounds promising. I shall test during the > next days. > I played around with the hints unfortunately without success. I had to find out that the device requires 64 Bytes outout in every case. The first Byte has a special meaning. So implemented a block setup and if tracing the serial lines by an USB control command there is regular activity (including the serial reply pin) now. So the Castle Stack tries to send the USB data out without flush as fast as it is available. That is fine. I meanwhile found out that the device will send data on the bulk endpoint to the USB host (my Iyonix) every 16ms even there is no data on the serial RX line of the device. The problem is that I am not obtaining this 16ms dummy data. There is a special issue with this data and this might be the reason for my problems. The data will be two Bytes only and not 64 Bytes as usual. The USB Specification is not precise in this point whether such packages should be accepted in Bulk mode or not. If I am opening the input channel with a size > 65 I am getting an IO-Error. If I am opening the input channel with a size <= 65 the program will wait for ever independently of a timeout or usbtimeout parameter. I assume the following is happening: For the first 64 Bytes the device will either send a NAK or reply with the 2 Bytes of data. For the next 64 Byte request in the same USB frame it will simply send a Stall. That is not real ok but yes I still have the ability to request only 64 Bytes per frame and in this case the data rate is so small that one 64 Byte package per Frame shall be enough. In this case the device will either NAK the request or send the two Bytes and yes I fear that the Iyonix is not recognizing this as a valid response due to the unprecise USB specification and will simply just ignore it for ever. I now had a look into the USB source which was just published by ROOL. And yes there is a flag for a connection to an endpoint which lets you control whether short packages (this is the name for packages which are having not the full size) are accepted or not. This is fine. But now my questions are: How can I influence this flag for a given USB connection to a certain endpoint? Does anyone know whether short packages at bulk transfers in default are accepted or rejected? Many thanks in advance. Regards Thomas Milius --- To alter your preferences or leave the group, visit //www.freelists.org/list/iyonix-support Other info via //www.freelists.org/webpage/iyonix-support