QMICLI IPV6 problem on MC7354

Bjørn Mork bjorn at mork.no
Tue Dec 16 09:36:25 PST 2014


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

OK

and initiate an IPv4 QMI connection, then this is what I get:

sending to /dev/cdc-wdm1:
01 0c 00 00 01 0d 00 02 00 2d 00 00 00 
=> QMUX Header:
=>   len:    0x000c
=>   sender: 0x00
=>   svc:    0x01
=>   cid:    0x0d

=> QMI Header:
=>   Flags:  0x00
=>   TXN:    0x0002
=>   Cmd:    0x002d
=>   Size:   0x0000
reading from /dev/cdc-wdm1
[Tue Dec 16 18:21:32 2014] read 143 bytes from /dev/cdc-wdm1
01 8e 00 80 01 0d 02 02 00 2d 00 82 00 02 04 00 00 00 00 00 1e 04 00 66 a8 7d 0a 15 04 00 04 70 d5 c1 16 04 00 c6 0f 43 82 20 04 00 65 a8 7d 0a 21 04 00 fc ff ff ff 24 01 00 00 23 01 00 00 1f 02 00 00 01 10 08 00 70 72 6f 66 69 6c 65 31 11 01 00 00 14 0d 00 74 65 6c 65 6e 6f 72 2e 73 6d 61 72 74 1d 01 00 00 17 21 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 00 00 00 22 01 00 00 
<= QMUX Header:
<=   len:    0x008e
<=   sender: 0x80
<=   svc:    0x01
<=   cid:    0x0d

<= QMI Header:
<=   Flags:  0x02
<=   TXN:    0x0002
<=   Cmd:    0x002d
<=   Size:   0x0082
<= [0x02] ( 4) 00 00 00 00      SUCCESS - QMI_ERR_NONE
<= [0x10] ( 8) 70 72 6f 66 69 6c 65 31  profile1
<= [0x11] ( 1) 00       PDP-IP (IPv4)
<= [0x14] (13) 74 65 6c 65 6e 6f 72 2e 73 6d 61 72 74   telenor.smart
<= [0x15] ( 4) 04 70 d5 c1      193.213.112.4
<= [0x16] ( 4) c6 0f 43 82      130.67.15.198
<= [0x17] (33) 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 00 00      .................................
<= [0x1d] ( 1) 00       .
<= [0x1e] ( 4) 66 a8 7d 0a      10.125.168.102
<= [0x1f] ( 2) 00 01    ..
<= [0x20] ( 4) 65 a8 7d 0a      10.125.168.101
<= [0x21] ( 4) fc ff ff ff      255.255.255.252
<= [0x22] ( 1) 00       .
<= [0x23] ( 1) 00       .
<= [0x24] ( 1) 00       .


Notice the 'PDP-IP' type.  This makes it impossible to continue creating
a dual stack connection.  But if I change the default profile to this:

at+cgdcont?
+CGDCONT: 1,"IPV4V6","","0.0.0.0",0,0

OK

and connect using the exact same QMI command and APN I used for the
previous connection (i.e. no IPv6 mentioned anywhere), then I get this
result:

sending to /dev/cdc-wdm1:
01 0c 00 00 01 10 00 04 00 2d 00 00 00 
=> QMUX Header:
=>   len:    0x000c
=>   sender: 0x00
=>   svc:    0x01
=>   cid:    0x10

=> QMI Header:
=>   Flags:  0x00
=>   TXN:    0x0004
=>   Cmd:    0x002d
=>   Size:   0x0000
reading from /dev/cdc-wdm1
[Tue Dec 16 18:24:10 2014] read 143 bytes from /dev/cdc-wdm1
01 8e 00 80 01 10 02 04 00 2d 00 82 00 02 04 00 00 00 00 00 1e 04 00 31 83 7d 0a 15 04 00 04 70 d5 c1 16 04 00 c6 0f 43 82 20 04 00 32 83 7d 0a 21 04 00 fc ff ff ff 24 01 00 00 23 01 00 00 1f 02 00 00 01 10 08 00 70 72 6f 66 69 6c 65 31 11 01 00 03 14 0d 00 74 65 6c 65 6e 6f 72 2e 73 6d 61 72 74 1d 01 00 00 17 21 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 00 00 00 22 01 00 00 
<= QMUX Header:
<=   len:    0x008e
<=   sender: 0x80
<=   svc:    0x01
<=   cid:    0x10

<= QMI Header:
<=   Flags:  0x02
<=   TXN:    0x0004
<=   Cmd:    0x002d
<=   Size:   0x0082
<= [0x02] ( 4) 00 00 00 00      SUCCESS - QMI_ERR_NONE
<= [0x10] ( 8) 70 72 6f 66 69 6c 65 31  profile1
<= [0x11] ( 1) 03       PDP-IPV4V6
<= [0x14] (13) 74 65 6c 65 6e 6f 72 2e 73 6d 61 72 74   telenor.smart
<= [0x15] ( 4) 04 70 d5 c1      193.213.112.4
<= [0x16] ( 4) c6 0f 43 82      130.67.15.198
<= [0x17] (33) 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 00 00      .................................
<= [0x1d] ( 1) 00       .
<= [0x1e] ( 4) 31 83 7d 0a      10.125.131.49
<= [0x1f] ( 2) 00 01    ..
<= [0x20] ( 4) 32 83 7d 0a      10.125.131.50
<= [0x21] ( 4) fc ff ff ff      255.255.255.252
<= [0x22] ( 1) 00       .
<= [0x23] ( 1) 00       .
<= [0x24] ( 1) 00       .


Notice the 'PDP-IPV4V6' type.  I can now continue connecting, using the
same APN and IPv6 with a second WDS client, to create a dual stack
connection.

The procedure to set up a dual stack QMI connection is:

1) Set the default profile PDP type to "IPV4V6"
2) connect IPv4 WDS client
3) connect IPv6 WDS client using the same APN


But as I said before: There are really good reasons why the default
should always be set to "IPV4V6".  It is the only setting that will work
on every network.


Bjørn


More information about the libqmi-devel mailing list