Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - USB error status USBD_STATS_NO_MEM_FOR_TRANSFER: (2 Items)
   
USB error status USBD_STATS_NO_MEM_FOR_TRANSFER  
Hi:

I' writing a driver for a USB device and Ive run into an error that has me stumped.
 
So far the code is working well, it does a number of reads and writes and all goes as expected. There is one case where 
I need to do a write that is 63.4K in size. When I do this one, usbd_urb_status gives 0x2000010. Which I understand is 
completed with error and NO_MEM_FOR_TRANSFER. 

I used usbd_alloc to create the block of data to be written. 
The usbd_io call returned EOK, and the bulk output callback is called. In  the callback, usbd_urb_status gives the 
0x2000010 status and zero bytes as the transfer length. 

What does the error mean? Where is there not enough memory? and most importantly, how can it be overcome. 

Thanks,
Re: USB error status USBD_STATS_NO_MEM_FOR_TRANSFER  
Sonke Nielsen  - has come up with a solution.

>The error probably tells you that you are running out of transfer descriptors. For >example, on ehci you can try 
specify a num_td=xxx some larger numbers, the >default is 256, etc.

and 

>For pci based ohci, you need to specify pindex=x,num_td=xxx, otherwise the >commandline will not be parsed correctly. 

>Eg: 
>io-usb -d ohci pindex=0,num_td=1024,verbose=5 

>if you have more than 1 ohci, you need to specify the same thing for each.

Thank you Sonke. 
Andy