2024-02-02 19:12:21 +01:00
2023-12-27 21:57:24 +01:00
2023-12-27 21:01:35 +01:00
2024-02-02 19:12:21 +01:00

Configuration of an LTE modem on the Raspberry Pi

HUAWEI 4G Dongle E3372 is an USB 2.0 device with a microSD card reader and a slot for a standard SIM Card

Huawei-e3372-rpi-image

After plugging in the USB dongle check if Linux recognized it. See Huawei Technologies Co., Ltd. Modem/Networkcard

lsusb

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 04d9:0007 Holtek Semiconductor, Inc. 
Bus 001 Device 005: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
Bus 001 Device 003: ID 2516:012f Cooler Master Co., Ltd. 
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Check if the driver created the modem device. You should see the /dev/cdc-wdm0

ls /dev/cdc*

/dev/cdc-wdm0

Install NetworkManager

sudo apt install network-manager

Check modems avalable to the NetworkManager

mmcli --list-modems

    /org/freedesktop/ModemManager1/Modem/0 [huawei] E3372

Check status of the modem

mmcli --modem=/org/freedesktop/ModemManager1/Modem/0

  --------------------------------
  General  |            dbus path: /org/freedesktop/ModemManager1/Modem/0
           |            device id: 46c19d81068f7f5001140bf211de0b717b981698
  --------------------------------
  Hardware |         manufacturer: huawei
           |                model: E3372
           |             revision: 21.200.07.00.55
           |            supported: gsm-umts
           |              current: gsm-umts
           |         equipment id: 861821033381192
  --------------------------------
  System   |               device: /sys/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3
           |              drivers: option1, huawei_cdc_ncm
           |               plugin: Huawei
           |         primary port: ttyUSB1
           |                ports: ttyUSB0 (at), ttyUSB1 (at), cdc-wdm0 (at), wwan0 (net)
  --------------------------------
  Status   |       unlock retries: sim-pin (3), sim-pin2 (3), sim-puk (10), sim-puk2 (10)
           |                state: connected

           |          power state: on
           |          access tech: lte
           |       signal quality: 70% (recent)
  --------------------------------
  Modes    |            supported: allowed: 2g; preferred: none
           |                       allowed: 3g; preferred: none
           |                       allowed: 4g; preferred: none
           |                       allowed: 2g, 3g, 4g; preferred: none
           |              current: allowed: 2g, 3g, 4g; preferred: none
  --------------------------------
  IP       |            supported: ipv4
  --------------------------------
  3GPP     |                 imei: 861821033381192
           |          operator id: 23101
           |        operator name: Orange
           |         registration: home
  --------------------------------
  3GPP EPS | ue mode of operation: csps-2
  --------------------------------
  SIM      |            dbus path: /org/freedesktop/ModemManager1/SIM/0
  --------------------------------
  Bearer   |            dbus path: /org/freedesktop/ModemManager1/Bearer/0

Check the SIM card status

mmcli --sim=/org/freedesktop/ModemManager1/SIM/0

  ---------------------------
  General    |     dbus path: /org/freedesktop/ModemManager1/SIM/0
  ---------------------------
  Properties |          imsi: 231014462647671
             |         iccid: 8942101180024842166
             |   operator id: 23101
             | operator name: Orange

First check if the NetworkManager is running

sudo systemctl status NetworkManager

If not, start it

sudo systemctl start NetworkManager

Create configuration for the modem. Set con-name 'Orange-LTE' to any name and apn 'internet' to the APN name of your mobile provider

sudo nmcli connection add type gsm ifname '*' con-name 'Orange-LTE' apn 'internet' connection.autoconnect yes

The configuration file is created with the con-name as filename and nmconnection as the suffix. Edit if neccessary

sudo cat /etc/NetworkManager/system-connections/Orange-LTE.nmconnection

[connection]
id=Orange-LTE
uuid=8dc159fe-e0ed-4a56-9b7f-fb813e2c4753
type=gsm
permissions=

[gsm]
apn=internet
number=*99#

[ipv4]
dns-search=
method=auto

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

Show devices managed by NetworkManager

nmcli con show

NAME                UUID                                  TYPE      DEVICE   
myWifiAP            17fb4276-6b9e-4554-8134-af0d6627e46f  wifi      wlan0    
lo                  a145109e-01b4-42f2-aab2-83f79b575daa  loopback  lo       
Orange-LTE          4e6923bb-5abb-44a8-b5f7-fdaecbf7ff7e  gsm       cdc-wdm0 
Wired connection 1  1a1bdcb2-799e-3b7d-b123-c972f3d4dfe1  ethernet  --

To deactivate a connection

sudo nmcli con down Orange-LTE

To bring it up again

sudo nmcli con up Orange-LTE

To show one property of the connection (e.g. IPv4 address)

nmcli -g ip4.address con show Orange-LTE

Check status of the network device wwan0. It should have an IP address assigned by your mobile provider (e.g. 10.121.79.142)

ip addr show wwan0

4: wwan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether 00:1e:10:1f:00:00 brd ff:ff:ff:ff:ff:ff
    inet 10.121.79.142/30 brd 10.121.79.143 scope global noprefixroute wwan0
       valid_lft forever preferred_lft forever
    inet 169.254.62.145/16 brd 169.254.255.255 scope global noprefixroute wwan0
       valid_lft forever preferred_lft forever

Check if the internet is reachable

ping -I wwan0 www.google.com -c 5

PING www.google.com (142.251.37.100) from 10.121.79.142 wwan0: 56(84) bytes of data.
64 bytes from prg03s13-in-f4.1e100.net (142.251.37.100): icmp_seq=1 ttl=117 time=23.5 ms
64 bytes from prg03s13-in-f4.1e100.net (142.251.37.100): icmp_seq=2 ttl=117 time=36.9 ms
64 bytes from prg03s13-in-f4.1e100.net (142.251.37.100): icmp_seq=3 ttl=117 time=32.7 ms
64 bytes from prg03s13-in-f4.1e100.net (142.251.37.100): icmp_seq=4 ttl=117 time=43.7 ms
64 bytes from prg03s13-in-f4.1e100.net (142.251.37.100): icmp_seq=5 ttl=117 time=29.7 ms

--- www.google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 11ms
rtt min/avg/max/mdev = 23.539/33.298/43.704/6.781 ms

Make the NetworkManager start automaticaly after the boot

sudo systemctl enable NetworkManager

Monitor data usage

Install vnstat. Gathered statistics persists through system reboots

sudo apt install vnstat

Check monthly data usage

vnstat --iface wwan0 --months

wwan0  /  monthly

        month        rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       2022-11       1.05 GB |     4.32 GB |     5.37 GB |   17.78 kbit/s
       2022-12     893.89 MB |     3.68 GB |     4.55 GB |   14.60 kbit/s
       2023-01       1.14 GB |     5.10 GB |     6.24 GB |   20.01 kbit/s
       2023-02       1.21 GB |     4.93 GB |     6.14 GB |   21.80 kbit/s
       2023-03       1.23 GB |     5.64 GB |     6.87 GB |   22.03 kbit/s
       2023-04       1.15 GB |     5.22 GB |     6.37 GB |   21.11 kbit/s
       2023-05       1.23 GB |     4.39 GB |     5.62 GB |   18.04 kbit/s
       2023-06       2.68 GB |     7.01 GB |     9.69 GB |   32.10 kbit/s
       2023-07       1.61 GB |     6.94 GB |     8.55 GB |   27.41 kbit/s
       2023-08       1.76 GB |     7.65 GB |     9.41 GB |   30.19 kbit/s
       2023-09       1.82 GB |     7.99 GB |     9.81 GB |   32.52 kbit/s
       2023-10       1.71 GB |     7.64 GB |     9.35 GB |   44.80 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated       2.56 GB |    11.41 GB |    13.97 GB |

See realtime traffic

vnstat --iface wwan0 --live

Monitoring wwan0...    (press CTRL-C to stop)

   rx:        0 kbit/s     1 p/s          tx:        1 kbit/s     1 p/s
   rx:        2 kbit/s     4 p/s          tx:        3 kbit/s     3 p/s
   rx:        1 kbit/s     1 p/s          tx:        1 kbit/s     1 p/s^C


 wwan0  /  traffic statistics

                           rx         |       tx
--------------------------------------+------------------
  bytes                        3 KiB  |           6 KiB
--------------------------------------+------------------
          max               2 kbit/s  |        3 kbit/s
      average            0.76 kbit/s  |     1.51 kbit/s
          min               0 kbit/s  |        1 kbit/s
--------------------------------------+------------------
  packets                         49  |              47
--------------------------------------+------------------
          max                  4 p/s  |           3 p/s
      average                  1 p/s  |           1 p/s
          min                  0 p/s  |           0 p/s
--------------------------------------+------------------
  time                    30 seconds
Description
No description provided
Readme 3.2 MiB