hathach / tinyusb

An open source cross-platform USB stack for embedded system
https://www.tinyusb.org
MIT License
4.67k stars 998 forks source link

Losing half of the bandwidth when receiving data by hid set-report transfer. #2608

Open neil-kerman opened 2 months ago

neil-kerman commented 2 months ago

Operating System

Windows 10

Board

LicheePi Nano (Allwinner f1c100s)

Firmware

portable/sunxi/dcd_sunxi_musb.c

OS: ucos2

What happened ?

Losing half of bandwidth. Half of the packets wouldn't trigger interrupts.

Interrupt would be triggered by packet n, but wouldn't triggered by packet n+1.

How to reproduce ?

Receive data by hid set-report.

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

tusb.log

Screenshots

ss

I have checked existing issues, dicussion and documentation

neil-kerman commented 2 months ago

It would uses two polling phases for transfering single packet: ss1

neil-kerman commented 2 months ago

Here is my endpoint descriptor for ep2: ss2