#2212·tinyusb

host mode enumeration halts if second hub present

Author: cleverca22Created Aug 8, 2023Updated Sep 21, 2026
LabelsBug 🐞

Operating System

Others

Board

rpi2

Firmware

custom https://github.com/librerpi/lk-overlay/tree/master/platform/bcm28xx/dwc2 + https://github.com/librerpi/lk-overlay/tree/master/lib/tinyusb

#define CFG_TUH_HUB                 1
#define CFG_TUH_DEVICE_MAX          (3*CFG_TUH_HUB + 1)

What happened ?

a second hub connected to port 2 prevents enumeration from discovering devices on ports 3-5

if the MSD is on port 2, and hub on port 3, the MSD is enumerated, but removal isnt detected

like with #2177, if it fails to find an address, it should disable that port on the hub, and leave the device unconfigured

edit: increasing CFG_TUH_HUB masks the problem, by allowing the 2nd hub to function normally

How to reproduce ?

connect a second hub to a low numbered port on the 1st hub, and any device on a high numbered port

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

HUB Clear Feature: PORT_CONNECTION_CHANGE, addr = 21 port = 2
HUB Clear Feature: PORT_RESET_CHANGE, addr = 21 port = 2
 13.925720 [DWC2:hcd_edpt_open:415]: dev 0 EP00 opened root port: 0 hub_addr: 21 hub_port: 2 speed: 2(HS) opep: 0xc411c4a4
enum_request_set_addr 1560: ASSERT FAILED

Screenshots

No response

I have checked existing issues, dicussion and documentation

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