6

How do I establish and IP connection to the WWAN of a Sierra Wireless MC7354?

I have a system with a Sierra Wireless MC7354 modem running Ubuntu 18.04.

ModemManager can see and control the modem.

$ mmcli --modem 0

returns lots of great information. (That's how I know the modem is an MC7354.)

/org/freedesktop/ModemManager1/Modem/0 (device id '232972a04adf83122a392fd83b274431de596ebd')
  -------------------------
  Hardware |   manufacturer: 'Sierra Wireless, Incorporated'
           |          model: 'MC7354'
           |       

The ports list shows several ports:

ports: 'ttyUSB0 (qcdm), wwp0s20u5i8 (net), wwp0s20u5i10 (net), cdc-wdm0 (qmi), cdc-wdm1 (qmi), ttyUSB2 (at)'

$ mmcli --modem 0 --simple-connect="apn=internet"

is successful

$ mmcli --bearer 0
Bearer '/org/freedesktop/ModemManager1/Bearer/0'
  -------------------------
  Status             |   connected: 'yes'
                     |   suspended: 'no'
                     |   interface: 'wwp0s20u5i8'
                     |  IP timeout: '20'
  -------------------------
  Properties         |         apn: 'internet'
                     |     roaming: 'allowed'
                     |     IP type: 'none'
                     |        user: 'none'
                     |    password: 'none'
                     |      number: 'none'
                     | Rm protocol: 'unknown'
  -------------------------
  IPv4 configuration |   method: 'static'
                     |  address: '100.232.81.142'
                     |   prefix: '30'
                     |  gateway: '100.232.81.141'
                     |      DNS: '10.177.0.34', '10.177.0.210'
                     |      MTU: '1430'
  -------------------------
  IPv6 configuration |   method: 'unknown'
  -------------------------
  Stats              |          Duration: '839'
                     |    Bytes received: 'N/A'
                     | Bytes transmitted: 'N/A'

Shows that the modem is connected to the internet (?).

How do I establish a connection on Ubuntu to use this interface?

$ ifconfig -a 

wwp0s20u5i8: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 0e:ff:cc:40:45:be  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wwp0s20u5i10: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 12:4e:ee:54:3e:3e  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

How do I establish an IP connection to this device?

Thanks for the help!

7
  • I should add, this server is using ubuntu server. No NetworkManager.
    – Bill Door
    Feb 15, 2019 at 18:57
  • 1
    as an aside: Why does your modem have a fixed ("static") IP ? All the GSM/LTE providers I know, would assign DHCP addresses. Also the APN config, with just "Internet" seems suspicious... normally its something like "providername.apn.net" or something... are you sure your config is correct ? Feb 18, 2019 at 8:09
  • You would save yourself a lot of hassel by simply using networkmanager to solely handle your wwan connection(s) only. Feb 19, 2019 at 9:29
  • @RobertRiedl, I'm not sure why the SIM has a static IP. The SIM is a data/voice SIM from TMobile. I have also installed libqmi-utils. The qmi-network script seems to be able to connect with something similar. Although DHCP worked once. But I have not been able to reproduce and now cannot get an address (into linux).
    – Bill Door
    Feb 19, 2019 at 12:57
  • @AndersF.U.Kiær, please expand your answer as an answer. How will networkmanager help this to work? This configuration is a server, no UI. I'm interested to understand how networkmanager helps.
    – Bill Door
    Feb 19, 2019 at 12:58

1 Answer 1

3

I assume you would still like to know.

How do I establish and IP connection to the WWAN of a Sierra Wireless MC7354?

You have already done that:

$ mmcli --bearer 0

Bearer '/org/freedesktop/ModemManager1/Bearer/0'
  -------------------------
  Status             |   connected: 'yes'

So basically all left is to set the appropriate WWAN interface with the IP and netmask setting given. However you would also have to route the traffic you want to go over the interface to the defined gateway.

You should maybe read the whole section around page 43 in the server guide Be aware that if you use netplan it will screw with you, eg it will ignore your manually added connections for network-manager.

  IPv4 configuration 
                 |   method: 'static'
                 |  address: '100.232.81.142'
                 |   prefix: '30'
                 |  gateway: '100.232.81.141'
                 |      DNS: '10.177.0.34', '10.177.0.210'
                 |      MTU: '1430'

That it say static is irrelevant and only mean that you will have that IP as long as the bearer stays connected. Unless you pay for a static IP, isp's will most likely give you a new one when you reconnect the bearer.

The settings you have received is most likely based on the APN you have connected.

Dependent on ISP, they could force use of they dns aswell.

So, my question is why bother to do this manually when you have at least one easy to use network manager that can take care of it?

    $ apt show network-manager
Package: network-manager
Version: 1.10.6-2ubuntu1.1
Priority: optional
Section: net
Origin: Ubuntu
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Utopia Maintenance Team <[email protected]>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 5 927 kB
Depends: libaudit1 (>= 1:2.2.1), libbluetooth3 (>= 4.91), libc6 (>= 2.25), libcurl3-gnutls (>= 7.16.3), libglib2.0-0 (>= 2.43.2), libgnutls30 (>= 3.5.0), libjansson4 (>= 2.0.1), libmm-glib0 (>= 1.0.0), libndp0 (>= 1.2), libnewt0.52, libnl-3-200 (>= 3.2.21), libnm0 (>= 1.10.2), libpolkit-agent-1-0 (>= 0.99), libpolkit-gobject-1-0 (>= 0.104), libpsl5 (>= 0.13.0), libreadline7 (>= 6.0), libselinux1 (>= 1.32), libsystemd0 (>= 221), libteamdctl0 (>= 1.9), libudev1 (>= 183), libuuid1 (>= 2.16), lsb-base (>= 3.2-14), wpasupplicant (>= 0.7.3-1), dbus (>= 1.1.2), udev, adduser, isc-dhcp-client (>= 4.1.1-P1-4), libpam-systemd, policykit-1
Recommends: ppp, dnsmasq-base, iptables, modemmanager, network-manager-pptp, crda, iputils-arping
Suggests: avahi-autoipd, libteam-utils
Breaks: ppp (>= 2.4.7-3~), ppp (<< 2.4.7-2+~)
Homepage: https://wiki.gnome.org/Projects/NetworkManager
Task: ubuntu-desktop, kubuntu-desktop, kubuntu-full, xubuntu-core, xubuntu-desktop, lubuntu-gtk-desktop, lubuntu-desktop, lubuntu-qt-desktop, ubuntustudio-desktop-core, ubuntustudio-desktop, ubuntukylin-desktop, ubuntu-mate-core, ubuntu-mate-desktop, ubuntu-budgie-desktop
Supported: 5y
Download-Size: 1 500 kB
APT-Manual-Installed: yes
APT-Sources: http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
Description: network management framework (daemon and userspace tools)
 NetworkManager is a system network service that manages your network devices
 and connections, attempting to keep active network connectivity when
 available. It manages ethernet, WiFi, mobile broadband (WWAN), and PPPoE
 devices, and provides VPN integration with a variety of different VPN
 services.
 .
 This package provides the userspace daemons and a command line interface to
 interact with NetworkManager.
 .
 Optional dependencies:
  * avahi-autoipd: Used for IPv4LL, a protocol for automatic Link-Local IP
    address configuration.
  * ppp: Required for establishing dial-up connections (e.g. via GSM).
  * dnsmasq-base/iptables: Required for creating Ad-hoc connections and
    connection sharing.
  * libteam-utils: Network Team driver allows multiple network interfaces to be
    teamed together and act like a single one. This process is called "ethernet
    bonding", "channel teaming" or "link aggregation".

If you read the above it stands not any place that it require Desktop, actually it stands the opposite, that the desktop will pull it in exactly to do the networking part.

So my Suggestion still stands the same, install network-manager.

If you already use any other networkmanager like networkd eg., Just configure network-manager to only configure wwan.

That could be done with editing /etc/NetworkManager/conf.d/10-globally-managed-devices.conf

unmanaged-devices=*,except:type:wwan,except:type:gsm

To set up a connection you could use nmclior manually create a configuration:

sudo vim /etc/NetworkManager/system-connections/myisp

[connection]
id=myisp
uuid=755d5082-e2e3-4691-873a-0669b27aaaa2
type=gsm
interface-name=cdc-wdm0
permissions=
timestamp=1547308598

[gsm]
apn=internet.public
number=*99#

[ipv4]
dns=8.8.8.8;8.8.4.4;1.1.1.1;
dns-search=
ignore-auto-dns=true
method=auto

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto

Hopefully this will lead you in the right direction, best wishes :)

2
  • Thank you. I eventually did install network manager and used this same technique. My challenge now is to establish the routing capabilities I need. But that's a story for another post.
    – Bill Door
    Feb 28, 2019 at 15:06
  • @BillDoor I don't know your needs, and you are correct that it is best suited for a own question. However, i would guess you are looking for a way to route over the same interface as the connection arrived. This is not the best example but would maybe point you in the right direction; gmelikov.com/2018/02/27/linux-network-reply-interface-incoming Feb 28, 2019 at 21:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .