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