PORTS Forum

Ports and Interfaces => USB => Topic started by: beethoven on March 20, 2012, 03:34:58 pm

Title: USB device won't reset
Post by: beethoven on March 20, 2012, 03:34:58 pm
I have this problem wherein a USB device is not re-enumerating after it downloads new firmware. The re-enumeration fails in this manner: the Host-Hub (High Speed) finishes the download (index 326868, 1st file), a few high-speed chirps, then a mysterious (to me) 'setup.txn' appears at index 408509 (1st file). Then things deteriorate quickly and grinds to a STALL.

Looking at the data downstream (between the hub and the USB 1.1 device) the data finishes as seen in the previous image, but then there is a bazillion <reset>/<Chirp J>/<Tiny J> then at index 90616 (2nd file) the SETUP.TXN is received, no ACK/NACK/STALL/NYET is supplied, and after 3 attempts the host gives up.

If we attached this to a 1.1HUB, the re-enumeration is successful. (After a 3 chirps, a Get Device Descriptor is sent and received, the re-enumeration occurs.)

Any pointers or thoughts to share?

- Beethoven

[attachment deleted by admin]
Title: Re: USB device won't reset
Post by: beethoven on March 20, 2012, 03:35:56 pm
Attached is a 'good' Full-Speed reset (using a 1.1hub).

[attachment deleted by admin]
Title: Re: USB device won't reset
Post by: Jan Axelson on March 20, 2012, 10:13:30 pm
Decode the Setup transaction. Check to be sure, but it appears to be a Clear_Feature request (01)  for ENDPOINT_HALT (0000) on endpoint 2 IN (82).

The device is STALLing the request.

Jan