Simtech in AT-command mode does not CONNECT
I'm using modemmanager 1.10.0-1 (from debian buster/10). I've rebuilt it with --disable-qmi to explicitly use the AT command mode of modemmanager. (Apparently using any broadband modem on a raspberry pi or anything that uses the same usb controller on a mainline linux kernel is well known to cause kernel panics.) I've tested on a Simtech SIM7600E modem (but also have access to a SIM7100E and will test shortly if the issues are the same there which I expect them to be).
The problem I'm seeing is that there's no data connection successfully established. Running ModemManager in debug mode and looking at the logs it seemed like there was never any CONNECT string appearing after ATD.... I manually entered the same (roughly 100) AT commands that was sent by MM in a terminal to the modem and could reproduce the problem. Bisecting the AT commands it boiled down to the AT+CMER=3,0,0,1
command causing the ATD*99***3#
command to not return CONNECT 115200
. Skipping the AT+CMER=3,0,0,1
command while still issuing all the other ~100 commands made everything work as expected.
I noticed that neither the AT+CIND
nor the AT+CMER
commands are documented in the Simtech AT command documentation1, so I guess that means they are not "officially supported" even though the modem claims to support them when probed.
Another workaround is to just issue AT+CMER=0,0,0,0
before ATD (and after AT+CMER=3,0,0,1) command is issued. This also works around the problem.
I did a quick hack and verified ModemManager could successfully connect with this workaround.