This looks to be true Ryan. I ran into the same thing with the FRDM-K22F board. I simply don't want it to echo everything back! Commenting out the line doesn't do any good, because then everything break. So it seems that the SDK call to UB_Class_CDC_Send_Data must be crucial to proper operation of the Virtual COM Port. What I did to get around it was simply send nothing back, but still made the call, and that seems to work. In the Virtual_Com_App(void) function this is the original line of code:
error = USB_Class_CDC_Send_Data(g_app_handle, DIC_BULK_IN_ENDPOINT, g_curr_send_buf, size);
I changed it to:
error = USB_Class_CDC_Send_Data(g_app_handle, DIC_BULK_IN_ENDPOINT, NULL, 0);
Simply just changing the size to send to 0 works as well. After doing this, every character is still process coming into the virtual COM port. Hopefully this helps.
NXP/Freescale, can you give us some clarity on what is happening when we comment out the above line completely, it causes the virtual COM port to malfunction and no events are fired? At the very least, can you confirm Ryan's statement, that every USB TX needs an RX?
Thanks,
Kevin