Hi everyone,
About one year ago I opened a SR to get help in developing a dual virtual com device application and the answer was that at that time (MQX was 3.7) such application was not possible.
("We have to say that our USB device stack is not ready for dual functionalities. There is not only one issue or potentional risk (must be investigated) in the USB device stack + USB device classes that can lead to disfunctionality. We have never tried 2 instances of one device at the same time in MQX. This will be investigated and try to find the solutions.")
Now I'm using MQX 3.8.1: can now my application be implemented?
Many thanks
Teckna
Hello,
I'm a little confused with naming. Do you mean, that MQX will supply two virtual com ports? Then, your MQX has to setting up a " composite device" (see reference in USB specification). I've asked Freescale for such feature some times ago (see Multiple different USB devices via virtual hub or switching andSet up an USB composite device). However, the referenced freescale medical usb stack is not yet included in MQX 3.8.1.
Or, otherwise, do you mean to have USB device and USB host functionality simultaneous? This feature is implemented in MQX 3.8.1.
Hello,
What about dual CDC virtual com device in the upcoming MQX 4.0?
Many thanks
Teckna
Hi,
Any news?
Teckna
Hello,
if you are using 2 controllers for USB devices, then the CDC class should be working. Honestly, I have not tried 2 CDC devices together.
I try to be more clear:
I can successfully enumerate the composite dual virtual com device on a Win7 64 bit system, using the MS usbser.sys driver: the two COM port are correctly listed on the device manager window.
When I open the first COM port on a terminal program (Hyperterminal), I can send and receive data with no problem: the running application echoes the received characters.
But when I try to open the second COM port, I get the error "Unable to open COMx. Verify port settings" (translated from italian language).
Here is my doubt: When I initialize the CDC class with the USB_Class_CDC_Init function, I pass the references of the endpoints of the first port in the cic_send_endpoint, dic_send_endpoint and dic_recv_endpoint fields. How must I pass the references of the endpoints of the second port? Do I need a second call to USB_Class_CDC_Init function or use a different method?
Many thanks
Teckna
Hello,
I have asked, stack itself is ready for dual controller. It was tested host + host and host+device but there are some known problems (like host + host with dual KHCI problem, but EHCI + KHCI is functional).
Regards,
MartinK