Question
USB RNDIS stucks on STM32H735IGT6
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?
