Skip to main content
TKlem.1
Visitor II
March 3, 2025
Question

USB RNDIS stucks on STM32H735IGT6

  • March 3, 2025
  • 1 reply
  • 453 views

We have a problem converting our running USB VCP application (RTOS) to a working RNDIS version.

  • We replaced the regular variants of usbd_cdc.* and usbd_cdc_if.* by their RNDIS variants.
  • The USB OTG HS clock is enabled.
  • We adapted the initialization:

 

 if (USBD_RegisterClass(&hUsbDeviceHS, &USBD_CDC_RNDIS) != USBD_OK) {
 while (1) {
 }
 }
 hUsbDeviceHS.pClassData = USBD_malloc(sizeof(USBD_CDC_RNDIS_HandleTypeDef));
 if (USBD_CDC_RNDIS_RegisterInterface(&hUsbDeviceHS, &USBD_CDC_RNDIS_fops) != USBD_OK) 
 {
 while (1) {
 }
 }
​

 

  • We adapted the device descriptor (bDeviceClass=0xef instead of 0x02 and bDeviceProtocol=0x01 instead of 0x00)

The USB transfer is working for 1-2 seconds, but at the end the code stucks with an ISR queue overflow error.

Did anyone ever hear about such a problem? Or what do we miss in our initialization?

1 reply

Technical Moderator
April 24, 2025

Hi @TKlem.1 

We have a ready to use example using USBX. Otherwise, check the example provided for F7 used as CDC RNDIS server which may need some porting to fit H735 disco board.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.Best regards,FBL