QMICLI IPV6 problem on MC7354

Bjørn Mork bjorn at mork.no
Thu Aug 18 14:39:13 UTC 2016


I think qmicli support for that is "patches welcome" :)

Should not be very much work, since the libqmi support is already there.
It's just boring... and not too useful for "normal" use cases, where MM
will deal with all this.


Bjørn

Tang Nguyen <tang_nguyen at yahoo.com> writes:

> Yeah, option --wds-set-ip-family is what I wish but unfortunately it is not available on libqmi version 1.14.2.
> Do you think the version 1.16.0 would support it ?  if not, do we have any plan to add on ? I think it is quite useful option though.
>
>
> Yes, i did set ipv4v6 to PDP#3 context, and using it to create 2 wds sessions as you suggested in another thread.
> I got 2 packet handlers and 2 CIDs after creating 2 wds sessions, but still not able to get global ipv6 address.
>
> qmicli command with option --wds-get-current-settings just show ipv4 address.
>
> root at rx1500-lns-33:~# qmicli -d /dev/cdc-wdm1 --wds-get-current-settings
> [/dev/cdc-wdm1] Current settings retrieved:
>              IP Family: IPv4
>           IPv4 address: 172.22.1.101
>       IPv4 subnet mask: 255.255.255.252
>    IPv4 gateway address: 172.22.1.102
>       IPv4 primary DNS: 172.22.1.201
>                    MTU: 1428
>                Domains: none
>
>
> Seems like libqmi does not send request to modem for ipv6 address, so the wwanX interface can't get ipv6 address.
>
> --tang
>
> On Thursday, August 18, 2016 10:15 AM, Bjørn Mork <bjorn at mork.no> wrote:
> Tang Nguyen <tang_nguyen at yahoo.com> writes:
>
>> You are right. Verizon network requires 2 PDP context from modem to
>> connect to their network. By factory default, Sierra program PDP#1 as
>> vzwims, and PDP#3 as vzwinternet.  To establish the data call,
>> application sends request with PDP#3 to get ip address from network.
>>
>> Since I am using R&S CMW500 callbox, so the APN is not a matter.  On
>> Call box, I saw 2 PDP context is activated, one is for vzwims and
>> other is vzwinternet.  AT command replies with PDP#1 information.
>
> Ah, OK.
>
> IIUC, what you wanted was to have a dual-stack connection to one of
> these.  Or rather, to use the dual-stack connection you already have
> established.
>
> To do that with QMI you have to establish two WDS sessions referring to
> the *same* PDP context, which of course has to be IPV4V6.  This doesn't
> actually establish two connections, but is simply the way Qualcomm chose
> to map dual-stack contexts in QMI.  To get both IPv4 and IPv6 settings,
> you need to run --wds-get-current-settings twice as well, carefully
> using the CIDs associated with the IPv4 or IPv6 part of the connection.
>
> But you also need to set the wanted IP family for each --wds-start-network
> call, which I don't think is supported by qmicli yet?
>
> The whole procedure would be something like this, if --wds-set-ip-family
> had existed:
>
>   qmicli -d /dev/cdc-wdm0 --wds-set-ip-family=4 --client-no-release-cid
>   [/dev/cdc-wdm0] Client ID not released:
>   Service: 'wds'
>   CID: 'x'
>   
>   qmicli -d /dev/cdc-wdm0 --wds-start-network=vzwinternet --client-no-release-cid  --client-cid=x
>   => IPv4 handle
>
>   qmicli -d /dev/cdc-wdm0 --wds-set-ip-family=6 --client-no-release-cid
>   [/dev/cdc-wdm0] Client ID not released:
>   Service: 'wds'
>   CID: 'y'
>   
>   qmicli -d /dev/cdc-wdm0 --wds-start-network=vzwinternet --client-no-release-cid  --client-cid=y
>   => IPv6 handle
>   
>   qmicli -d /dev/cdc-wdm0 --wds-get-current-settings --client-no-release-cid  --client-cid=x
>   => IPv4 settings
>   
>   qmicli -d /dev/cdc-wdm0 --wds-get-current-settings --client-no-release-cid  --client-cid=y
>   => IPv6 settings
>
>
> I believe this is what MM implements for QMI dual-stack.
>
>
>
>
>
> Bjørn


More information about the libqmi-devel mailing list