Issues with IPv4v6 and IPv6 on openwrt with a Quectel EG06-E

Bjørn Mork bjorn at mork.no
Thu Nov 7 20:34:41 UTC 2019


Aleksander Morgado <aleksander at aleksander.es> writes:

> Hey Thomas, Bjørn and all,
>
> I'm trying to test IPv4v6 and IPv6 using a Quectel EG06-E, which runs
> in QMI mode. This is in OpenWRT, using this branch that I'm working
> on:
> https://github.com/aleksander0m/openwrt-packages/commit/b5805c3e1d2965662d2fe16aa80140a242339abd
> (BTW, any additional test with that branch would be very welcome)
>
> When I fire up the connection through ModemManager, the logic will
> create separate WDS clients for the IPv4 and IPv6 "start network"
> commands (only one IPv6 client in case of IPv6 only).
>
> What I see in the logs is that the "start network" command for the
> IPv4 part works successfully, but the one for the IPv6 part returns a
> "NoEffect" error.
>
> <<<<<< QMUX:
> <<<<<<   length  = 26
> <<<<<<   flags   = 0x80
> <<<<<<   service = "wds"
> <<<<<<   client  = 20
> <<<<<< QMI:
> <<<<<<   flags       = "response"
> <<<<<<   transaction = 3
> <<<<<<   tlv_length  = 14
> <<<<<<   message     = "Start Network" (0x0020)
> <<<<<< TLV:
> <<<<<<   type       = "Result" (0x02)
> <<<<<<   length     = 4
> <<<<<<   value      = 01:00:1A:00
> <<<<<<   translated = FAILURE: NoEffect
>
> In the logic of MM, a "NoEffect" error is treated as no error, so the
> logic goes on and tries to "WDS Get Current Settings" with the IPv6
> client, and that one fails with an OutOfCall error.
>
> <<<<<< QMUX:
> <<<<<<   length  = 19
> <<<<<<   flags   = 0x80
> <<<<<<   service = "wds"
> <<<<<<   client  = 20
> <<<<<< QMI:
> <<<<<<   flags       = "response"
> <<<<<<   transaction = 4
> <<<<<<   tlv_length  = 7
> <<<<<<   message     = "Get Current Settings" (0x002D)
> <<<<<< TLV:
> <<<<<<   type       = "Result" (0x02)
> <<<<<<   length     = 4
> <<<<<<   value      = 01:00:0F:00
> <<<<<<   translated = FAILURE: OutOfCall
>
> Does anyone have any idea what could be happening here?
> These tests are using the "data.tre.dk" APN in Denmark.


autoconnect is disabled?  You do use the proper ip-family TLV and/or WDS
request for this firmware version?  Maybe some weird interaction with
the default bearer?

Or short version:  I have absolutely no idea.

Provoked by all you hard work here, I finally got my act together and
connected a modem to an OpenWrt router.  For the first time ever :-)

I though I should test your dual-stack branch, but I couldn't figure out
how to properly configure the interface.  What I've got is this:

config interface 'mm'
        option device '/sys/devices/platform/soc/soc:pcie at 82000000/pci0000:00/0000:00:01.0/0000:01:00.0/usb3/3-2'
        option proto 'modemmanager'
        option apn 'telenor.smart'
        option pincode '1234'
        option iptype 'ipv4v6'


But I only get this "NO_DEVICE" error:

root at wrt1900ac-1:/etc/config# ifstatus mm
{
        "up": false,
        "pending": false,
        "available": false,
        "autostart": true,
        "dynamic": false,
        "proto": "modemmanager",
        "data": {

        },
        "errors": [
                {
                        "subsystem": "interface",
                        "code": "NO_DEVICE"
                }
        ]
}


Maybe because I didn't bother to reboot this router, so there is some
setup I was missing?

Well, the good news is that I have no problems making a dual-stack
connection by using mmcli directly:


root at wrt1900ac-1:/etc/config# mmcli -m 2
  -----------------------------
  General  |         dbus path: /org/freedesktop/ModemManager1/Modem/2
           |         device id: a3fae1362318a2c2345da91ce9fb3d3772060a4f
  -----------------------------
  Hardware |      manufacturer: Sierra Wireless, Incorporated
           |             model: EM7565
           | firmware revision: SWI9X50C_01.09.04.00 6d3218 jenkins 2019/02/26 20:33:22
           |    carrier config: default
           |      h/w revision: 10001
           |         supported: gsm-umts, lte
           |           current: gsm-umts, lte
           |      equipment id: 359260080103515
  -----------------------------
  System   |            device: /sys/devices/platform/soc/soc:pcie at 82000000/pci0000:00/0000:00:01.0/0000:01:00.0/usb3/3-2
           |           drivers: qcserial, qmi_wwan
           |            plugin: Sierra
           |      primary port: cdc-wdm0
           |             ports: cdc-wdm0 (qmi), wwan0 (net)
  -----------------------------
  Status   |              lock: sim-pin2
           |    unlock retries: sim-pin (3), sim-pin2 (2), sim-puk (10), sim-puk2 (10)
           |             state: disabled
           |       power state: on
           |    signal quality: 0% (cached)
  -----------------------------
  Modes    |         supported: allowed: 3g; preferred: none
           |                    allowed: 4g; preferred: none
           |                    allowed: 3g, 4g; preferred: 3g
           |                    allowed: 3g, 4g; preferred: 4g
           |           current: allowed: 2g, 3g, 4g; preferred: 4g
  -----------------------------
  Bands    |         supported: utran-1, utran-3, utran-4, utran-6, utran-5, utran-8, 
           |                    utran-9, utran-2, eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, 
           |                    eutran-7, eutran-8, eutran-9, eutran-12, eutran-13, eutran-18, 
           |                    eutran-19, eutran-20, eutran-26, eutran-28, eutran-29, eutran-30, 
           |                    eutran-32, eutran-41, eutran-42, eutran-43, eutran-46, eutran-48, 
           |                    eutran-66, utran-19
           |           current: utran-1, utran-3, utran-4, utran-6, utran-5, utran-8, 
           |                    utran-9, utran-2, eutran-1, eutran-2, eutran-3, eutran-4, eutran-5, 
           |                    eutran-7, eutran-8, eutran-9, eutran-12, eutran-13, eutran-18, 
           |                    eutran-19, eutran-20, eutran-26, eutran-28, eutran-29, eutran-30, 
           |                    eutran-32, eutran-41, eutran-42, eutran-43, eutran-46, eutran-48, 
           |                    eutran-66, utran-19
  -----------------------------
  IP       |         supported: ipv4, ipv6, ipv4v6
  -----------------------------
  3GPP     |              imei: 359260080103515
  -----------------------------
  SIM      |         dbus path: /org/freedesktop/ModemManager1/SIM/2

