another folder rename and add qmi-network.conf

This commit is contained in:
mpmc 2022-10-01 23:39:16 +01:00
parent dc7ce66aac
commit 0f77c610c0
17 changed files with 47 additions and 12 deletions

View File

@ -0,0 +1,3 @@
# Place this file in /etc/ (as /etc/qmi-network.conf)
APN=internet
PROXY=yes

View File

@ -1,19 +1,51 @@
[Match]
Name=wwan0
# apt install --no-install-recommends libqmi-utils
# cp -v ./qmi-network@.service /etc/systemd/system/
# systemctl daemon-reload
# systemctl enable --now qmi-network@0
[Network]
DHCP=yes
# This will NOT work without a .network for your wwan device.
[Unit]
Description=qmi-network for cdc-wdm%i device
DNSOverTLS=opportunistic
Before=freepbx.service
Before=asterisk.service
DNS=1.1.1.1
After=sys-subsystem-net-devices-wwan%i.device
Wants=sys-subsystem-net-devices-wwan%i.device
DNS=1.0.0.1
[Service]
Type=simple
Restart=always
TimeoutSec=300s
# Link discovery causes some issues so disable it.
LLDP=no
# Make sure the state is cleared before starting.
ExecStartPre=-rm /tmp/qmi-network-state-cdc-wdm%i
# Stop wwan so it can be reconfigured.
ExecStartPre=networkctl down wwan%i
# Raw IP must be enabled.
ExecStartPre=sh -c "echo 'Y' | tee /sys/class/net/wwan%i/qmi/raw_ip"
# Start the network via qmi-network scripts.
# As some networks and/or devices take a long time to connect we should
# give it some time to be ready before starting the connection process.
ExecStartPre=-sh -e -c "sleep 30; qmi-network /dev/cdc-wdm%i start"
# Bring up the network.
ExecStartPre=networkctl up wwan%i
# Small loop as the main process to watchdog the connection.
# (NOTE: DHCP must be given a little time to settle before pinging).
ExecStart=sh -e -c "sleep 5; while true; do ping -w 60 -I wwan%i -c 5 one.one.one.one; sleep 300; done;"
# Stop.. DOWN TIME!
ExecStop=networkctl down wwan%i
ExecStop=qmi-network /dev/cdc-wdm%i stop
# Be sure the network state is cleared on stop too.
ExecStop=-rm /tmp/qmi-network-state-cdc-wdm%i
[Install]
WantedBy=sys-subsystem-net-devices-wwan%i.device
[DHCP]
# Make sure connection/route is chosen last!
RouteMetric=2048