Two-thirds of mice don't work with USB library
I'm using an STM32F722 to implement a USB Host (FS) for HID class so that I can connect a mouse to my custom board. To rule out any soldering problems, I bridged both ESD and overcurrent protection.
Over the past couple of days, I've been testing USB with three different Logitech mice:
Mouse #1 results in HOST_ABORT_STATE. The corresponding (disabled) error log message reads "Device not responding Please unplug."
Mouse #2 works like a charm, after about 1 second after power-on I get a call to USBH_HID_EventCallback.
Mouse #3, received just today, doesn't fail, but it doesn't call USBH_HID_EventCallback either. It remains seemingly forever in state ENUM_GET_SERIALNUM_STR / CMD_SEND.
This is a pretty bad test result. All of these mice work perfectly fine with my PC.
I don't even know how to debug this. Could this be an electrical problem? (But then again, the STM32 is directly connected to the USB connector, together with 5V and GND.)
How can I approach this problem? What is the USB library waiting for in case #3? Can single-stepping through the USB library mess with signal timing?
