mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-14 19:41:51 +00:00
Update modemmanager, libmbim and libqmi
This commit is contained in:
parent
a496b2affc
commit
6ca6ba2244
10 changed files with 169 additions and 127 deletions
|
@ -8,28 +8,27 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=libmbim
|
PKG_NAME:=libmbim
|
||||||
PKG_VERSION:=1.26.4
|
PKG_SOURCE_VERSION:=1.28.2
|
||||||
PKG_RELEASE:=$(AUTORELEASE)
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL:=https://www.freedesktop.org/software/libmbim
|
PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/libmbim.git
|
||||||
PKG_HASH:=f688cec4c4586a17575f5e327448ce62f2000ef6a07c9e4589873d4a68568ad9
|
PKG_MIRROR_HASH:=0b0b46016738fc22355d5a58c8a2d1b2f04906c49c51a50b57a09640d13b00b7
|
||||||
|
|
||||||
PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
|
PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
|
||||||
|
|
||||||
PKG_INSTALL:=1
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/nls.mk
|
include $(INCLUDE_DIR)/nls.mk
|
||||||
|
include $(INCLUDE_DIR)/meson.mk
|
||||||
|
|
||||||
CONFIGURE_ARGS += \
|
TARGET_CFLAGS += -ffunction-sections -fdata-sections -fno-merge-all-constants -fmerge-constants
|
||||||
--disable-static \
|
TARGET_LDFLAGS += -Wl,--gc-sections
|
||||||
--disable-gtk-doc \
|
|
||||||
--disable-gtk-doc-html \
|
MESON_ARGS += \
|
||||||
--disable-gtk-doc-pdf \
|
-Dintrospection=false \
|
||||||
--disable-silent-rules \
|
-Dman=false \
|
||||||
--enable-more-warnings=yes
|
-Dbash_completion=false \
|
||||||
|
-Db_lto=true
|
||||||
|
|
||||||
define Package/libmbim
|
define Package/libmbim
|
||||||
SECTION:=libs
|
SECTION:=libs
|
||||||
|
@ -56,10 +55,6 @@ define Package/mbim-utils
|
||||||
LICENSE_FILES:=COPYING
|
LICENSE_FILES:=COPYING
|
||||||
endef
|
endef
|
||||||
|
|
||||||
CONFIGURE_ARGS += \
|
|
||||||
--without-udev \
|
|
||||||
--without-udev-base-dir
|
|
||||||
|
|
||||||
define Build/InstallDev
|
define Build/InstallDev
|
||||||
$(INSTALL_DIR) $(1)/usr/include
|
$(INSTALL_DIR) $(1)/usr/include
|
||||||
$(CP) \
|
$(CP) \
|
||||||
|
@ -78,11 +73,15 @@ define Build/InstallDev
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/libmbim/install
|
define Package/libmbim/install
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) \
|
||||||
|
$(1)/usr/lib \
|
||||||
|
$(1)/usr/libexec
|
||||||
|
|
||||||
$(CP) \
|
$(CP) \
|
||||||
$(PKG_INSTALL_DIR)/usr/lib/libmbim*.so.* \
|
$(PKG_INSTALL_DIR)/usr/lib/libmbim*.so.* \
|
||||||
$(1)/usr/lib/
|
$(1)/usr/lib/
|
||||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/mbim-proxy $(1)/usr/lib/
|
|
||||||
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/mbim-proxy $(1)/usr/libexec/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/mbim-utils/install
|
define Package/mbim-utils/install
|
||||||
|
|
|
@ -13,4 +13,19 @@ config LIBQMI_WITH_QRTR_GLIB
|
||||||
help
|
help
|
||||||
Compile libqmi with QRTR support
|
Compile libqmi with QRTR support
|
||||||
|
|
||||||
|
choice
|
||||||
|
prompt "Select QMI message collection to build"
|
||||||
|
default LIBQMI_COLLECTION_BASIC
|
||||||
|
|
||||||
|
config LIBQMI_COLLECTION_MINIMAL
|
||||||
|
depends on !MODEMMANAGER_WITH_QMI
|
||||||
|
bool "minimal"
|
||||||
|
|
||||||
|
config LIBQMI_COLLECTION_BASIC
|
||||||
|
bool "basic (default)"
|
||||||
|
|
||||||
|
config LIBQMI_COLLECTION_FULL
|
||||||
|
bool "full"
|
||||||
|
endchoice
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
|
@ -8,20 +8,21 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=libqmi
|
PKG_NAME:=libqmi
|
||||||
PKG_VERSION:=1.30.8
|
PKG_SOURCE_VERSION:=1.32.2
|
||||||
PKG_RELEASE:=$(AUTORELEASE)
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL:=https://www.freedesktop.org/software/libqmi
|
PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
|
||||||
PKG_HASH:=862482ce9e3ad0bd65d264334ee311cdb94b9df2863b5b7136309b41b8ac1990
|
PKG_MIRROR_HASH:=711d16d75a6a9afaefcf2be1bc845a4a6181dff786dfbd079e41e91279a0be91
|
||||||
|
|
||||||
PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
|
PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
|
||||||
|
|
||||||
PKG_INSTALL:=1
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/nls.mk
|
include $(INCLUDE_DIR)/nls.mk
|
||||||
|
include $(INCLUDE_DIR)/meson.mk
|
||||||
|
|
||||||
|
TARGET_CFLAGS += -ffunction-sections -fdata-sections -fno-merge-all-constants -fmerge-constants
|
||||||
|
TARGET_LDFLAGS += -Wl,--gc-sections
|
||||||
|
|
||||||
define Package/libqmi/config
|
define Package/libqmi/config
|
||||||
source "$(SOURCE)/Config.in"
|
source "$(SOURCE)/Config.in"
|
||||||
|
@ -59,28 +60,16 @@ define Package/libqmi-utils/description
|
||||||
Utils to talk to QMI enabled modems
|
Utils to talk to QMI enabled modems
|
||||||
endef
|
endef
|
||||||
|
|
||||||
CONFIGURE_ARGS += \
|
MESON_ARGS += \
|
||||||
--disable-static \
|
-Dudev=false \
|
||||||
--disable-gtk-doc \
|
-Dintrospection=false \
|
||||||
--disable-gtk-doc-html \
|
-Dman=false \
|
||||||
--disable-gtk-doc-pdf \
|
-Dbash_completion=false \
|
||||||
--disable-silent-rules \
|
-Db_lto=true \
|
||||||
--enable-firmware-update \
|
-Dmbim_qmux=$(if $(CONFIG_LIBQMI_WITH_MBIM_QMUX),true,false) \
|
||||||
--enable-more-warnings=yes \
|
-Dqrtr=$(if $(CONFIG_LIBQMI_WITH_QRTR_GLIB),true,false) \
|
||||||
--without-udev \
|
-Dcollection=$(if $(CONFIG_LIBQMI_COLLECTION_MINIMAL),minimal\
|
||||||
--without-udev-base-dir
|
,$(if $(CONFIG_LIBQMI_COLLECTION_BASIC),basic,full))
|
||||||
|
|
||||||
ifeq ($(CONFIG_LIBQMI_WITH_MBIM_QMUX),y)
|
|
||||||
CONFIGURE_ARGS += --enable-mbim-qmux
|
|
||||||
else
|
|
||||||
CONFIGURE_ARGS += --disable-mbim-qmux
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_LIBQMI_WITH_QRTR_GLIB),y)
|
|
||||||
CONFIGURE_ARGS += --enable-qrtr
|
|
||||||
else
|
|
||||||
CONFIGURE_ARGS += --disable-qrtr
|
|
||||||
endif
|
|
||||||
|
|
||||||
define Build/InstallDev
|
define Build/InstallDev
|
||||||
$(INSTALL_DIR) $(1)/usr/include
|
$(INSTALL_DIR) $(1)/usr/include
|
||||||
|
@ -100,12 +89,15 @@ define Build/InstallDev
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/libqmi/install
|
define Package/libqmi/install
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) \
|
||||||
|
$(1)/usr/lib \
|
||||||
|
$(1)/usr/libexec
|
||||||
|
|
||||||
$(CP) \
|
$(CP) \
|
||||||
$(PKG_INSTALL_DIR)/usr/lib/libqmi*.so.* \
|
$(PKG_INSTALL_DIR)/usr/lib/libqmi*.so.* \
|
||||||
$(1)/usr/lib/
|
$(1)/usr/lib/
|
||||||
|
|
||||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/qmi-proxy $(1)/usr/lib/
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/libexec/qmi-proxy $(1)/usr/libexec/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/qmi-utils/install
|
define Package/qmi-utils/install
|
||||||
|
|
|
@ -1,21 +1,30 @@
|
||||||
menu "Configuration"
|
menu "Configuration"
|
||||||
depends on PACKAGE_modemmanager
|
depends on PACKAGE_modemmanager
|
||||||
|
|
||||||
config MODEMMANAGER_WITH_MBIM
|
config MODEMMANAGER_WITH_MBIM
|
||||||
bool "Include MBIM support"
|
bool "Include MBIM support"
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
Compile ModemManager with MBIM support
|
Compile ModemManager with MBIM support
|
||||||
|
|
||||||
config MODEMMANAGER_WITH_QMI
|
config MODEMMANAGER_WITH_QMI
|
||||||
bool "Include QMI support"
|
bool "Include QMI support"
|
||||||
default y
|
default y
|
||||||
help
|
help
|
||||||
Compile ModemManager with QMI support
|
Compile ModemManager with QMI support
|
||||||
|
|
||||||
|
config MODEMMANAGER_WITH_QRTR
|
||||||
|
bool "Include QRTR support"
|
||||||
|
default y
|
||||||
|
depends on MODEMMANAGER_WITH_QMI
|
||||||
|
select LIBQMI_WITH_QRTR_GLIB
|
||||||
|
help
|
||||||
|
Compile ModemManager with QRTR support
|
||||||
|
|
||||||
|
config MODEMMANAGER_WITH_AT_COMMAND_VIA_DBUS
|
||||||
|
bool "Allow AT commands via DBus"
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Compile ModemManager allowing AT commands without debug flag
|
||||||
|
|
||||||
config MODEMMANAGER_WITH_AT_COMMAND_VIA_DBUS
|
|
||||||
bool "Allow AT commands via DBus"
|
|
||||||
default n
|
|
||||||
help
|
|
||||||
Compile ModemManager allowing AT commands without debug flag
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
|
@ -8,23 +8,25 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=modemmanager
|
PKG_NAME:=modemmanager
|
||||||
PKG_VERSION:=1.18.12
|
PKG_SOURCE_VERSION:=1.20.2
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE:=ModemManager-$(PKG_VERSION).tar.xz
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL:=https://www.freedesktop.org/software/ModemManager
|
PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git
|
||||||
PKG_HASH:=b464e4925d955a6ca86dd08616e763b26ae46d7fd37dbe281678e34065b1e430
|
PKG_MIRROR_HASH:=f138effc693456c5040ec22e17c0a8b41143c3b17b62437462995c297a9150dc
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/ModemManager-$(PKG_VERSION)
|
|
||||||
|
|
||||||
PKG_MAINTAINER:=Nicholas Smith <nicholas.smith@telcoantennas.com.au>
|
PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
|
||||||
PKG_LICENSE:=GPL-2.0-or-later
|
PKG_LICENSE:=GPL-2.0-or-later
|
||||||
PKG_LICENSE_FILES:=COPYING
|
PKG_LICENSE_FILES:=COPYING
|
||||||
|
|
||||||
PKG_INSTALL:=1
|
PKG_BUILD_DEPENDS:=glib2/host libxslt/host
|
||||||
PKG_BUILD_PARALLEL:=1
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/nls.mk
|
include $(INCLUDE_DIR)/nls.mk
|
||||||
|
include $(INCLUDE_DIR)/meson.mk
|
||||||
|
|
||||||
|
TARGET_CFLAGS += -ffunction-sections -fdata-sections -fno-merge-all-constants -fmerge-constants
|
||||||
|
TARGET_LDFLAGS += -Wl,--gc-sections
|
||||||
|
|
||||||
define Package/modemmanager/config
|
define Package/modemmanager/config
|
||||||
source "$(SOURCE)/Config.in"
|
source "$(SOURCE)/Config.in"
|
||||||
|
@ -41,7 +43,8 @@ define Package/modemmanager
|
||||||
+dbus \
|
+dbus \
|
||||||
+ppp \
|
+ppp \
|
||||||
+MODEMMANAGER_WITH_MBIM:libmbim \
|
+MODEMMANAGER_WITH_MBIM:libmbim \
|
||||||
+MODEMMANAGER_WITH_QMI:libqmi
|
+MODEMMANAGER_WITH_QMI:libqmi \
|
||||||
|
+MODEMMANAGER_WITH_QRTR:libqrtr-glib
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/modemmanager/description
|
define Package/modemmanager/description
|
||||||
|
@ -50,35 +53,22 @@ define Package/modemmanager/description
|
||||||
Select Utilities/usb-modeswitch if needed.
|
Select Utilities/usb-modeswitch if needed.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
CONFIGURE_ARGS += \
|
MESON_ARGS += \
|
||||||
--without-polkit \
|
-Dudev=false \
|
||||||
--without-udev \
|
-Dudevdir=/lib/udev \
|
||||||
--without-systemdsystemunitdir \
|
-Dtests=false \
|
||||||
--disable-rpath \
|
-Dsystemdsystemunitdir=no \
|
||||||
--disable-gtk-doc
|
-Dsystemd_suspend_resume=false \
|
||||||
|
-Dsystemd_journal=false \
|
||||||
ifeq ($(CONFIG_MODEMMANAGER_WITH_AT_COMMAND_VIA_DBUS),y)
|
-Dpolkit=no \
|
||||||
CONFIGURE_ARGS += --with-at-command-via-dbus
|
-Dintrospection=false \
|
||||||
endif
|
-Dman=false \
|
||||||
|
-Dbash_completion=false \
|
||||||
ifdef CONFIG_MODEMMANAGER_WITH_MBIM
|
-Db_lto=true \
|
||||||
CONFIGURE_ARGS += --with-mbim
|
-Dmbim=$(if $(CONFIG_MODEMMANAGER_WITH_MBIM),true,false) \
|
||||||
else
|
-Dqmi=$(if $(CONFIG_MODEMMANAGER_WITH_QMI),true,false) \
|
||||||
CONFIGURE_ARGS += --without-mbim
|
-Dqrtr=$(if $(CONFIG_MODEMMANAGER_WITH_QRTR),true,false) \
|
||||||
endif
|
-Dat_command_via_dbus=$(if $(CONFIG_MODEMMANAGER_WITH_AT_COMMAND_VIA_DBUS),true,false)
|
||||||
|
|
||||||
ifdef CONFIG_MODEMMANAGER_WITH_QMI
|
|
||||||
CONFIGURE_ARGS += --with-qmi
|
|
||||||
else
|
|
||||||
CONFIGURE_ARGS += --without-qmi
|
|
||||||
endif
|
|
||||||
|
|
||||||
define Build/Prepare
|
|
||||||
$(call Build/Prepare/Default)
|
|
||||||
( cd "$(PKG_BUILD_DIR)"; \
|
|
||||||
printf "all:\ninstall:\n" >po/Makefile.in.in; \
|
|
||||||
)
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Build/InstallDev
|
define Build/InstallDev
|
||||||
$(INSTALL_DIR) $(1)/usr/include/ModemManager
|
$(INSTALL_DIR) $(1)/usr/include/ModemManager
|
||||||
|
@ -110,6 +100,9 @@ define Package/modemmanager/install
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ModemManager/libmm-shared-*.so* $(1)/usr/lib/ModemManager
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ModemManager/libmm-shared-*.so* $(1)/usr/lib/ModemManager
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ModemManager/libmm-plugin-*.so* $(1)/usr/lib/ModemManager
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ModemManager/libmm-plugin-*.so* $(1)/usr/lib/ModemManager
|
||||||
|
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib/ModemManager/connection.d
|
||||||
|
$(INSTALL_BIN) ./files/10-report-down $(1)/usr/lib/ModemManager/connection.d
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/etc/dbus-1/system.d
|
$(INSTALL_DIR) $(1)/etc/dbus-1/system.d
|
||||||
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/dbus-1/system.d/org.freedesktop.ModemManager1.conf $(1)/etc/dbus-1/system.d
|
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/dbus-1/system.d/org.freedesktop.ModemManager1.conf $(1)/etc/dbus-1/system.d
|
||||||
|
|
||||||
|
@ -120,6 +113,9 @@ define Package/modemmanager/install
|
||||||
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/ModemManager/*.conf $(1)/usr/share/ModemManager
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/ModemManager/*.conf $(1)/usr/share/ModemManager
|
||||||
$(INSTALL_DATA) ./files/modemmanager.common $(1)/usr/share/ModemManager
|
$(INSTALL_DATA) ./files/modemmanager.common $(1)/usr/share/ModemManager
|
||||||
|
|
||||||
|
$(INSTALL_DIR) $(1)/usr/share/ModemManager/fcc-unlock.available.d
|
||||||
|
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/ModemManager/fcc-unlock.available.d/* $(1)/usr/share/ModemManager/fcc-unlock.available.d
|
||||||
|
|
||||||
$(INSTALL_DIR) $(1)/etc/init.d
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
$(INSTALL_BIN) ./files/modemmanager.init $(1)/etc/init.d/modemmanager
|
$(INSTALL_BIN) ./files/modemmanager.init $(1)/etc/init.d/modemmanager
|
||||||
|
|
||||||
|
|
35
modemmanager/files/10-report-down
Normal file
35
modemmanager/files/10-report-down
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# SPDX-License-Identifier: CC0-1.0
|
||||||
|
# 2022 Aleksander Morgado <aleksander@aleksander.es>
|
||||||
|
#
|
||||||
|
# Automatically report to netifd that the underlying modem
|
||||||
|
# is really disconnected
|
||||||
|
#
|
||||||
|
# require program name and at least 4 arguments
|
||||||
|
[ $# -lt 4 ] && exit 1
|
||||||
|
|
||||||
|
MODEM_PATH="$1"
|
||||||
|
BEARER_PATH="$2"
|
||||||
|
INTERFACE="$3"
|
||||||
|
STATE="$4"
|
||||||
|
|
||||||
|
[ "${STATE}" = "disconnected" ] || exit 0
|
||||||
|
|
||||||
|
. /usr/share/ModemManager/modemmanager.common
|
||||||
|
. /lib/netifd/netifd-proto.sh
|
||||||
|
INCLUDE_ONLY=1 . /lib/netifd/proto/modemmanager.sh
|
||||||
|
|
||||||
|
MODEM_STATUS=$(mmcli --modem="${MODEM_PATH}" --output-keyvalue)
|
||||||
|
[ -n "${MODEM_STATUS}" ] || exit 1
|
||||||
|
|
||||||
|
MODEM_DEVICE=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.device")
|
||||||
|
[ -n "${MODEM_DEVICE}" ] || exit 2
|
||||||
|
|
||||||
|
CFG=$(mm_get_modem_config "${MODEM_DEVICE}")
|
||||||
|
[ -n "${CFG}" ] || exit 3
|
||||||
|
|
||||||
|
logger -t "modemmanager" "interface ${CFG} (network device ${INTERFACE}) ${STATE}"
|
||||||
|
proto_init_update $INTERFACE 0
|
||||||
|
proto_send_update $CFG
|
||||||
|
exit 0
|
|
@ -12,7 +12,7 @@
|
||||||
mkdir -m 0755 -p "${MODEMMANAGER_RUNDIR}"
|
mkdir -m 0755 -p "${MODEMMANAGER_RUNDIR}"
|
||||||
|
|
||||||
# Report network interface
|
# Report network interface
|
||||||
mm_log "${ACTION} network interface ${INTERFACE}: event processed"
|
mm_log "info" "${ACTION} network interface ${INTERFACE}: event processed"
|
||||||
mm_report_event "${ACTION}" "${INTERFACE}" "net" "/sys${DEVPATH}"
|
mm_report_event "${ACTION}" "${INTERFACE}" "net" "/sys${DEVPATH}"
|
||||||
|
|
||||||
# Look for an associated cdc-wdm interface
|
# Look for an associated cdc-wdm interface
|
||||||
|
@ -26,6 +26,6 @@ esac
|
||||||
|
|
||||||
# Report cdc-wdm device, if any
|
# Report cdc-wdm device, if any
|
||||||
[ -n "${cdcwdm}" ] && {
|
[ -n "${cdcwdm}" ] && {
|
||||||
mm_log "${ACTION} cdc interface ${cdcwdm}: custom event processed"
|
mm_log "info" "${ACTION} cdc interface ${cdcwdm}: custom event processed"
|
||||||
mm_report_event "${ACTION}" "${cdcwdm}" "usbmisc" "/sys${DEVPATH}"
|
mm_report_event "${ACTION}" "${cdcwdm}" "usbmisc" "/sys${DEVPATH}"
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,5 +12,5 @@
|
||||||
mkdir -m 0755 -p "${MODEMMANAGER_RUNDIR}"
|
mkdir -m 0755 -p "${MODEMMANAGER_RUNDIR}"
|
||||||
|
|
||||||
# Report TTY
|
# Report TTY
|
||||||
mm_log "${ACTION} serial interface ${DEVNAME}: event processed"
|
mm_log "info" "${ACTION} serial interface ${DEVNAME}: event processed"
|
||||||
mm_report_event "${ACTION}" "${DEVNAME}" "tty" "/sys${DEVPATH}"
|
mm_report_event "${ACTION}" "${DEVNAME}" "tty" "/sys${DEVPATH}"
|
||||||
|
|
|
@ -11,5 +11,5 @@
|
||||||
mkdir -m 0755 -p "${MODEMMANAGER_RUNDIR}"
|
mkdir -m 0755 -p "${MODEMMANAGER_RUNDIR}"
|
||||||
|
|
||||||
# Report wwan
|
# Report wwan
|
||||||
mm_log "${ACTION} wwan control port ${DEVNAME}: event processed"
|
mm_log "info" "${ACTION} wwan control port ${DEVNAME}: event processed"
|
||||||
mm_report_event "${ACTION}" "${DEVNAME}" "wwan" "/sys${DEVPATH}"
|
mm_report_event "${ACTION}" "${DEVNAME}" "wwan" "/sys${DEVPATH}"
|
||||||
|
|
28
modemmanager/files/modemmanager.proto
Executable file → Normal file
28
modemmanager/files/modemmanager.proto
Executable file → Normal file
|
@ -156,8 +156,8 @@ modemmanager_connected_method_ppp_ipv4() {
|
||||||
novj \
|
novj \
|
||||||
noauth \
|
noauth \
|
||||||
$authopts \
|
$authopts \
|
||||||
${username:+ user $username} \
|
${username:+ user "$username"} \
|
||||||
${password:+ password $password} \
|
${password:+ password "$password"} \
|
||||||
lcp-echo-failure 5 \
|
lcp-echo-failure 5 \
|
||||||
lcp-echo-interval 15 \
|
lcp-echo-interval 15 \
|
||||||
lock \
|
lock \
|
||||||
|
@ -197,7 +197,6 @@ modemmanager_connected_method_dhcp_ipv4() {
|
||||||
local interface="$1"
|
local interface="$1"
|
||||||
local wwan="$2"
|
local wwan="$2"
|
||||||
local metric="$3"
|
local metric="$3"
|
||||||
local defaultroute="$4"
|
|
||||||
|
|
||||||
proto_init_update "${wwan}" 1
|
proto_init_update "${wwan}" 1
|
||||||
proto_set_keep 1
|
proto_set_keep 1
|
||||||
|
@ -223,7 +222,6 @@ modemmanager_connected_method_static_ipv4() {
|
||||||
local dns1="$7"
|
local dns1="$7"
|
||||||
local dns2="$8"
|
local dns2="$8"
|
||||||
local metric="$9"
|
local metric="$9"
|
||||||
local defaultroute="$10"
|
|
||||||
|
|
||||||
local mask=""
|
local mask=""
|
||||||
|
|
||||||
|
@ -244,9 +242,8 @@ modemmanager_connected_method_static_ipv4() {
|
||||||
proto_set_keep 1
|
proto_set_keep 1
|
||||||
echo "adding IPv4 address ${address}, netmask ${mask}"
|
echo "adding IPv4 address ${address}, netmask ${mask}"
|
||||||
proto_add_ipv4_address "${address}" "${mask}"
|
proto_add_ipv4_address "${address}" "${mask}"
|
||||||
[ -n "${gateway}" ] && [ "${defaultroute}" != 0 ] && {
|
[ -n "${gateway}" ] && {
|
||||||
echo "adding default IPv4 route via ${gateway}"
|
echo "adding default IPv4 route via ${gateway}"
|
||||||
logger -t "modemmanager.proto" "adding default IPv4 route via ${gateway} ${address}"
|
|
||||||
proto_add_ipv4_route "0.0.0.0" "0" "${gateway}" "${address}"
|
proto_add_ipv4_route "0.0.0.0" "0" "${gateway}" "${address}"
|
||||||
}
|
}
|
||||||
[ -n "${dns1}" ] && {
|
[ -n "${dns1}" ] && {
|
||||||
|
@ -265,7 +262,6 @@ modemmanager_connected_method_dhcp_ipv6() {
|
||||||
local interface="$1"
|
local interface="$1"
|
||||||
local wwan="$2"
|
local wwan="$2"
|
||||||
local metric="$3"
|
local metric="$3"
|
||||||
local defaultroute="$4"
|
|
||||||
|
|
||||||
proto_init_update "${wwan}" 1
|
proto_init_update "${wwan}" 1
|
||||||
proto_set_keep 1
|
proto_set_keep 1
|
||||||
|
@ -292,7 +288,6 @@ modemmanager_connected_method_static_ipv6() {
|
||||||
local dns1="$7"
|
local dns1="$7"
|
||||||
local dns2="$8"
|
local dns2="$8"
|
||||||
local metric="$9"
|
local metric="$9"
|
||||||
local defaultroute="$10"
|
|
||||||
|
|
||||||
[ -n "${address}" ] || {
|
[ -n "${address}" ] || {
|
||||||
proto_notify_error "${interface}" ADDRESS_MISSING
|
proto_notify_error "${interface}" ADDRESS_MISSING
|
||||||
|
@ -311,7 +306,7 @@ modemmanager_connected_method_static_ipv6() {
|
||||||
echo "adding IPv6 address ${address}, prefix ${prefix}"
|
echo "adding IPv6 address ${address}, prefix ${prefix}"
|
||||||
proto_add_ipv6_address "${address}" "128"
|
proto_add_ipv6_address "${address}" "128"
|
||||||
proto_add_ipv6_prefix "${address}/${prefix}"
|
proto_add_ipv6_prefix "${address}/${prefix}"
|
||||||
[ -n "${gateway}" ] && [ "$defaultroute" != 0 ] && {
|
[ -n "${gateway}" ] && {
|
||||||
echo "adding default IPv6 route via ${gateway}"
|
echo "adding default IPv6 route via ${gateway}"
|
||||||
proto_add_ipv6_route "${gateway}" "128"
|
proto_add_ipv6_route "${gateway}" "128"
|
||||||
proto_add_ipv6_route "::0" "0" "${gateway}" "" "" "${address}/${prefix}"
|
proto_add_ipv6_route "::0" "0" "${gateway}" "" "" "${address}/${prefix}"
|
||||||
|
@ -362,9 +357,9 @@ proto_modemmanager_setup() {
|
||||||
|
|
||||||
local device apn allowedauth username password pincode iptype metric signalrate
|
local device apn allowedauth username password pincode iptype metric signalrate
|
||||||
|
|
||||||
local address prefix gateway mtu dns1 dns2 defaultroute
|
local address prefix gateway mtu dns1 dns2
|
||||||
|
|
||||||
json_get_vars device apn allowedauth username password pincode iptype metric signalrate defaultroute
|
json_get_vars device apn allowedauth username password pincode iptype metric signalrate
|
||||||
|
|
||||||
# validate sysfs path given in config
|
# validate sysfs path given in config
|
||||||
[ -n "${device}" ] || {
|
[ -n "${device}" ] || {
|
||||||
|
@ -452,7 +447,7 @@ proto_modemmanager_setup() {
|
||||||
echo "IPv4 connection setup required in interface ${interface}: ${bearermethod_ipv4}"
|
echo "IPv4 connection setup required in interface ${interface}: ${bearermethod_ipv4}"
|
||||||
case "${bearermethod_ipv4}" in
|
case "${bearermethod_ipv4}" in
|
||||||
"dhcp")
|
"dhcp")
|
||||||
modemmanager_connected_method_dhcp_ipv4 "${interface}" "${beareriface}" "${metric}" "${defaultroute}"
|
modemmanager_connected_method_dhcp_ipv4 "${interface}" "${beareriface}" "${metric}"
|
||||||
;;
|
;;
|
||||||
"static")
|
"static")
|
||||||
address=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv4-config.address")
|
address=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv4-config.address")
|
||||||
|
@ -461,7 +456,7 @@ proto_modemmanager_setup() {
|
||||||
mtu=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv4-config.mtu")
|
mtu=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv4-config.mtu")
|
||||||
dns1=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv4-config.dns.value\[1\]")
|
dns1=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv4-config.dns.value\[1\]")
|
||||||
dns2=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv4-config.dns.value\[2\]")
|
dns2=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv4-config.dns.value\[2\]")
|
||||||
modemmanager_connected_method_static_ipv4 "${interface}" "${beareriface}" "${address}" "${prefix}" "${gateway}" "${mtu}" "${dns1}" "${dns2}" "${metric}" "${defaultroute}"
|
modemmanager_connected_method_static_ipv4 "${interface}" "${beareriface}" "${address}" "${prefix}" "${gateway}" "${mtu}" "${dns1}" "${dns2}" "${metric}"
|
||||||
;;
|
;;
|
||||||
"ppp")
|
"ppp")
|
||||||
modemmanager_connected_method_ppp_ipv4 "${interface}" "${beareriface}" "${username}" "${password}" "${allowedauth}"
|
modemmanager_connected_method_ppp_ipv4 "${interface}" "${beareriface}" "${username}" "${password}" "${allowedauth}"
|
||||||
|
@ -479,7 +474,7 @@ proto_modemmanager_setup() {
|
||||||
echo "IPv6 connection setup required in interface ${interface}: ${bearermethod_ipv6}"
|
echo "IPv6 connection setup required in interface ${interface}: ${bearermethod_ipv6}"
|
||||||
case "${bearermethod_ipv6}" in
|
case "${bearermethod_ipv6}" in
|
||||||
"dhcp")
|
"dhcp")
|
||||||
modemmanager_connected_method_dhcp_ipv6 "${interface}" "${beareriface}" "${metric}" "${defaultroute}"
|
modemmanager_connected_method_dhcp_ipv6 "${interface}" "${beareriface}" "${metric}"
|
||||||
;;
|
;;
|
||||||
"static")
|
"static")
|
||||||
address=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv6-config.address")
|
address=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv6-config.address")
|
||||||
|
@ -488,7 +483,7 @@ proto_modemmanager_setup() {
|
||||||
mtu=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv6-config.mtu")
|
mtu=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv6-config.mtu")
|
||||||
dns1=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv6-config.dns.value\[1\]")
|
dns1=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv6-config.dns.value\[1\]")
|
||||||
dns2=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv6-config.dns.value\[2\]")
|
dns2=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv6-config.dns.value\[2\]")
|
||||||
modemmanager_connected_method_static_ipv6 "${interface}" "${beareriface}" "${address}" "${prefix}" "${gateway}" "${mtu}" "${dns1}" "${dns2}" "${metric}" "${defaultroute}"
|
modemmanager_connected_method_static_ipv6 "${interface}" "${beareriface}" "${address}" "${prefix}" "${gateway}" "${mtu}" "${dns1}" "${dns2}" "${metric}"
|
||||||
;;
|
;;
|
||||||
"ppp")
|
"ppp")
|
||||||
proto_notify_error "${interface}" "unsupported method"
|
proto_notify_error "${interface}" "unsupported method"
|
||||||
|
@ -520,7 +515,8 @@ proto_modemmanager_teardown() {
|
||||||
modemstatus=$(mmcli --modem="${device}" --output-keyvalue)
|
modemstatus=$(mmcli --modem="${device}" --output-keyvalue)
|
||||||
bearerpath=$(modemmanager_get_field "${modemstatus}" "modem.generic.bearers.value\[1\]")
|
bearerpath=$(modemmanager_get_field "${modemstatus}" "modem.generic.bearers.value\[1\]")
|
||||||
[ -n "${bearerpath}" ] || {
|
[ -n "${bearerpath}" ] || {
|
||||||
echo "couldn't load bearer path"
|
echo "couldn't load bearer path: disconnecting anyway"
|
||||||
|
mmcli --modem="${device}" --simple-disconnect >/dev/null 2>&1
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue