Skip to main content
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?

    This topic has been closed for replies.

    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.