IPv6 support in the openwrt protocol handler

Nick B nickberry17 at icloud.com
Tue Nov 12 12:12:21 UTC 2019


Hey,

Testing with EM7565 on OpenWrt master, working great!  Thank you! 


root at OpenWrt:~# mmcli -b 1
 --------------------------------
 General            |  dbus path: /org/freedesktop/ModemManager1/Bearer/1
                    |       type: default
 --------------------------------
 Status             |  connected: yes
                    |  suspended: no
                    |  interface: wwan0
                    | ip timeout: 20
 --------------------------------
 Properties         |        apn: telstra.internet
                    |    roaming: allowed
                    |    ip type: ipv4
 --------------------------------
 IPv4 configuration |     method: static
                    |    address: 10.94.21.22
                    |     prefix: 30
                    |    gateway: 10.94.21.21
                    |        dns: 10.5.136.242, 10.4.58.204
                    |        mtu: 1500
 --------------------------------
 Statistics         |   bytes rx: 432
                    |   bytes tx: 9418583


root at OpenWrt:~# mmcli -b 1
 --------------------------------
 General            |  dbus path: /org/freedesktop/ModemManager1/Bearer/1
                    |       type: default
 --------------------------------
 Status             |  connected: yes
                    |  suspended: no
                    |  interface: wwan0
                    | ip timeout: 20
 --------------------------------
 Properties         |        apn: telstra.internet
                    |    roaming: allowed
                    |    ip type: ipv4v6
 --------------------------------
 IPv4 configuration |     method: static
                    |    address: 10.92.9.95
                    |     prefix: 26
                    |    gateway: 10.92.9.96
                    |        dns: 10.5.133.45, 10.4.27.70
                    |        mtu: 1500
 --------------------------------
 IPv6 configuration |     method: static
                    |    address: 2001:8004:1160:d4e:5039:16ca:76d8:6d1a
                    |     prefix: 64
                    |    gateway: 2001:8004:1160:d4e:bcc9:5e51:4a7d:98c0
                    |        dns: 2001:8004:0:6120:7:e1c0:0:10, 2001:8004:0:61a0:7:e1c0:0:10
                    |        mtu: 1500
 --------------------------------
 Statistics         |   duration: 60
                    |   bytes rx: 204735
                    |   bytes tx: 9321043


root at OpenWrt:~# mmcli -b 1
 --------------------------------
 General            |  dbus path: /org/freedesktop/ModemManager1/Bearer/1
                    |       type: default
 --------------------------------
 Status             |  connected: yes
                    |  suspended: no
                    |  interface: wwan0
                    | ip timeout: 20
 --------------------------------
 Properties         |        apn: telstra.internet
                    |    roaming: allowed
                    |    ip type: ipv6
 --------------------------------
 IPv6 configuration |     method: static
                    |    address: 2001:8004:1180:192b:89fe:e8d3:94d4:5353
                    |     prefix: 64
                    |    gateway: 2001:8004:1180:192b:a498:a3aa:d4ef:238b
                    |        dns: 2001:8004:0:61a0:7:e1c0:0:10, 2001:8004:0:6120:7:e1c0:0:10
                    |        mtu: 1500
 --------------------------------
 Statistics         |   bytes rx: 336
                    |   bytes tx: 9451856


root at OpenWrt:~# mmcli -m 0
 ------------------------------------
 General  |                dbus path: /org/freedesktop/ModemManager1/Modem/0
          |                device id: 6f67b84ec933782e1f2cd4f48d850f7e513f428b
 ------------------------------------
 Hardware |             manufacturer: Sierra Wireless, Incorporated
          |                    model: Sierra Wireless EM7565 Qualcomm® Snapdragon™ X16 LTE-A
          |        firmware revision: SWI9X50C_01.09.04.00
          |           carrier config: default
          |             h/w revision: EM7565
          |                supported: gsm-umts, lte
          |                  current: gsm-umts, lte
          |             equipment id: 3592600801nnnnn
 ------------------------------------
 System   |                   device: /sys/devices/platform/soc/8af8800.usb3/8a00000.dwc3/xhci-hcd.0.auto/usb1/1-1
          |                  drivers: cdc_mbim
          |                   plugin: Sierra
          |             primary port: cdc-wdm0
          |                    ports: cdc-wdm0 (mbim), wwan0 (net)
 ------------------------------------
 Status   |           unlock retries: sim-pin2 (3)
          |                    state: connected
          |              power state: on
          |              access tech: lte
          |           signal quality: 22% (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-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-46, eutran-66, utran-19
          |                  current: utran-1, 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-46, eutran-66, utran-19
 ------------------------------------
 IP       |                supported: ipv4, ipv6, ipv4v6
 ------------------------------------
 3GPP     |                     imei: 3592600801nnnnn
          |            enabled locks: fixed-dialing
          |              operator id: 50501
          |            operator name: Telstra
          |             registration: home
 ------------------------------------
 3GPP EPS | initial bearer dbus path: /org/freedesktop/ModemManager1/Bearer/2
          |       initial bearer apn: telstra.internet
          |   initial bearer ip type: ipv4
 ------------------------------------
 SIM      |                dbus path: /org/freedesktop/ModemManager1/SIM/0
 ------------------------------------
 Bearer   |                dbus path: /org/freedesktop/ModemManager1/Bearer/1





Nick


> On 8 Nov 2019, at 3:34 am, Aleksander Morgado <aleksander at aleksander.es> wrote:
> 
> Hey
> 
>>>> Before the openwrt packages were integrated in the official packages
>>>> repo, we received a merge request adding some IPv6 support to the
>>>> modemmanager protocol handler.
>>>> 
>>>> Please look at this patch in case you want to get that integrated:
>>>> https://gitlab.freedesktop.org/aleksm/mobile-broadband-openwrt/commit/9234ce19c00cf2067d7ea48844569ae2fd135033
>>> 
>>> Now I haven't tested this at all, so I might be missing
>>> something.... But the patch has a
>>> 
>>>       if [ "$iptype" = "ipv6" -o "$iptype" = "ipv4v6" ]; then
>>>          .. lotsofstuff
>>>       else
>>>          .. otherstuff
>>>       fi
>>> 
>>> This looks wrong, and like it might potentionally break IPv4 in the
>>> "ipv4v6" case.  Or is that still handled somehow?
>>> 
>>> There are also som minor nits like requiring "bearer.ipv6-config.method"
>>> for IPv6 just for the
>>> 
>>> echo "connection setup required in interface ${beareriface}: ${bearermethod}"
>>> 
>>> when in fact only "static" is supported for IPv6. Which I guess is fine
>>> by itself. "dhcp" doesn't make much sense. But I believe "ppp" at least
>>> should spit out an "unsupported" warning or similar.  OpenWrt users have
>>> been known to try dual stack over PPP in the past :-)
>>> 
>> 
>> I should have added the patch author in CC in order to discuss the
>> changes with him if needed, doing that now.
>> 
> 
> Here's my attempt to add IPv4v6/IPv6 support to the OpenWRT protocol handler:
> https://github.com/aleksander0m/openwrt-packages/commit/b5805c3e1d2965662d2fe16aa80140a242339abd
> 
> Tests with that branch would be very appreciated.
> 
> -- 
> Aleksander
> https://aleksander.es



More information about the ModemManager-devel mailing list