-
Notifications
You must be signed in to change notification settings - Fork 7.3k
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
esp32s3, restarting cdc software serial doesn't work (IDFGH-12813) #13788
Comments
Hi @greenaddress |
@peter-marcisovsky thanks for getting back Any news on reproducing? would it be of help if we provided some minimal/hello world for both 5.2 and 5.1.4 to show the issue? |
Hi @greenaddress , we have all necessary information and we are able to reproduce the behavior, thanks a lot. Also, to re-start tinyusb driver we need to shutdown it properly (this feature is not implemented in upstream as well: https://github.com/hathach/tinyusb/blob/a1abbd70cbc00878a34f0b7db24805fc78b6b8d8/src/tusb.h#L142) Based on the requirements, this could be done in several different ways, so we will return back with some solution asap. Meanwhile, do you have specific requirements and do you plan to change the USB device class during the tinyusb driver uninstall-install routine? |
@roma-jam I plan to use usb storage as a host (msc) when not using cdc as device. msc works but i can't bring back cdc (even if i never used msc) |
@roma-jam any news or suggestion/work around? |
Hi @greenaddress , Sorry for such a long delay with a reply. Currently, there is not so much to do, because to use tinyusb driver again (which means to restart the device but with another configuration) we need to:
So, when the according API are not available, the only one option is to fulfill a whole reset of the mcu unit. To make it available without the whole reset, changes should be done in:
|
Answers checklist.
IDF version.
v5.1.4 and 5.2 release branch
Espressif SoC revision.
ESP32-S3 (QFN56) (revision v0.1)
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
Development Kit.
esp32s3 tdisplay s3
Power Supply used.
USB
What is the expected behavior?
I expect to be able to call pseudo code that looks like
and I would expect the cdc software serial working again but it doesn't show up with lsusb after a cdc and driver deinit and uninstall
I get no errors, everything is ESP_OK but the device doesn't show up - an esp_restart is required for things to show up again.
using
espressif/tinyusb: "^0.15.0~9"
espressif/esp_tinyusb: "^1.4.4"
and tried with esp-idf tags v5.1.3, v5.1.4 and 5.2 release branch
What is the actual behavior?
I would expect to be able to cycle the usb software cdc on/off/on
Steps to reproduce.
Something like https://github.com/espressif/esp-idf/tree/master/examples/peripherals/usb/device/tusb_serial_device could be modified to also deinit cdc device software and uninstall tinyusb
Debug Logs.
More Information.
basically same issue (1) as https://www.reddit.com/r/esp32/comments/1c50bn1/esp32s3_tinyusb_issue/ which to me also doesn't seem resolved (same as OP)
The text was updated successfully, but these errors were encountered: