[ltp] 2nd gen X1 carbon 3g/lte Sierra Wireless EM7345 4G LTE

Bjørn Mork linux-thinkpad@linux-thinkpad.org
Tue, 27 May 2014 10:09:23 +0200

Nikos Alexandris <nik@nikosalexandris.net> writes:
> * Bjørn Mork <bjorn@mork.no> [2014-04-25 14:52:03 +0200]:
>> morten <mortenlarsens@gmail.com> writes:
>> > Hello Bjorn and others
>> >
>> > I can report that the 4G modem works on ubuntu 14.04 out of the box
>> > using (i guess) cdc_wdm.
>> Yeeha! Good to know.
>> I was really lost here, so it's very relieving that this worked after
>> all.  That's how Linux is supposed to be :-)
> How can I try this (in Funtoo/Gentoo)?  I got the networkmanager (KDE)
> compiled with support for mobile networking (modemmanager)

You need at least modemmanager 1.0 I believe.  And it must be built
with libmbim-support.

If you have that then you should get some output similar to this from
mmcli (it's easiest to start this way, keeping networkmanager out of the
loop until you know MM is working):

bjorn@nemi:~$ mmcli -L

Found 1 modems:
        /org/freedesktop/ModemManager1/Modem/0 [Generic] MBIM [1199:68A2]

bjorn@nemi:~$ mmcli -m 0

/org/freedesktop/ModemManager1/Modem/0 (device id '360f00302125cb70d85ba2caa1190192832f0b93')
  Hardware |   manufacturer: 'Generic'
           |          model: 'MBIM [1199:68A2]'
           |       revision: 'SWI9200X_03.05.24.00ap'
           |      supported: 'gsm-umts, lte'
           |        current: 'gsm-umts, lte'
           |   equipment id: '358178040092316'
  System   |         device: '/sys/devices/pci0000:00/0000:00:1d.7/usb3/3-4'
           |        drivers: 'cdc_mbim'
           |         plugin: 'Generic'
           |   primary port: 'cdc-wdm0'
           |          ports: 'cdc-wdm0 (mbim), wwan0 (net)'
  Numbers  |           own : 'unknown'
  Status   |           lock: 'sim-pin'
           | unlock retries: 'sim-pin (3)'
           |          state: 'locked'
           |    power state: 'on'
           |    access tech: 'unknown'
           | signal quality: '0' (cached)
  Modes    |      supported: 'allowed: 2g, 3g, 4g; preferred: none'
           |        current: 'allowed: 2g, 3g, 4g; preferred: none'
  Bands    |      supported: 'unknown'
           |        current: 'unknown'
  IP       |      supported: 'ipv4, ipv6, ipv4v6'
  SIM      |           path: '/org/freedesktop/ModemManager1/SIM/4'

  Bearers  |          paths: 'none'

If this shows "ports: 'cdc-wdm0 (mbim), wwan0 (net)'" (possibly with
slightly different names and/or more ports), then you are ready to go.

A simple way to test that connecting works without using NM is:

# mmcli -m 0 --simple-connect=pin=1234,apn=yourapn

where you'll of course have to replace "1234" with your SIM PIN code and
"yourapn" with your APN (from your provider).  If you don't need a PIN
then you can just drop the "pin=1234," part.

If this is successful, you'll see "successfully connected the modem" and
you can run dhclient on the network interface:

# dhclient -d -4 wwan0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wwan0/7e:f4:7b:7b:17:47
Sending on   LPF/wwan0/7e:f4:7b:7b:17:47
Sending on   Socket/fallback
DHCPDISCOVER on wwan0 to port 67 interval 5
DHCPREQUEST on wwan0 to port 67
bound to -- renewal in 3193 seconds.

If all that worked, then the modem should show up in NetworkManager too,
and you should be able to configure a connection there instead.

Further NM/MM debugging tips are found at

> I can see the devive "exists" grepping some "cdc" related calls with
> dmesg.  But I am not sure how I can proceed in testing if it works.
> Also, ifconfig doesn't return any "wwan" related interface.

This is probably because you are using udev with the new style device
names.  Then the interface will be called 'ww...something'.  mmcli
should show the real interface name, and it should also show up in
the output of 'ifconfig -a'.