|
From: Toby G. <tob...@re...> - 2013-11-20 17:57:28
|
On 20/11/13 09:24, Christian Jäggi wrote: > As for the other questions mentioned above: > > We use 2 bulk in endpoints. 1 endpoint uses 10 concurrent transfers with > a size of 200KBytes each (so all in all 2 MBytes buffer). We've also > tested it with 1MByte or 5MByte for each transfer (equals 10MByte or > 50MBytes respectively). The other endpoint buffer consists of just one > transfer with the size of 16384Bytes. Interestingly, this one doesn't > cause any errors and is working as expected. Any clue or hint for that? Wow, those are quite large transfers. I've generally been using 16k transfers on WinCE. My first guess would be that the CeOpenCallerBuffer will be succeeding as the buffer region shouldn't need to be remapped. However the CeAllocAsynchronousBuffer will be setting up an alias to the memory region in the kernel address space. I'd guess that the underlying VirtualCopy is failing due to running out of virtual address space. Does the very first of the ten transfers fail or do a few get submitted before they start to fail? The simplest fix to try is to shrink your transfer size down to something smaller like 16k. Does that help in your situation? Regards, Toby |