Hello! The current MM scheme where it will tries IPV4V6 by default, and falls back to IPV4 and then IPV6 works pretty well.
But I've been looking at the other end of this the last few days. And been puzzled by the fact that we get a session established on the first IPv4V6 attempt, which is then immediately disconnected with RADIUS reporting Acct-Terminate-Cause = User-Request I obviously never considered that the error could be on the ModemManager client side :-) Thought we had something wrong in the APN config on the PGW. Then I just tried establishing sessions with mbimcli, and noticed that this works just fine both with IpType set to either 'default' or 'ipv4v6'. We get a 'connect-done' message with ActivationState = 'activated' and IpType = 'ipv4' in both cases. The problem seesm to be that the 'connect-done' also sets NwError = '50' ('pdp-type-ipv4-only-allowed'), which is correct. I assume this is what makes MM disconnect the session and retry with a new ipv4 only bearer. This is suboptimal both from the client and network side. It would be really nice if MM could just be happy with that 'activated' state. I am not even sure it should change the bearer from ipv4v6 to ipv4 when the 'connect-don'e comes back with IpType = 'ipv4'. If that is even possible? The APN might (and in this case - will ) change to dual stack in the future. Continuing to request ipv4v6, but accept ipv4, is the correct thing to do. Connecting with IpType = 'default': [06 Sep 2020, 10:37:55] [Debug] [/dev/cdc-wdm0] Sent message... <<<<<< RAW: <<<<<< length = 132 <<<<<< data = 03:00:00:00:84:00:00:00:2B:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0C:00:00:00:01:00:00:00:54:00:00:00:01:00:00:00:01:00:00:00:3C:00:00:00:16:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:7E:5E:2A:7E:4E:6F:72:72:73:6B:65:6E:7E:5E:2A:7E:74:00:65:00:6C:00:65:00:6E:00:6F:00:72:00:2E:00:78:00:78:00:78:00:00:00 [06 Sep 2020, 10:37:55] [Debug] [/dev/cdc-wdm0] Sent message (translated)... <<<<<< Header: <<<<<< length = 132 <<<<<< type = command (0x00000003) <<<<<< transaction = 43 <<<<<< Fragment header: <<<<<< total = 1 <<<<<< current = 0 <<<<<< Contents: <<<<<< service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df) <<<<<< cid = 'connect' (0x0000000c) <<<<<< type = 'set' (0x00000001) <<<<<< Fields: <<<<<< SessionId = '1' <<<<<< ActivationCommand = 'activate' <<<<<< AccessString = 'telenor.xxx' <<<<<< UserName = '(null)' <<<<<< Password = '(null)' <<<<<< Compression = 'none' <<<<<< AuthProtocol = 'none' <<<<<< IpType = 'default' <<<<<< ContextType = '7e5e2a7e-4e6f-7272-736b-656e7e5e2a7e' [06 Sep 2020, 10:37:55] [Debug] [/dev/cdc-wdm0] Received message... >>>>>> RAW: >>>>>> length = 80 >>>>>> data = >>>>>> 07:00:00:80:50:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0C:00:00:00:24:00:00:00:01:00:00:00:02:00:00:00:00:00:00:00:00:00:00:00:7E:5E:2A:7E:4E:6F:72:72:73:6B:65:6E:7E:5E:2A:7E:00:00:00:00 [06 Sep 2020, 10:37:55] [Debug] [/dev/cdc-wdm0] Received message (translated)... >>>>>> Header: >>>>>> length = 80 >>>>>> type = indicate-status (0x80000007) >>>>>> transaction = 0 >>>>>> Fragment header: >>>>>> total = 1 >>>>>> current = 0 >>>>>> Contents: >>>>>> service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df) >>>>>> cid = 'connect' (0x0000000c) >>>>>> Fields: >>>>>> SessionId = '1' >>>>>> ActivationState = 'activating' >>>>>> VoiceCallState = 'none' >>>>>> IpType = 'default' >>>>>> ContextType = '7e5e2a7e-4e6f-7272-736b-656e7e5e2a7e' >>>>>> NwError = '0' [06 Sep 2020, 10:37:55] [Debug] [/dev/cdc-wdm0] Received message... >>>>>> RAW: >>>>>> length = 84 >>>>>> data = >>>>>> 03:00:00:80:54:00:00:00:2B:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0C:00:00:00:00:00:00:00:24:00:00:00:01:00:00:00:01:00:00:00:00:00:00:00:01:00:00:00:7E:5E:2A:7E:4E:6F:72:72:73:6B:65:6E:7E:5E:2A:7E:32:00:00:00 [06 Sep 2020, 10:37:55] [Debug] [/dev/cdc-wdm0] Received message (translated)... >>>>>> Header: >>>>>> length = 84 >>>>>> type = command-done (0x80000003) >>>>>> transaction = 43 >>>>>> Fragment header: >>>>>> total = 1 >>>>>> current = 0 >>>>>> Contents: >>>>>> status error = 'None' (0x00000000) >>>>>> service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df) >>>>>> cid = 'connect' (0x0000000c) >>>>>> Fields: >>>>>> SessionId = '1' >>>>>> ActivationState = 'activated' >>>>>> VoiceCallState = 'none' >>>>>> IpType = 'ipv4' >>>>>> ContextType = '7e5e2a7e-4e6f-7272-736b-656e7e5e2a7e' >>>>>> NwError = '50' [/dev/cdc-wdm0] Successfully connected [/dev/cdc-wdm0] Connection status: Session ID: '1' Activation state: 'activated' Voice call state: 'none' IP type: 'ipv4' Context type: 'internet' Network error: 'pdp-type-ipv4-only-allowed' Connecting with IpType = ''ipv4v6': [06 Sep 2020, 10:41:11] [Debug] [/dev/cdc-wdm0] Sent message... <<<<<< RAW: <<<<<< length = 132 <<<<<< data = 03:00:00:00:84:00:00:00:2B:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0C:00:00:00:01:00:00:00:54:00:00:00:01:00:00:00:01:00:00:00:3C:00:00:00:16:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:03:00:00:00:7E:5E:2A:7E:4E:6F:72:72:73:6B:65:6E:7E:5E:2A:7E:74:00:65:00:6C:00:65:00:6E:00:6F:00:72:00:2E:00:78:00:78:00:78:00:00:00 [06 Sep 2020, 10:41:11] [Debug] [/dev/cdc-wdm0] Sent message (translated)... <<<<<< Header: <<<<<< length = 132 <<<<<< type = command (0x00000003) <<<<<< transaction = 43 <<<<<< Fragment header: <<<<<< total = 1 <<<<<< current = 0 <<<<<< Contents: <<<<<< service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df) <<<<<< cid = 'connect' (0x0000000c) <<<<<< type = 'set' (0x00000001) <<<<<< Fields: <<<<<< SessionId = '1' <<<<<< ActivationCommand = 'activate' <<<<<< AccessString = 'telenor.xxx' <<<<<< UserName = '(null)' <<<<<< Password = '(null)' <<<<<< Compression = 'none' <<<<<< AuthProtocol = 'none' <<<<<< IpType = 'ipv4v6' <<<<<< ContextType = '7e5e2a7e-4e6f-7272-736b-656e7e5e2a7e' [06 Sep 2020, 10:41:11] [Debug] [/dev/cdc-wdm0] Received message... >>>>>> RAW: >>>>>> length = 80 >>>>>> data = >>>>>> 07:00:00:80:50:00:00:00:00:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0C:00:00:00:24:00:00:00:01:00:00:00:02:00:00:00:00:00:00:00:03:00:00:00:7E:5E:2A:7E:4E:6F:72:72:73:6B:65:6E:7E:5E:2A:7E:00:00:00:00 [06 Sep 2020, 10:41:11] [Debug] [/dev/cdc-wdm0] Received message (translated)... >>>>>> Header: >>>>>> length = 80 >>>>>> type = indicate-status (0x80000007) >>>>>> transaction = 0 >>>>>> Fragment header: >>>>>> total = 1 >>>>>> current = 0 >>>>>> Contents: >>>>>> service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df) >>>>>> cid = 'connect' (0x0000000c) >>>>>> Fields: >>>>>> SessionId = '1' >>>>>> ActivationState = 'activating' >>>>>> VoiceCallState = 'none' >>>>>> IpType = 'ipv4v6' >>>>>> ContextType = '7e5e2a7e-4e6f-7272-736b-656e7e5e2a7e' >>>>>> NwError = '0' [06 Sep 2020, 10:41:11] [Debug] [/dev/cdc-wdm0] Received message... >>>>>> RAW: >>>>>> length = 84 >>>>>> data = >>>>>> 03:00:00:80:54:00:00:00:2B:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:0C:00:00:00:00:00:00:00:24:00:00:00:01:00:00:00:01:00:00:00:00:00:00:00:01:00:00:00:7E:5E:2A:7E:4E:6F:72:72:73:6B:65:6E:7E:5E:2A:7E:32:00:00:00 [06 Sep 2020, 10:41:11] [Debug] [/dev/cdc-wdm0] Received message (translated)... >>>>>> Header: >>>>>> length = 84 >>>>>> type = command-done (0x80000003) >>>>>> transaction = 43 >>>>>> Fragment header: >>>>>> total = 1 >>>>>> current = 0 >>>>>> Contents: >>>>>> status error = 'None' (0x00000000) >>>>>> service = 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6df) >>>>>> cid = 'connect' (0x0000000c) >>>>>> Fields: >>>>>> SessionId = '1' >>>>>> ActivationState = 'activated' >>>>>> VoiceCallState = 'none' >>>>>> IpType = 'ipv4' >>>>>> ContextType = '7e5e2a7e-4e6f-7272-736b-656e7e5e2a7e' >>>>>> NwError = '50' [/dev/cdc-wdm0] Successfully connected [/dev/cdc-wdm0] Connection status: Session ID: '1' Activation state: 'activated' Voice call state: 'none' IP type: 'ipv4' Context type: 'internet' Network error: 'pdp-type-ipv4-only-allowed' Bjørn _______________________________________________ ModemManager-devel mailing list ModemManager-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel