We are trying to talk to a Verizon modem from a custom board using the Colibri IMX6ULL (2.8b5). We have an existing product that uses the Colibri IMX6 (2.7.3 Image) where this works with no problems.
Under the IMX6ULL Linux detects the modem and I can connect to it however the serial communication on the /dev/ttyACMx ports do not work as expected. When I use minicom and connect to the modem it only intermittently responds to AT commands. For example if I enter the “at” command by hand in minicom ten times it might respond once, most of the time it does not respond at all. The expected behavior is that it should respond every time. This is not a hardware problem because it works perfectly fine with our older Image for the IMX6.
Here is some diagnostic information:
root@colibri-imx6ull:~# lsmod
Module Size Used by
bluetooth 330575 2
compat 90157 1 bluetooth
usb_f_rndis 15638 2
u_ether 12497 1 usb_f_rndis
cdc_acm 17727 4
libcomposite 44402 10 usb_f_rndis
configfs 31013 3 usb_f_rndis,libcomposite
Snipped from dmesg:
[ 16.990671] cdc_acm 1-1.2:1.0: ttyACM0: USB ACM device
[ 17.339125] cdc_acm 1-1.2:1.2: ttyACM1: USB ACM device
[ 17.479236] cdc_acm 1-1.2:1.4: ttyACM2: USB ACM device
[ 17.697412] cdc_acm 1-1.2:1.6: ttyACM3: USB ACM device
[ 17.798488] cdc_acm 1-1.2:1.8: ttyACM4: USB ACM device
[ 17.877240] cdc_acm 1-1.2:1.10: ttyACM5: USB ACM device
[ 17.934729] usbcore: registered new interface driver cdc_acm
[ 17.943511] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
I tried looking at a diff of what changed in the source code but there are hundreds of changes since the kernel went from 4.1.x to 4.9.x. If anyone have any suggestions that would be appreciated.