Problems with CDC_ACM drivers on imx6ull (2.8b5)

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.

hi @msc

First of all, you should update to the Stable Release 2.7, since 2.7b3 is not supported anymore.

Which carrier Board are you using?

Concerning the Issue with Bsp 2.8b5, could you share the dmesg log of Bsp 2.7 and 2.8b5 in files? Did you see any difference (log, errors, …) between Bsp 2.7 and 2.8b5 when you attempt to connect to the Modem?

Best regards, Jaski

Hi @jaski.tx

I did not see any errors, here is the dmesg logs for both the imx6 on 2.7 and the imx6ull on 2.8

I suppose the next step is to see if I can get it working on 2.8b5 on the imx6. Do you have any other suggestions?

you should double check if the same ttyACMx interface number is used, sometimes kernel drivers will change the order between versions. You can also try using ATE1 command first to see if modem gets you messages. You should also double check minicom configuration, especially the flow control and if it uses any init strings that may reconfigure the modem.