Skip to main content
BBrow.2
Associate III
March 24, 2025
Question

USB (HID_STANDALONE demo on STM32H7B3) - How is URB Functions set?

  • March 24, 2025
  • 2 replies
  • 406 views

I cannot figure out how the USB sets the Function selector output.

URB Function: URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE (0x000b)

 

URB Function: URB_FUNCTION_SELECT_CONFIGURATION (0x0000)

 

URB Function: URB_FUNCTION_SELECT_INTERFACE (0x0001)

I can modify bRequestType and bRequest, but that does not affect the URB Function selected just after the IRP ID and IRP USBD_STATS info.

eg. Wireshark Dump:-

Wiredump1.jpg

0b 00 is URB Function: URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE (0x000b)

When I select configuration, the 0b 00 becomes 00 00, but how?  I cannot find any place in the firmware or hardware, that relates to this?

Am I making sense?

 

2 replies

BBrow.2
BBrow.2Author
Associate III
March 24, 2025

Beginning at 80 06 05 03 above is the FIFO out, so where does the preceeding bytes come from?

BBrow.2
BBrow.2Author
Associate III
March 24, 2025

I am thinking that winpcap creates this term and number (URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE (0x000b)) and that it is not an actual number directly sent over USB?