QMICLI IPV6 problem on MC7354

Aleksander Morgado aleksander at aleksander.es
Wed Dec 17 23:42:04 PST 2014


On Wed, Dec 17, 2014 at 9:18 PM, Bjørn Mork <bjorn at mork.no> wrote:
> Aleksander Morgado <aleksander at aleksander.es> writes:
>> On Tue, Dec 16, 2014 at 6:36 PM, Bjørn Mork <bjorn at mork.no> wrote:
>>> Aleksander Morgado <aleksander at aleksander.es> writes:
>>>
>>>> I don't think so; the "WDS Start Network" given by qmicli
>>>> --wds-start-network gives just the APN to use, it doesn't give any
>>>> reference to the profile that was set with AT+CGDCONT. If you want to
>>>> use profiles, then qmicli needs to be modified to allow passing the
>>>> profile ID (e.g. a new --wds-start-network-id=[ID]").
>>>
>>> There is always a default profile used for parameters you don't give in
>>> the "WDS Start Network" command.  And because the PDP type is one of
>>> these, you *have* to create a default profile with the IPV4V6 type to
>>> create a successful dual stack connection.  It's just not possible to
>>> specify that PDP type any other way using QMI (AFAIK - it's been a while
>>> since I played with QMI).
>>>
>>> E.g., if I set my default profile like this (not recommended):
>>>
>>> at+cgdcont?
>>> +CGDCONT: 1,"IP","","0.0.0.0",0,0
>>>
>>
>> Humm... how does the modem know that the default profile is that with ID 1?
>
> "WDS Get/Set Default Profile Num".  Getting the 3GPP default profile
> number:
>
>
> sending to /dev/cdc-wdm1:
> 01 11 00 00 01 01 00 04 00 49 00 05 00 01 02 00 00 00
> => QMUX Header:
> =>   len:    0x0011
> =>   sender: 0x00
> =>   svc:    0x01
> =>   cid:    0x01
>
> => QMI Header:
> =>   Flags:  0x00
> =>   TXN:    0x0004
> =>   Cmd:    0x0049
> =>   Size:   0x0005
> => [0x01] ( 2) 00 00    ..
> reading from /dev/cdc-wdm1
> [Wed Dec 17 20:57:22 2014] read 24 bytes from /dev/cdc-wdm1
> 01 17 00 80 01 01 02 04 00 49 00 0b 00 02 04 00 00 00 00 00 01 01 00 01
> <= QMUX Header:
> <=   len:    0x0017
> <=   sender: 0x80
> <=   svc:    0x01
> <=   cid:    0x01
>
> <= QMI Header:
> <=   Flags:  0x02
> <=   TXN:    0x0004
> <=   Cmd:    0x0049
> <=   Size:   0x000b
> <= [0x01] ( 1) 01       .
> <= [0x02] ( 4) 00 00 00 00      SUCCESS - QMI_ERR_NONE
> got match!
>
>> There are QMI commands to change the default settings that QMI will
>> use in Start Network, I'm just not sure how that would apply if using
>> AT+CGDCONT.
>
> Start Network will take its defaults from the referenced profile if that
> TLV is present, or else from the default profile.  But any more specific
> TLV will override the values from the profile.  So setting an APN in the
> Start Network works fine for example.
>
> But the PDP type cannot be overridden AFAIK, because there is no such
> TLV.  The IP family preference TLV can only be either 4 or 6. This isn't
> a PDP type override.  You need to refer to a profile with the wanted PDP
> type.  Or the default profile should be IPV4V6 to allow any type of
> connection.  If supported of course - we have to remember that only LTE
> generation QMI chipsets can do IPV4V6.

That is much clearer, thanks :) Now it all makes sense.

Aside from this, I wonder if there is any other benefit on using
profiles directly instead of specifying APN in Start Network. Other
connection managers using QMI that I've seen, like the Sierra one,
default to use profiles. I don't think it would be a big deal to do
this change both in qmi-network script and in ModemManager, but again,
not sure what the real benefit would be. I guess part of the benefit
could also be the auto-connect settings, but we currently don't make
use of those.

-- 
Aleksander
https://aleksander.es


More information about the libqmi-devel mailing list