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

Reply via email to