cancel
Showing results for 
Search instead for 
Did you mean: 

USB RNDIS stucks on STM32H735IGT6

TKlem.1
Associate II

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?

0 REPLIES 0