Hello,
I am implementing the USB stack on a Kinetis MK26FN2M0VMI18 using Freescale BM USB Stack v5.0.
I am trying to implement an USB Virtual COM device.
Unlike the given examples in the BM USB Stack v5.0 sources, I have configured the stack to work with the EHCI controller by defining HIGH_SPEED_DEVICE to 1.
When I attach the device to the PC USB port, I have _usb_dci_usbhs_isr (ehci_dev_main.c) called and with usb_hal_ehci_get_usb_status (USBHS_USBSTS register) there giving the following flags:
EHCI_STS_SUSPEND, EHCI_STS_RESET, EHCI_STS_PORT_CHANGE, EHCI_STS_SUSPEND.
However, the _usb_dci_usbhs_isr service routine is never called with EHCI_STS_INT set (the UI bit of USBHS_USBSTS register), which would imply serving the GET_DESCRIPTOR request from the PC. Therefore, after some attempts, the PC gives up and finally it gives the message "Unrecognized USB device".
The interrupt is enabled: bit UE of USBHS_USBINTR is set correctly.
Why don't I have EHCI_STS_INT set?
Any hint?
Solved! Go to Solution.
Hello @spiderman,
This USB stack is a little old so the recommendation is to use the latest stack included in the SDK, this package has multiple examples of how to use the different USB classes.
Best Regards,
Alexis Andalon
OK thank you. We had also some hardware issue on the lines (removed capacitors, etc.). Seems to work for now at least with new hardware and latest stack.
Hello @spiderman,
This USB stack is a little old so the recommendation is to use the latest stack included in the SDK, this package has multiple examples of how to use the different USB classes.
Best Regards,
Alexis Andalon