Skip to content

ESP32-S3 bulk transfer issues #3154

@qnex0

Description

@qnex0

Operating System

Linux

Commit SHA

espressif/tinyusb (0.18.0~2)

Board

ESP32-S3 based board

Firmware

tinyusb_firmware.zip

libusb_test.zip

What happened ?

I'm trying to implement a custom vendor class driver. I noticed that when using usbd_edpt_xfer to receive data from the OUT EP, the ZLP is misinterpreted and causes the transfer to complete with an xfer size equal to the request size regardless of the actual size. I tried some older versions of tinyusb and noticed this behavior started occurring after version "0.15.0~10." Additionally, when I queue for 32768 bytes in my example, when more than 8191 bytes are sent to the device, the transfer is also completed with the incorrect size.

How to reproduce ?

I use the libusb_test program attached to the firmware section of this issue to send a variety of different data sizes to the bulk endpoint and view the results using the firmware with debugging enabled.

Debug Log as txt file (LOG/CFG_TUSB_DEBUG=2)

N/A

Screenshots

Image

I have checked existing issues, dicussion and documentation

  • I confirm I have checked existing issues, dicussion and documentation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions