-
Notifications
You must be signed in to change notification settings - Fork 7.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix usb resume bug on esp32sx (IDFGH-10000) #11281
Conversation
Hello @paul356 , thank you for the contribution! |
This issue relates to esp32s2 and esp32s3 only. You just need to test these two chips. |
Thank you again for you contribution. All tests OK, we will merge in out internal git and this issue will be closed automatically after it get synchronized to GitHub. For IDF version >= 5.0 this will be fixed in tinyusb component |
Thanks you for the information. I have tried IDF 5.0 several months ago. In that time, I didn't find tinyusb in IDF 5.0. So I went back to IDF 4.4. Is tinyusb still a component as in IDF 4.4 in the "components" folder? If that is the case, I may consider migrate my project to esp-idf 5.0. I also need to fix USB HID device related code in IDF 4.4, which I have previously opened a pull request. I am told that it is fixed in IDF 5.0. It will be better to work without a private IDF version. |
I find where tinyusb is in IDF 5.0. It is a dynamic component. It is installed through Component Manager. |
The fix is included in our release of TinyUSB v0.14.3 so you can use it with IDFv5.x related espressif/tinyusb#11 IDF v4.x should wait until the fix is synced to GitHub from our internal servers |
I have encounter this issue on esp32s3 that my usb hid device can't recover from suspend state after computer went to sleep and waked up. After long time of debugging it turned out that we didn't handle resume interrupt in dcd file for esp32sx. The fix is straight forward. I add USB_WKUPINT related bits in function dcd_init and dcd_int_handler. Having tested on my esp32s3 hid keyboard, I think it also works for other USB devices using esp32sx. Please comment if you need me to do further testing.