root at wrt1900ac-1:/etc/config# mmcli -m 2 --simple-connect="apn=telenor.smart,ip-type=ipv4v6"
successfully connected the modem

root at wrt1900ac-1:/etc/config# mmcli -b 0
  --------------------------------
  General            |  dbus path: /org/freedesktop/ModemManager1/Bearer/0
                     |       type: default
  --------------------------------
  Status             |  connected: yes
                     |  suspended: no
                     |  interface: wwan0
                     | ip timeout: 20
  --------------------------------
  Properties         |        apn: telenor.smart
                     |    roaming: allowed
                     |    ip type: ipv4v6
  --------------------------------
  IPv4 configuration |     method: static
                     |    address: 10.193.92.5
                     |     prefix: 30
                     |    gateway: 10.193.92.6
                     |        dns: 193.213.112.4, 130.67.15.198
                     |        mtu: 1500
  --------------------------------
  IPv6 configuration |     method: static
                     |    address: 2a02:2121:282:b9c0:2915:dea7:6ac9:b9a9
                     |     prefix: 64
                     |    gateway: 2a02:2121:282:b9c0:e94c:b7b2:5a2d:422b
                     |        dns: 2001:4600:4:fff::52, 2001:4600:4:1fff::52
                     |        mtu: 1540

root at wrt1900ac-1:/etc/config# ip addr add  10.193.92.5/30 dev wwan0
root at wrt1900ac-1:/etc/config# ip addr add   2a02:2121:282:b9c0:2915:dea7:6ac9:b9a9/64 dev wwan0
root at wrt1900ac-1:/etc/config# ip link set wwan0 up

root at wrt1900ac-1:/etc/config# ip route add 8.8.8.8 dev wwan0
root at wrt1900ac-1:/etc/config# traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 38 byte packets
 1  77.16.1.145.tmi.telenormobil.no (77.16.1.145)  149.505 ms  22.958 ms  13.762 ms
 2  10.67.125.162 (10.67.125.162)  25.679 ms  14.818 ms  24.812 ms
 3  ti0275a400-ae12-21.ti.telenor.net (193.213.177.137)  14.647 ms  18.229 ms  14.782 ms
 4  ti0275c360-ae14-0.ti.telenor.net (146.172.101.93)  31.781 ms  33.357 ms  23.776 ms
 5  ti3001c360-ae3-0.ti.telenor.net (146.172.14.150)  20.664 ms  46.252 ms  22.986 ms
 6  ti3001b400-ae4-0.ti.telenor.net (146.172.105.29)  34.380 ms  33.140 ms  24.831 ms
 7  148.122.10.70 (148.122.10.70)  23.570 ms  33.152 ms  34.728 ms
 8^C

root at wrt1900ac-1:/etc/config# ip route add 2001:4860:4860::8888 dev wwan0
root at wrt1900ac-1:/etc/config# traceroute  2001:4860:4860::8888 
traceroute to 2001:4860:4860::8888 (2001:4860:4860::8888), 30 hops max, 64 byte packets
 1  2a02:2121:282:b9c0:0:35:1e12:1040 (2a02:2121:282:b9c0:0:35:1e12:1040)  38.096 ms  21.183 ms  20.737 ms
 2  *  *  *
 3  2a02:2120::1000:0:0:31 (2a02:2120::1000:0:0:31)  50.232 ms  43.362 ms  21.804 ms
 4  ti280841735j370-ae1-20.ti.telenor.net (2001:4600:a:101::bc6)  23.963 ms  15.840 ms  20.931 ms
 5  ti0275a400-ae12-21.ti.telenor.net (2001:4600:9:500:1::f5)  24.996 ms  16.855 ms  24.795 ms
 6  ti0275c360-lo0-0.ti.telenor.net (2001:4600:0:100::2)  31.666 ms  22.532 ms  28.780 ms
 7  ti3001c360-lo0-0.ti.telenor.net (2001:4600:0:100::a)  43.587 ms  23.807 ms  29.823 ms
 8  ti3001b400-lo0-0.ti.telenor.net (2001:4600::11)  29.619 ms  22.509 ms  30.802 ms
 9  2001:4600:10::13e (2001:4600:10::13e)  28.664 ms  19.780 ms  38.777 ms
10  2a00:1450:804f::1 (2a00:1450:804f::1)  30.649 ms  *  59.663 ms
11  dns.google (2001:4860:4860::8888)  29.561 ms  32.225 ms  29.796 ms


So this part is looking good, including MMs ability to create a QMI
dual-stack connection.  Now I only have to figure out how to tweak the
UCI settings to properly test your proto fixes.



Bjørn


More information about the libqmi-devel mailing list