From db57343ed4edf5a914909c2fc161ffb42c081716 Mon Sep 17 00:00:00 2001 From: Hector Palacios Date: Wed, 10 Apr 2019 17:23:14 +0200 Subject: [PATCH] modemmanager: add systemd unit to force a late scan of modems Some modems take a lot of time to initialize and ModemManager won't see them on its first scan. This service will force a rescan 40 seconds after boot, to give enough time for those lazy modems. Signed-off-by: Hector Palacios https://jira.digi.com/browse/DEL-6366 --- .../modemmanager/modemmanager/late-modems-scan.service | 8 ++++++++ .../modemmanager/modemmanager/late-modems-scan.timer | 8 ++++++++ .../modemmanager/modemmanager_%.bbappend | 10 ++++++++++ 3 files changed, 26 insertions(+) create mode 100644 meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/late-modems-scan.service create mode 100644 meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/late-modems-scan.timer diff --git a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/late-modems-scan.service b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/late-modems-scan.service new file mode 100644 index 000000000..35e36ece4 --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/late-modems-scan.service @@ -0,0 +1,8 @@ +[Unit] +Description=Late modems scan +Requires=ModemManager.service +After=ModemManager.service xbee-init.service time-sync.target + +[Service] +Type=oneshot +ExecStart=mmcli --scan-modems 1>/dev/null 2>&1 diff --git a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/late-modems-scan.timer b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/late-modems-scan.timer new file mode 100644 index 000000000..02348a9af --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/late-modems-scan.timer @@ -0,0 +1,8 @@ +[Unit] +Description=Late modems scan timer + +[Timer] +OnActiveSec=40s + +[Install] +WantedBy=multi-user.target diff --git a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager_%.bbappend b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager_%.bbappend index 85afe616e..8469412aa 100644 --- a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager_%.bbappend +++ b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager_%.bbappend @@ -5,6 +5,8 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" SRC_URI += " \ file://78-mm-digi-xbee-cellular.rules \ file://80-mm-net-device-blacklist.rules \ + file://late-modems-scan.service \ + file://late-modems-scan.timer \ " # 'polkit' depends on 'consolekit', and this requires 'x11' distro feature. So @@ -19,6 +21,14 @@ do_install_append() { # Install udev rules for ModemManager blacklist devices install -m 0644 ${WORKDIR}/80-mm-net-device-blacklist.rules ${D}${nonarch_base_libdir}/udev/rules.d/ + + # Install systemd service for scanning late modems + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/late-modems-scan.service ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/late-modems-scan.timer ${D}${systemd_unitdir}/system/ } +SYSTEMD_SERVICE_${PN}_append = " late-modems-scan.timer" +FILES_${PN}_append = " late-modems-scan.timer" + PACKAGE_ARCH = "${MACHINE_ARCH}"