fibocom: Minimum PDP context ID

Sven Schwermer sven at svenschwermer.de
Tue Mar 8 12:15:01 UTC 2022


Hi,

I'm troubleshooting a problem with the Fibocom L610 LTE Cat-1 modem and 
ModemManager 1.18.6. The modem/SIM appears to connect PDP context 0 
automatically. The APN seems to be populated from the SIM. When trying 
to connect, ModemManager searches for the best context. If context 0 
matches our desired configuration (which it did in my case), it will try 
to reuse it. However, +CGACT will not report the status of context 0. 
Neither will +GTRNDIS allow to establish an ECM connection on context 0. 
This confuses ModemManager. Some SIMs seem to allow establishing an 
additional (identical) PDP context (e.g. with context ID 1), some don't. 
The log of the connection attempt follows down below.

I'm wondering if mm_3gpp_profile_list_find_best should restrict the 
returned context ID to be within min_profile_id and max_profile_id. The 
modem reports a minimum of 1 so that would prevent ModemManager to use 
context 0.

Any thoughts are welcome.

Best regards,
Sven


<debug> [modem0] user request to connect modem
<info>  [modem0] simple connect started...
<debug> [modem0]    profile ID: unspecified
<debug> [modem0]    PIN: unspecified
<debug> [modem0]    operator ID: unspecified
<debug> [modem0]    allowed roaming: yes
<debug> [modem0]    APN: internet.lte.cxn
<debug> [modem0]    APN type: unspecified
<debug> [modem0]    IP family: ipv4
<debug> [modem0]    allowed authentication: unspecified
<debug> [modem0]    user: unspecified
<debug> [modem0]    password: unspecified
<debug> [modem0]    multiplex: unspecified
<info>  [modem0] simple connect state (4/8): wait to get fully enabled
<info>  [modem0] simple connect state (5/8): register
<debug> [modem0] already registered automatically in network '24201', 
automatic registration not launched...
<info>  [modem0] simple connect state (6/8): bearer
<debug> [modem0] creating new bearer...
<debug> [modem0] (fibocom) checking +GTRNDIS support...
<debug> [modem0/ttyUSB0/at] device open count is 2 (open)
<debug> [modem0/ttyUSB0/at] --> 'AT+GTRNDIS=?<CR>'
<debug> [modem0/ttyUSB0/at] <-- '<CR><LF>+GTRNDIS: (0,1),(1-7)<CR><LF>'
<debug> [modem0/ttyUSB0/at] <-- '<CR><LF>OK<CR><LF>'
<debug> [modem0] (fibocom) +GTRNDIS supported
<debug> [modem0] (fibocom) +GTRNDIS supported, creating Fibocom ECM bearer
<debug> [modem0/ttyUSB0/at] device open count is 3 (open)
<debug> [modem0/ttyUSB0/at] device open count is 2 (close)
<info>  [modem0] simple connect state (7/8): connect
<debug> [modem0/bearer0] connecting...
<info>  [modem0] state changed (registered -> connecting)
<debug> [modem0/bearer0] launching 3GPP connection attempt
<debug> [modem0] set profile state (1/8): check format
<debug> [modem0/ttyUSB0/at] device open count is 3 (open)
<debug> [modem0/ttyUSB0/at] device open count is 2 (close)
<debug> [modem0] unhandled PDP type in CGDCONT=? reply: 'PPP'
<debug> [modem0] unhandled PDP type in CGDCONT=? reply: 'Non-IP'
<debug> [modem0] +CGDCONT format details for PDP type 'ipv4': minimum 1, 
maximum 7
<debug> [modem0] context definition format: minimum 1, maximum 7
<debug> [modem0] set profile state (2/8): list before
<debug> [modem0/ttyUSB0/at] device open count is 3 (open)
<debug> [modem0/ttyUSB0/at] device open count is 2 (close)
<debug> [modem0/ttyUSB0/at] --> 'AT+CGDCONT?<CR>'
<debug> [modem0/ttyUSB0/at] <-- '<CR><LF>+CGDCONT: 
0,"IP","internet.lte.cxn","10.127.163.234",0,0<CR><LF>'
<debug> [modem0/ttyUSB0/at] <-- '+CGDCONT: 
1,"IP","internet.lte.cxn","0.0.0.0",0,0<CR><LF>'
<debug> [modem0/ttyUSB0/at] <-- '<CR><LF>OK<CR><LF>'
<debug> [modem0] set profile state (3/8): select profile (best)
<debug> [modem0] found exact context at profile 0
<debug> [modem0] reusing profile '0'
<debug> [modem0] set profile state (4/8): check activated profile
<debug> [modem0] checking if profile with id '0' is already activated...
<debug> [modem0/ttyUSB0/at] device open count is 3 (open)
<debug> [modem0/ttyUSB0/at] device open count is 2 (close)
<debug> [modem0/ttyUSB0/at] --> 'AT+CGACT?<CR>'
<debug> [modem0/ttyUSB0/at] <-- '<CR><LF>+CGACT: 1,0<CR><LF>'
<debug> [modem0/ttyUSB0/at] <-- '<CR><LF>OK<CR><LF>'
<debug> [modem0] couldn't check if profile '0' is activated: Profile '0' 
not found in CGACT? response
<debug> [modem0] set profile state (5/8): deactivate profile
<debug> [modem0] deactivating profile with id '0'...
<debug> [modem0/ttyUSB0/at] device open count is 3 (open)
<debug> [modem0/ttyUSB0/at] device open count is 2 (close)
<debug> [modem0/ttyUSB0/at] --> 'AT+CGACT=0,0<CR>'
<debug> [modem0/ttyUSB0/at] <-- '<CR><LF>+CME ERROR: 53<CR><LF>'
<debug> [modem0/ttyUSB0/at] operation failure: 53 (Not attached] restricted)
<debug> [modem0] couldn't deactivate profile with id '0': Not attached] 
restricted
<debug> [modem0] set profile state (6/8): profile already stored
<debug> [modem0] set profile state (8/8): all done


More information about the ModemManager-devel mailing list