QMICLI IPV6 problem on MC7354
Dan Williams
dcbw at redhat.com
Thu Aug 18 16:17:10 UTC 2016
On Thu, 2016-08-18 at 15:56 +0000, Tang Nguyen wrote:
> Hi Dan,
>
> Thanks for your patch. i'll add it in and re-try to see any help.
>
yeah, if you can, try with the patch. Then when you're starting the
network:
# qmicli -d /dev/cdc-wdm1 --wds-start-network="apn=vzwinternet,ip-type=6" --client-no-release-cid
Dan
> I did pass CID to qmicli --wds-get-current-settings commands but both
> reply back with IPv4 only. The second WDS still show IPv4 address
> only as shown below:
>
>
> ----
>
> root at rx1500-lns-33:~# qmicli -d /dev/cdc-wdm1 --wds-start-
> network=vzwinternet --client-no-release-cid
> [/dev/cdc-wdm1] Network started
> Packet data handle: '1137999816'
> [/dev/cdc-wdm1] Client ID not released:
> Service: 'wds'
> CID: '8'
>
> root at rx1500-lns-33:~# qmicli -d /dev/cdc-wdm1 --wds-start-
> network=vzwinternet --client-no-release-cid
> [/dev/cdc-wdm1] Network started
> Packet data handle: '1205626448'
> [/dev/cdc-wdm1] Client ID not released:
> Service: 'wds'
> CID: '9'
>
>
> root at rx1500-lns-33:~# qmicli -d /dev/cdc-wdm1 --wds-get-current-
> settings --client-no-release-cid --client-cid=8
> [/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
> [/dev/cdc-wdm1] Client ID not released:
> Service: 'wds'
> CID: '8'
>
>
>
> root at rx1500-lns-33:~# qmicli -d /dev/cdc-wdm1 --wds-get-current-
> settings --client-no-release-cid --client-cid=9
> [/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
> [/dev/cdc-wdm1] Client ID not released:
> Service: 'wds'
> CID: '9'
>
>
>
>
>
> On Thursday, August 18, 2016 11:14 AM, Dan Williams <dcbw at redhat.com>
> wrote:
> On Thu, 2016-08-18 at 16:39 +0200, Bjørn Mork wrote:
> >
> > 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.
> qmicli has supported returning IPv6 address/gateway/dns since 1.14 in
> commit 543cf5c9.
>
> Dan
>
> >
> >
> > 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
> > _______________________________________________
> > libqmi-devel mailing list
> > libqmi-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/libqmi-devel
> _______________________________________________
> libqmi-devel mailing list
> libqmi-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/libqmi-devel
> _______________________________________________
> libqmi-devel mailing list
> libqmi-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/libqmi-devel
More information about the libqmi-devel
mailing list