Hi, I'm implementing ecm support in telit plugin (baseline: latest main). Somehow modem goes in connect-disconnect loop with a few seconds in between. I'm trying to identify a reason for disconnect and related issues in MM debug log.
Q1. Is a negative value in profile_id (and eventually in index_field_value_str) a legal one? Does a negative value mean uninitialized data in profile context? Coz CGACT output has always positive ctx index: AT+CGACT? +CGACT: 1,1 +CGACT: 3,0 ModemManager[]: <debug> [1661944714.481355] [modem0] set profile state (3/8): select profile (best) ModemManager[]: <debug> [1661944714.481370] [modem0] *found exact context at profile 1* ModemManager[]: <debug> [1661944714.481375] [modem0] *reusing profile '1'* ModemManager[]: <debug> [1661944714.481379] [modem0] set profile state (4/8): check activated profile ModemManager[]: <debug> [1661944714.481390] [modem0] checking if profile with id '1' is already activated... ModemManager[]: <debug> [1661944714.481402] [ttyUSB1/at] device open count is 4 (open) ModemManager[]: <debug> [1661944714.481418] [ttyUSB1/at] device open count is 3 (close) ModemManager[]: <debug> [1661944714.481436] [ttyUSB1/at] --> 'AT+CGACT?<CR>' ModemManager[]: <debug> [1661944714.518369] [ttyUSB1/at] <-- '<CR><LF>+CGACT: 1,1<CR><LF>+CGACT: 3,0<CR><LF><CR><LF>OK<CR><LF>' ModemManager[]: <debug> [1661944714.518463] [modem0] *profile '-1' is activated* ModemManager[]: <debug> [1661944714.518479] [modem0] set profile state (5/8): deactivate profile ModemManager[]: <debug> [1661944714.518488] [modem0] *deactivating profile with id '1'*... ModemManager[]: <debug> [1661944714.518502] [ttyUSB1/at] device open count is 4 (open) ModemManager[]: <debug> [1661944714.518519] [ttyUSB1/at] device open count is 3 (close) ModemManager[]: <debug> [1661944714.518540] [ttyUSB1/at] --> 'AT+CGACT=0,1<CR>' ModemManager[]: <debug> [1661944714.561517] [ttyUSB1/at] <-- '<CR><LF>OK<CR><LF>' ModemManager[]: <debug> [1661944714.561599] [modem0] *deactivated profile '-1'* ModemManager[]: <debug> [1661944714.561610] [modem0] set profile state (6/8): profile already stored ModemManager[]: <debug> [1661944714.561616] [modem0] set profile state (8/8): all done ModemManager[]: <debug> [1661944714.561639] [modem0/bearer0] (shared-telit) ECM: selecting NW interface as a data port ModemManager[]: <debug> [1661944714.561664] [ttyUSB1/at] device open count is 2 (close) ModemManager[]: <debug> [1661944714.561700] *[modem0/wwan0/net] port now connected* ModemManager[]: <debug> [1661944714.561707] *[modem0/bearer0] connected* ModemManager[]: <info> [1661944714.561776] [modem0] state changed (connecting -> connected) ModemManager[]: <info> [1661944714.562088] [modem0] simple connect state (10/10): all done ModemManager[]: <debug> [1661944730.307060] [modem0] *user request to disconnect modem* (all bearers) Q2: Since no mmcli or any other human input was used, what the phrase "user request to disconnect modem*"* really mean? Could internal MM logic be considered as "user input"? Q3. Will MM always tear down existing pdp context instead of reusing it? (even if all parameters are the same) Q4: If answer to Q3 is yes, is there a way to force MM always reusing existing pdp context? (at least as a private patch) Regards, Alexey