Well, I've installed RTT traces into the various USB device states and tracking control pipe state etc. and there definitely seems to be something amiss: ``` [INFO] device.rs:163 - PollResult: Data { ep_out: 0, ep_in_complete: 0, ep_setup: 1 } [INFO] device.rs:215 - ControlPipe State: CompleteIn(Request { direction: In, request_type: Standard, recipient: Device, request: 6, value: 256, index: 0, length: 64 }) [INFO] device.rs:216 - Incoming request: Some(Request { direction: In, request_type: Standard, recipient: Device, request: 6, value: 256, index: 0, length: 64 }) [INFO] device.rs:163 - PollResult: Data { ep_out: 0, ep_in_complete: 1, ep_setup: 0 } [INFO] device.rs:215 - ControlPipe State: DataIn [INFO] device.rs:216 - Incoming request: None [INFO] device.rs:163 - PollResult: Data { ep_out: 1, ep_in_complete: 1, ep_setup: 0 } [INFO] device.rs:215 - ControlPipe State: Error [INFO] device.rs:216 - Incoming request: None [INFO] device.rs:163 - PollResult: Suspend [INFO] device.rs:163 - PollResult: Data { ep_out: 0, ep_in_complete: 1, ep_setup: 0 } [INFO] device.rs:215 - ControlPipe State: Error [INFO] device.rs:216 - Incoming request: None [INFO] device.rs:163 - PollResult: Data { ep_out: 0, ep_in_complete: 0, ep_setup: 1 } [INFO] device.rs:215 - ControlPipe State: CompleteOut [INFO] device.rs:216 - Incoming request: Some(Request { direction: Out, request_type: Standard, recipient: Device, request: 5, value: 23, index: 0, length: 0 }) [INFO] device.rs:163 - PollResult: None ``` Noticing two things: * the response to the `SET_ADDRESS` request never gets registered as transmitted * An EP0-OUT packet is encountered while processing a GET_STATUS response, which is unexpected and causes the control pipe to enter an error state