AnsweredAssumed Answered

STM32F2 USB OTG Host enumerates all values 0x00

Question asked by pribyl.adam on Sep 25, 2015
Latest reply on Oct 1, 2015 by pribyl.adam
I have a STM32F2 with OTG periphery and STM32 USB Host Device library in FS host mode.

The other end is STM32F4 OTG FS with the same library but in Device mode as VCP.

When I connect the device to the Host, it is detected and enumerated, but the
USBH_HOST structure shows all values as zeros (0x00) (The bInterfaceClass  matches the 0x02 ~ CDC).

void deviceInit(USB_OTG_CORE_HANDLE* p_dev,
                      USBH_HOST*           p_host)
{
    uint8_t interfaceClass    = p_host->device_prop.Itf_Desc[0].bInterfaceClass;
    uint8_t interfaceSubClass = p_host->device_prop.Itf_Desc[0].bInterfaceSubClass;
    uint8_t interfaceProtocol = p_host->device_prop.Itf_Desc[0].bInterfaceProtocol;
    uint16_t idVendor  = p_host->device_prop.Dev_Desc.idVendor;
    uint16_t idProduct = p_host->device_prop.Dev_Desc.idProduct;
}

If I put the trace logs into all states, I do get this:

USBH_USR_DeviceAttached
USBH_USR_ResetDevice
USBH_USR_DeviceSpeedDetected: full
USBH_USR_Device_DescAvailable: VID 0x0000 PID 0x0000
USBH_USR_DeviceAddressAssigned
USBH_USR_Configuration_DescAvailable: 0x02
USBH_USR_Manufacturer_String: N/A
USBH_USR_Product_String: N/A
USBH_USR_SerialNum_String: N/A
USBH_USR_EnumerationDone

Against Windows and Linux the STM32F4 Device enumerates correctly.

Any idea what could be wrong?

Outcomes