Missing EHCI_STS_INT (USB interrupt USBINT, UI bit of USBHS_USBSTS) and failed enumeration

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Missing EHCI_STS_INT (USB interrupt USBINT, UI bit of USBHS_USBSTS) and failed enumeration

Jump to solution
854 Views
spiderman
Contributor III

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?

 

0 Kudos
1 Solution
781 Views
Alexis_A
NXP TechSupport
NXP TechSupport

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

View solution in original post

0 Kudos
2 Replies
770 Views
spiderman
Contributor III

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.

0 Kudos
782 Views
Alexis_A
NXP TechSupport
NXP TechSupport

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

0 Kudos