2025-01-10 01:00 AM - edited 2025-01-10 01:41 AM
Hello ,
I am trying to write a USB OTG FS code from scratch (in Device mode) .
At this point i can receive and send control transfers .
For the Device Descriptor and Set address commands there seem to be no issue but with the Configuration Descriptor there seems to be something wrong.
In task manager my device appears as Unknown USB Device ( Configuration Descriptor Request Failed )
When i use a USB sniffer i am able to see that my device responds to the request and the packet doesn't seem to have any errors
Packets sniffed :
Configuration Descriptor Response:
I am also attaching the full Log from Wireshark
Useful filter:
(!(_ws.col.protocol == "USBLL")) && !(_ws.col.protocol == "Syslog")
What could be causing this behavour ? My goal for now is for the device to enumerate and not appear as an Unknown USB Device.
Note: The task manager error appears a few seconds before the Configuration Request and Response in the sniffer, I am not sure if this is some sort of delay from the sniffer or it's caused by something else.
Solved! Go to Solution.
2025-01-10 03:46 AM
The Device was not responding to the DATA1 packets from the host because the EP0 was in NAK mode.
Resolving that (Enabling CNAK bit) resolved the issue.
2025-01-10 03:46 AM
The Device was not responding to the DATA1 packets from the host because the EP0 was in NAK mode.
Resolving that (Enabling CNAK bit) resolved the issue.