USB RNDIS stucks on STM32H735IGT6
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2025-03-03 12:40 AM
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?
- Labels:
-
STM32H7 series
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
2025-04-24 8:16 AM
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.
