Sierra Wireless EM7345 and IPv6

Dan Williams dcbw at redhat.com
Tue May 27 11:28:10 PDT 2014


On Tue, 2014-05-27 at 19:00 +0200, Bjørn Mork wrote:
> Bjørn Mork <bjorn at mork.no> writes:
> 
> > And I cannot see any response to any Router Solicit or DHCPv6 solicit
> > either, making it pretty hard to actually use this connection for
> > something.  Any hints?
> 
> You probably don't believe it's possible, but this was of course me
> shooting myself in the foot AGAIN.  Impressive? Not.
> 
> After modifying my ip6tables rules, I do see RAs announcing the global
> /64 received from the network.  But I guess it is very interesting to
> note that the MBIM IP configuration does *not* work with IPv6 for this
> modem.  It just reports the LL addresses:
> 
> 
> 
> bjorn at nemi:/tmp$ mmcli -b 0
> Bearer '/org/freedesktop/ModemManager1/Bearer/0'
>   -------------------------
>   Status             |   connected: 'yes'
>                      |   suspended: 'no'
>                      |   interface: 'wwan1'
>                      |  IP timeout: '20'
>   -------------------------
>   Properties         |         apn: 'telenor.ipv6'
>                      |     roaming: 'allowed'
>                      |     IP type: 'ipv6'
>                      |        user: 'none'
>                      |    password: 'none'
>                      |      number: 'none'
>                      | Rm protocol: 'unknown'
>   -------------------------
>   IPv4 configuration |   method: 'unknown'
>   -------------------------
>   IPv6 configuration |   method: 'static'
>                      |  address: 'fe80::b:a05c:4701'
>                      |   prefix: '120'
>                      |  gateway: 'fe80::b:a05c:4702'
>                      |      DNS: '2001:4600:4:fff::54', '2001:4600:4:1fff::54'
> 
> 
> 
> 
> So we have to use SLAAC (or at least base address selection on the
> received RAs):

In the dcbw/icera-ip6 I took the approach (including for MBIM) that if
the modem only returns an LL address, that the 'method' is set to DHCP
(meaning SLAAC for IPv6).  But clients should use the rest of the info
like DNS.  Which should cover this case.

Dan

> Frame 6: 102 bytes on wire (816 bits), 102 bytes captured (816 bits) on interface 0
>     Interface id: 0 (wwan1.0)
>     Encapsulation type: Ethernet (1)
>     Arrival Time: May 27, 2014 18:52:59.589132000 CEST
>     [Time shift for this packet: 0.000000000 seconds]
>     Epoch Time: 1401209579.589132000 seconds
>     [Time delta from previous captured frame: 2.763603000 seconds]
>     [Time delta from previous displayed frame: 2.763603000 seconds]
>     [Time since reference or first frame: 167.720517000 seconds]
>     Frame Number: 6
>     Frame Length: 102 bytes (816 bits)
>     Capture Length: 102 bytes (816 bits)
>     [Frame is marked: False]
>     [Frame is ignored: False]
>     [Protocols in frame: eth:ethertype:ipv6:icmpv6]
> Ethernet II, Src: 00:00:00:00:00:00 (00:00:00:00:00:00), Dst: 7e:f4:7b:7b:17:47 (7e:f4:7b:7b:17:47)
>     Destination: 7e:f4:7b:7b:17:47 (7e:f4:7b:7b:17:47)
>         Address: 7e:f4:7b:7b:17:47 (7e:f4:7b:7b:17:47)
>         .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
>         .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
>     Source: 00:00:00:00:00:00 (00:00:00:00:00:00)
>         Address: 00:00:00:00:00:00 (00:00:00:00:00:00)
>         .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
>         .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
>     Type: IPv6 (0x86dd)
> Internet Protocol Version 6, Src: fe80::b:a05c:4740 (fe80::b:a05c:4740), Dst: ff02::1 (ff02::1)
>     0110 .... = Version: 6
>         [0110 .... = This field makes the filter "ip.version == 6" possible: 6]
>     .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000
>         .... 0000 00.. .... .... .... .... .... = Differentiated Services Field: Default (0x00000000)
>         .... .... ..0. .... .... .... .... .... = ECN-Capable Transport (ECT): Not set
>         .... .... ...0 .... .... .... .... .... = ECN-CE: Not set
>     .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
>     Payload length: 48
>     Next header: ICMPv6 (58)
>     Hop limit: 255
>     Source: fe80::b:a05c:4740 (fe80::b:a05c:4740)
>     Destination: ff02::1 (ff02::1)
>     [Source GeoIP: Unknown]
>     [Destination GeoIP: Unknown]
> Internet Control Message Protocol v6
>     Type: Router Advertisement (134)
>     Code: 0
>     Checksum: 0x86c9 [correct]
>     Cur hop limit: 255
>     Flags: 0x00
>         0... .... = Managed address configuration: Not set
>         .0.. .... = Other configuration: Not set
>         ..0. .... = Home Agent: Not set
>         ...0 0... = Prf (Default Router Preference): Medium (0)
>         .... .0.. = Proxy: Not set
>         .... ..0. = Reserved: 0
>     Router lifetime (s): 65535
>     Reachable time (ms): 0
>     Retrans timer (ms): 0
>     ICMPv6 Option (Prefix information : 2a02:2121:1:8035::/64)
>         Type: Prefix information (3)
>         Length: 4 (32 bytes)
>         Prefix Length: 64
>         Flag: 0x40
>             0... .... = On-link flag(L): Not set
>             .1.. .... = Autonomous address-configuration flag(A): Set
>             ..0. .... = Router address flag(R): Not set
>             ...0 0000 = Reserved: 0
>         Valid Lifetime: 4294967295 (Infinity)
>         Preferred Lifetime: 4294967295 (Infinity)
>         Reserved
>         Prefix: 2a02:2121:1:8035:: (2a02:2121:1:8035::)
> 
> 
> 
> 
> I assume this problem may affect any Intel XMM7160 based modem. FYI, the
> hardware/firmware of this modem is:
> 
> bjorn at nemi:/tmp$ mbimcli -d /dev/cdc-wdm1  --query-device-caps
> [/dev/cdc-wdm1] Device capabilities retrieved:
>               Device type: 'embedded'
>            Cellular class: 'gsm'
>               Voice class: 'no-voice'
>                 Sim class: 'removable'
>                Data class: 'gprs, edge, umts, hsdpa, hsupa, lte'
>                  SMS caps: 'pdu-receive, pdu-send'
>                 Ctrl caps: 'reg-manual'
>              Max sessions: '8'
>         Custom data class: 'unknown'
>                 Device ID: '013937000xxxxxxx'
>             Firmware info: 'FIH7160_V1.1_MODEM_01.1349.12'
>             Hardware info: 'XMM7160_V1.1_MBIM_GNSS_NAND_RE'
> 
> 
> This is a Lenovo branded Sierra Wireless EM7345 intended for newer
> Thinkpads, but still using a Sierra vendor ID.
> 
> 
> Bjørn
> _______________________________________________
> libmbim-devel mailing list
> libmbim-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libmbim-devel




More information about the libmbim-devel mailing list