-
|
Hi, I have a ESP32‑S3 DevKitC‑1 (N16R8). If I connect a Serial USB Device to the Host USB port of the ESP32, it is recognized and I'm getting VID/PID. greetings and thanks, |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 8 replies
-
|
Is this the example you are looking for? https://github.com/espressif/esp-idf/blob/master/examples/peripherals/usb/host/cdc/cdc_acm_host/main/usb_cdc_example_main.c#L150 |
Beta Was this translation helpful? Give feedback.
-
|
Maybe, kind of, yes ... but, I was looking for a TinyUSB example. ;) |
Beta Was this translation helpful? Give feedback.
-
|
check out the host/cdc_msc_hid example https://github.com/hathach/tinyusb/blob/master/examples/host/cdc_msc_hid/src/cdc_app.c |
Beta Was this translation helpful? Give feedback.
-
|
I got it working by using a “CH34x VCP shim” because the FS‑600 used in this project here https://github.com/SunboX/radpro-wifi-bridge exposes its USB UART as a vendor‑specific interface (0xFF/0x01/0x02) instead of proper CDC-ACM descriptors. TinyUSB’s host stack only binds its CDC driver when it sees the full Communication/Data interface pair plus the CDC functional descriptors. So when the CH34x shows up, TinyUSB shrugs and leaves the interface untouched. The shim steps in to claim those VID/PID combos, synthesise the CDC bits TinyUSB expects, and stub out control requests (like SET_LINE_CODING) that the CH34x ignores anyway. To make this unnecessary, TinyUSB would need upstream support for CH34x-style VCPs. Either the existing CDC host driver gains quirk hooks for VID/PID/class 0xFF, skipping the strict descriptor checks and tolerating missing line-control features, or TinyUSB ships a dedicated CH34x host driver that plugs into the stack and exposes the same API as CDC. Once TinyUSB handles that internally, projects like mine could drop the shim and rely on the stock host driver. |
Beta Was this translation helpful? Give feedback.
I got it working by using a “CH34x VCP shim” because the FS‑600 used in this project here https://github.com/SunboX/radpro-wifi-bridge exposes its USB UART as a vendor‑specific interface (0xFF/0x01/0x02) instead of proper CDC-ACM descriptors. TinyUSB’s host stack only binds its CDC driver when it sees the full Communication/Data interface pair plus the CDC functional descriptors. So when the CH34x shows up, TinyUSB shrugs and leaves the interface untouched. The shim steps in to claim those VID/PID combos, synthesise the CDC bits TinyUSB expects, and stub out control requests (like SET_LINE_CODING) that the CH34x ignores anyway.
To make this unnecessary, TinyUSB would need upstream support…