abcminiuser / lufa

LUFA - the Lightweight USB Framework for AVRs.
http://www.lufa-lib.org
1.03k stars 321 forks source link

USB 3.0 Support #165

Closed monhi closed 4 years ago

monhi commented 4 years ago

Hi Dean, Based on following discussion in avrfreaks site, we come to the conclusion that it is good idea to update LUFA code in a way that it supports working with USB 3.0 and 3.1 ports. [https://www.avrfreaks.net/forum/xmega-lufa-and-usb-30-problem] based on steve17 :

There is a bug in the USB hardware. USB 3 is somewhat slower during the setup phase and that activates the bug. I sent a trouble report to Microchip a year ago. This problem only happens when you use USB SOF (start of frame) as the "gold standard" clock for the DFLL. It's the same problem that happens when the host PC awakens from sleep.
The hardware detects the bus suspend condition and disables the DFLL. That works. When the hardware detects the resume, it immediatelly enables the DFLL. We don't get the SOF until some time after the resume. If it starts within 11 milliseconds, the DFLL works. If it starts 50 milliseconds after resume, the DFLL goes nuts. The fix is to disable and then enable DFLL after we start getting SOF.

Please consider above comment and check if it is possible to give an update to LUFA for USB 3 support. Best Wishes,

monhi commented 4 years ago

Reading and writing to ISOC endpoints works properly in LUFA. It was some other bugs.