2025-01-12 06:26 AM - last edited on 2025-01-13 12:37 AM by SofLit
A BOT protocol read fail error is occurring in usbh_msc.bot.c:- See "*** MY MOD-" below
USBH_StatusTypeDef USBH_MSC_BOT_Process (USBH_HandleTypeDef *phost, uint8_t lun)
{
...
else if (URB_Status == USBH_URB_STALL)
{
/* This is Data IN Stage STALL Condition */
MSC_Handle->hbot.state = BOT_ERROR_IN;
/* Refer to USB Mass-Storage Class : BOT (www.usb.org)
6.7.2 Host expects to receive data from the device
3. On a STALL condition receiving data, then:
The host shall accept the data received.
The host shall clear the Bulk-In pipe.
4. The host shall attempt to receive a CSW.*/
#if (USBH_USE_OS == 1)
osMessagePut ( phost->os_event, USBH_URB_EVENT, 0);
#endif
}
else if (URB_Status == USBH_URB_ERROR) // *** MY MOD- *** added as getting error here!
{
/* This is Data IN Stage ERROR Condition */
MSC_Handle->hbot.state = BOT_ERROR_IN; // tried this but no change
}
break;
case BOT_DATA_OUT:
...
2025-01-15 12:50 AM
Hi @Robmar
Would you share an example to reproduce the read failure? After all, thank you for highlighting this error handling. An internal ticket 200414 is submitted to the dedicated team.
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.