From b9a481936ba413aed7baa32b9dca4cb261d0130a Mon Sep 17 00:00:00 2001 From: cpu Date: Wed, 27 Dec 2023 21:46:58 +0100 Subject: [PATCH] initial --- README.md | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 138 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7206950..5083367 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,139 @@ -# LTE-modem-config +Configuration of an LTE modem on the Raspberry Pi +------------------------------------------------- +[HUAWEI 4G Dongle E3372](https://consumer.huawei.com/za/routers/e3372/specs/) is an USB 2.0 device with a microSD card reader and a slot for a standard SIM Card + +![Huawei-e3372-image](Huawei-e3372-image.jpg) + +After plugging in the USB dongle check if Linux recognized it. E.g. `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 `Network Manager` + +`sudo apt install network-manager` +Check modems avalable to the network manager + +`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 +``` +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 as the con-name with the .nmconnection as the suffix + +`ls /etc/NetworkManager/system-connections/` +``` +Orange-LTE.nmconnection +``` +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 a` + +``` +1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + inet 127.0.0.1/8 scope host lo + valid_lft forever preferred_lft forever + inet6 ::1/128 scope host + valid_lft forever preferred_lft forever +2: eth0: mtu 1500 qdisc mq state DOWN group default qlen 1000 + link/ether dc:a6:32:e0:60:e1 brd ff:ff:ff:ff:ff:ff +3: wlan0: mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 + link/ether fa:aa:97:2d:7f:0e brd ff:ff:ff:ff:ff:ff +4: wwan0: 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 +```