Read first: Read the mechanism and worked trace first
An illustrative USB 2.0 full-speed device describes an eight-byte bulk-IN endpoint but the firmware queues data on another endpoint number. Enumeration can finish while the intended data pipe keeps returning no useful payload.
Match descriptors to a real endpoint path — decision record
Apply the stated local assumptions; record actual platform values before using this as an implementation checklist.
Decision / observation | Required evidence | Consequence |
|---|---|---|
Descriptors parsed | Endpoint number, direction, type and packet size | Host schedules the advertised pipe |
Firmware queues payload | Controller endpoint and buffer ownership | Must match the advertised pipe |
Host sees NAK | Endpoint has no ready data at that attempt | Not by itself a cable-corruption diagnosis |
Endpoint descriptors, firmware queues and controller configuration can disagree after endpoint-zero enumeration. Trace the actual endpoint/direction and its buffer readiness.
Device controller firmware must serve descriptors that match silicon capabilities. Endpoint count, max packet sizes, and supported speeds must be consistent. Driver on host side parses descriptors to configure.
Identify the actual USB 2.0 and SuperSpeed physical/controller paths; integration into one macro or several is a product choice.
Role switching requires matching controller, connector/role policy and firmware support; one firmware image may support more than one role.
Compliance testing required for USB-IF logo.