Recently, I am working on a USB virtual comport example (dev_cdc_virtual_com_twrk65f180m_mqx_twrk65f180m) from KSDK 1.2.0 under KDS 3.0.0. After success compiling USB stack and application, I was able to run the application on my K65 tower board without problem. The tower board has two USB connected, one is for power (J7), and the other (J15) is for data to the PC. The data I entered from Tera Term can be looped back to PC. However, when when I disconnected and re-connected the data USB wire, the Windows shows "USB Device Not Recognized" message, and shown a "Unknown Device" in the device manager. If I reset the board by pressing the reset button (SW1) or power cycle the board, the USB enumerated and everything worked fine.
This is similar issue I had several years ago with Coldfire MCU and we ended up using a real com port. I am wondering if this is something I can improve on the application, or this is a issue on the Windows OS. Please let me know if you have any idea or suggestion. Thanks!
Figure: The virtual comport enumerated and port works fine after power on the k65 tower board.
Figure: Windows shows "USB Device Not Recognized" and port is not enumerated after reconnect USB cable
Please refer to the readme file about this behaviour:
Since there is no dynamic detection between host and device, the COM port must be closed from the terminal tool prior to plug-out the CDC device. Or the CDC device won't get recognized next time you plug-in with the COM port still opened.
Thanks your reply, and sorry to acknowledge your reply so late. I recently try similar example in the KSDK 1.3.0 and still seeing similar issue, and found the notes in readme.pdf file. Do you have more detail information on the " dynamic detection"? Is this something we can improve in the MCU firmware, Windows, or host software? Please let me know if you have any detail information. Thanks!