You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
STM32CubeIde for MCU STM32U5A9NJHXQ (MCU package v1.6.0, USBX v6.2.0) generated incorrect RNDIS code. RNDIS is working on Windows but failed on Linux with this dmesg messages during enumeration:
[ 5043.521350] usb 5-1.1.3: new high-speed USB device number 17 using xhci_hcd
[ 5043.663724] usb 5-1.1.3: New USB device found, idVendor=0483, idProduct=5742, bcdDevice= 2.00
[ 5043.663740] usb 5-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 5043.663784] usb 5-1.1.3: Product: STM32 USB Device
[ 5043.663791] usb 5-1.1.3: Manufacturer: STMicroelectronics
[ 5043.663796] usb 5-1.1.3: SerialNumber: 000000000001
[ 5043.724852] rndis_host 5-1.1.3:1.0: RNDIS_MSG_QUERY(0x01010101) invalid response - off 16 len 4
[ 5043.724869] rndis_host 5-1.1.3:1.0: rndis get ethaddr, -33
[ 5043.725371] rndis_host: probe of 5-1.1.3:1.0 failed with error -33
The problem is that message with RNDIS ID: 0x01010101 is not implemented. With this modification:
In file ux_device_class_rndis_msg_query.c
In function _ux_device_class_rndis_msg_query before default (line 327) put this code:
case UX_DEVICE_CLASS_RNDIS_OID_802_3_PERMANENT_ADDRESS :
/* Save the Hardware address in the return message. */
_ux_utility_memory_copy(rndis_response + UX_DEVICE_CLASS_RNDIS_CMPLT_QUERY_INFO_BUFFER,
rndis -> ux_slave_class_rndis_local_node_id, UX_DEVICE_CLASS_RNDIS_NODE_ID_LENGTH); /* Use case of memcpy is verified. */
/* Set the total response length. */
rndis_response_length = UX_DEVICE_CLASS_RNDIS_NODE_ID_LENGTH;
break;
With this modification, the RNDIS device works correctly on both systems Linux and Windows.
The text was updated successfully, but these errors were encountered:
STM32CubeIde for MCU STM32U5A9NJHXQ (MCU package v1.6.0, USBX v6.2.0) generated incorrect RNDIS code. RNDIS is working on Windows but failed on Linux with this dmesg messages during enumeration:
[ 5043.521350] usb 5-1.1.3: new high-speed USB device number 17 using xhci_hcd
[ 5043.663724] usb 5-1.1.3: New USB device found, idVendor=0483, idProduct=5742, bcdDevice= 2.00
[ 5043.663740] usb 5-1.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 5043.663784] usb 5-1.1.3: Product: STM32 USB Device
[ 5043.663791] usb 5-1.1.3: Manufacturer: STMicroelectronics
[ 5043.663796] usb 5-1.1.3: SerialNumber: 000000000001
[ 5043.724852] rndis_host 5-1.1.3:1.0: RNDIS_MSG_QUERY(0x01010101) invalid response - off 16 len 4
[ 5043.724869] rndis_host 5-1.1.3:1.0: rndis get ethaddr, -33
[ 5043.725371] rndis_host: probe of 5-1.1.3:1.0 failed with error -33
The problem is that message with RNDIS ID: 0x01010101 is not implemented. With this modification:
In file ux_device_class_rndis_msg_query.c
In function _ux_device_class_rndis_msg_query before default (line 327) put this code:
With this modification, the RNDIS device works correctly on both systems Linux and Windows.
The text was updated successfully, but these errors were encountered: