2014-10-17 11:24 AM
I created a USB project using STM32CUBEMX ver 4.3 based on the Mass Storage Class for the STM32L0 Discovery Board.
When I run the project that Cube creates out of the box on the Discovery board and connect it to my laptop through USB, I see that Windows fails to enumerate the device properly. I sniffed the USB transactions using USBlyzer and see that the first few steps of the enumeration including retrieval of device descriptor, configuration descriptor and string descriptor and selection of interface goes ok. The enumeration process runs into trouble with the ''Class Interface'' request upon which the device is returning an error. The details of the request and the response is listed below. My questions: * is the MSC class device known to work properly for CubeMX * is there anything I need to do for the project that CubeMX creates in order to even past enumeration * any thoughts on what the error below may be related to =======================URB Class Interface issued
Device Object FFFFFA80075856D0h
Driver Object ACPI
URB Function URB_FUNCTION_CLASS_INTERFACE
Request Type Class request from Interface
Request FEh
Value 0000h
Index 0000h
Length 0001h=======================================
Here's the response from the device
====================================
URB Control Transfer failed
Device Object FFFFFA80075856D0h
Driver Object ACPI
URB Function URB_FUNCTION_CONTROL_TRANSFER
URB Status USBD_STATUS_XACT_ERROR
Endpoint 0
Default Control
Request Type : Class request from Interface
Request FEh
Value 0000h
Index 0000h
Length 0001h
=====================================
=====================================