problems with QMI dual stack connections from MM - works with qmicli

Bjørn Mork bjorn at mork.no
Fri Apr 23 17:10:12 UTC 2021


Bjørn Mork <bjorn at mork.no> writes:

> But this works:

Except for the minor detail that qmapv5 won't work with the muxing in
qmi_wwan.  Which I believe is fine, as that muxing solution is
deprecated anyway.

But MM still needs to be aware, and change the protocol to qmap when
using the qmi_wwan muxing.

Verified dual-stack connection over qmi_wwan mux:

root at finn:~#  qmicli -p -d /dev/cdc-wdm0 --device-open-sync --wda-set-data-format=ep-type=hsusb,ep-iface-number=4,link-layer-protocol=raw-ip,ul-protocol=qmap,dl-protocol=qmap,dl-max-datagrams=32,dl-datagram-max-size=31744                                   
[/dev/cdc-wdm0] Successfully set data format
                        QoS flow header: no
                    Link layer protocol: 'raw-ip'
       Uplink data aggregation protocol: 'qmap'
     Downlink data aggregation protocol: 'qmap'
                          NDP signature: '0'
Downlink data aggregation max datagrams: '32'
     Downlink data aggregation max size: '31744'
root at finn:~# echo 1 >/sys/class/net/wwan0/qmi/add_mux 
root at finn:~# ifconfig wwan0 up
root at finn:~# ifconfig wwan0 mtu 32333
root at finn:~#  qmicli -p -d /dev/cdc-wdm0 --client-no-release-cid --wds-bind-mux-data-port=mux-id=1,ep-type=hsusb,ep-iface-number=4
[/dev/cdc-wdm0] Client ID not released:
        Service: 'wds'
            CID: '15'
root at finn:~#  qmicli -p -d /dev/cdc-wdm0 --client-no-release-cid --client-cid=15 --wds-set-ip-family=4
[/dev/cdc-wdm0] Client ID not released:
        Service: 'wds'
            CID: '15'
root at finn:~#  qmicli -p -d /dev/cdc-wdm0 --client-no-release-cid --client-cid=15 --wds-start-network=apn=telenor.smart,ip-type=4
[/dev/cdc-wdm0] Network started
        Packet data handle: '4275927056'
[/dev/cdc-wdm0] Client ID not released:
        Service: 'wds'
            CID: '15'
root at finn:~#  qmicli -p -d /dev/cdc-wdm0 --client-no-release-cid --wds-bind-mux-data-port=mux-id=1,ep-type=hsusb,ep-iface-number=4
[/dev/cdc-wdm0] Client ID not released:
        Service: 'wds'
            CID: '16'
root at finn:~# qmicli -p -d /dev/cdc-wdm0 --client-no-release-cid --client-cid=16 --wds-set-ip-family=6
[/dev/cdc-wdm0] Client ID not released:
        Service: 'wds'
            CID: '16'
root at finn:~# qmicli -p -d /dev/cdc-wdm0 --client-no-release-cid --client-cid=16 --wds-start-network=apn=telenor.smart,ip-type=6
[/dev/cdc-wdm0] Network started
        Packet data handle: '4277618480'
[/dev/cdc-wdm0] Client ID not released:
        Service: 'wds'
            CID: '16'
root at finn:~# qmicli -p -d /dev/cdc-wdm0 --client-no-release-cid --client-cid=16 --wds-get-current-settings
[/dev/cdc-wdm0] Current settings retrieved:
           IP Family: IPv6
        IPv6 address: 2a02:2121:286:1ec2:65b9:c9a9:2c9c:4a29/64
IPv6 gateway address: 2a02:2121:286:1ec2:a550:56eb:e806:5a4e/64
    IPv6 primary DNS: 2001:4600:4:fff::52
  IPv6 secondary DNS: 2001:4600:4:1fff::52
                 MTU: 1540
             Domains: none
[/dev/cdc-wdm0] Client ID not released:
        Service: 'wds'
            CID: '16'
root at finn:~# qmicli -p -d /dev/cdc-wdm0 --client-no-release-cid --client-cid=15 --wds-get-current-settings
[/dev/cdc-wdm0] Current settings retrieved:
           IP Family: IPv4
        IPv4 address: 10.205.79.109
    IPv4 subnet mask: 255.255.255.252
IPv4 gateway address: 10.205.79.110
    IPv4 primary DNS: 193.213.112.4
  IPv4 secondary DNS: 130.67.15.198
                 MTU: 1500
             Domains: none
[/dev/cdc-wdm0] Client ID not released:
        Service: 'wds'
            CID: '15'
root at finn:~# ifconfig qmimux0 10.205.79.109 netmask 255.255.255.252 up
root at finn:~# ip addr add  2a02:2121:286:1ec2:65b9:c9a9:2c9c:4a29/64 dev qmimux0
root at finn:~# ip route add 148.122.164.253 dev qmimux0
root at finn:~# ip route add  2001:4600:4:fff::52 dev  qmimux0
root at finn:~# ping  148.122.164.253
PING 148.122.164.253 (148.122.164.253): 56 data bytes
64 bytes from 148.122.164.253: seq=0 ttl=60 time=181.303 ms
64 bytes from 148.122.164.253: seq=1 ttl=60 time=41.434 ms
64 bytes from 148.122.164.253: seq=2 ttl=60 time=41.432 ms
64 bytes from 148.122.164.253: seq=3 ttl=60 time=52.427 ms
^C
--- 148.122.164.253 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 41.432/79.149/181.303 ms


root at finn:~# ping  2001:4600:4:fff::52
PING 2001:4600:4:fff::52 (2001:4600:4:fff::52): 56 data bytes
64 bytes from 2001:4600:4:fff::52: seq=0 ttl=60 time=186.993 ms
64 bytes from 2001:4600:4:fff::52: seq=1 ttl=60 time=41.186 ms
64 bytes from 2001:4600:4:fff::52: seq=2 ttl=60 time=43.383 ms
64 bytes from 2001:4600:4:fff::52: seq=3 ttl=60 time=68.383 ms
^C
--- 2001:4600:4:fff::52 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 41.186/84.986/186.993 ms


More information about the ModemManager-devel mailing list