PORTS Forum
Ports and Interfaces => USB => Topic started by: Ray on September 24, 2011, 08:46:48 am
-
Jan,
I tried to implement the Set_Idle request for my HID. Initially, when I was not implementing the request, the host was polling for IN reports on EP1. This was a good thing as this is the endpoint that my descriptor said would implement the IN interrupts. Once I changed my firmware to allow the use of the Set_Idle request, the host started polling EP0 for the IN rather than EP1. This now meant that the IN was always NAK'd as I was updating EP1 and not EP0. My HID Enpoint descriptor has not changed. I am still declaring that the IN is on EP1 (Address 0x81). Once I changed the firmware back to handshake a stall on receipt of a Set_Idle request the host again started polling EP1.
Implementing the Set_Idle is not that important to me, but I am curious as to why this happens.
Regards,
Ray
-
Endpoint 0 is for control requests only.
Are you sure the device is completing the Set_Idle request?
Jan
-
Jan,
You were absolutely right, thanks. I had not finished the Set_Idle request. I had not uncommented my call to setup the Status packet, so the Host was still trying to get a Status packet or STALL from the device.
Ray.
-
I'm glad to hear you got it working.
Jan