I have custom i.MX6UL board . Here, USBOTG1 is used for programming purpose(MFG tool - So device mode) and USGOTG2 port is used for 4g module(Host mode). I can use MFG tool for programming purpose. Also I can use 4g module properly. 4g module is being detected in /dev/ttyUSBx port.
I want to use USBOTG1 for communication purpose with Windows PC.
I had a plan to use USB CDC with ACM to communicate with Windows PC.
For this I enabled
CONFIG_USB_GADGET - USB Gadget Support
CONFIG_USB_CHIPIDEA_UDC - ChipIdea device controller
also I enabled USB Gadget Drivers (Serial Gadget (with CDC ACM and CDC OBEX support)) support in kernel.
After these changes, When I boot the device, I get /dev/ttyGS0 port. When I connect USBOTG1 to Windows PC. I get a COM port with which I can able to communicate the board
Windows PC[COM port] <----------> /dev/ttyGS0 (Device)
But when /dev/ttyGS0 is detected, /dev/ttyUSBx is not showing, hence 4G module not coming up. So now I have problem with 4G module. When I revert back the changes, I can able to get /dev/ttyUSBx node and 4G works properly.
I am aware of ERRATA ERR010661 in i.MX6UL which limits use two OTGs or devices simultaneously. But this is not a problem I guess because, USBOTG1 is configured as OTG and USBOTG2 is used as a host.
What may be causing the problem ?? Why I cant able to get /dev/ttyUSBx and /dev/ttyGS0 together?? I want to use USBOTG1 as a device and communicate with Windows PC. How can I get it done.
Any information regarding this would a great help.
Keshava Kumar B