This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

USB Host stalling control transfer for Setup packet larger than max packet size

Hello,

I've added quite a few interfaces and endpoint configurations and I'm trying to figure out how to properly respond to "Get Descriptor" Setup packet that requires a response of size 84 bytes.

I get the  NRFX_USBD_EVT_SETUP event ,

I then send my data nrfx_usbd_ep_transfer() properly on NRFX_USBD_EPIN0, 

I get NRFX_USBD_EP_OK for the transfer and call nrfx_usbd_setup_clear(),

Then I call nrfx_usbd_ep_transfer() again with the remaining 20 bytes, and the host stalls.

I've attached the USB trace I captured as well, is there an API I'm missing to call?

Related