I'm trying to run the USB CDC virtual com example that comes in KSDK 1.2 on a custom board with the KL27 MCU (MKL27Z256VFM4)
To do so, first I have build the USB library for this MCU (I cloned the provided usbd_sdk_frdmkl27z_mqx library and followed the attached guide in this post: Re: USB CDC on KL27 processor ). From there, we successfully built the CDC example.
The thing is, the board successfully appears as Virtual COM when connected with some PCs but it doesn't with others (where the enumaration phase fails). I mean, the same unit and the same cable works OK on some hosts (a Windows 8.1 workstation, a Windows 10 laptop, a Windows 7 laptop) but fails on others (another Windows 8.1 workstation, a Windows XP laptop)
Can anybody throw any light about what could be happening? I totally ran out of ideas.
- I think the issue is in the board side because I also have tested this example on a FRDM-KL27 board and it worked fine with all hosts listed above (same cables also)
- Tracking the error with the tool USBView reports this:
[Port1] FailedEnumeration Is Port User Connectable: yes Is Port Debug Capable: no Companion Port Number: 0 Companion Hub Symbolic Link Name: Protocols Supported: USB 1.1: yes USB 2.0: yes USB 3.0: no ---===>Device Information<===--- ConnectionStatus: FailedEnumeration Current Config Value: 0x00 -> Device Bus Speed: Low Device Address: 0x00 Open Pipes: 0 *!*ERROR: No open pipes! ===>Device Descriptor<=== *!*ERROR: bLength of 0 incorrect, should be 18 bLength: 0x00 bDescriptorType: 0x00 bcdUSB: 0x0000 bDeviceClass: 0x00 *!*ERROR: Device enumeration failure
Also, just to mention I work with KDS 3.0, KSDK 1.2, MQX and our custom KL27 board has no external crystal.