mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-12 10:31: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
|
||||
|
||||
PKG_NAME:=libmbim
|
||||
PKG_VERSION:=1.26.4
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
PKG_SOURCE_VERSION:=1.28.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=https://www.freedesktop.org/software/libmbim
|
||||
PKG_HASH:=f688cec4c4586a17575f5e327448ce62f2000ef6a07c9e4589873d4a68568ad9
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/libmbim.git
|
||||
PKG_MIRROR_HASH:=0b0b46016738fc22355d5a58c8a2d1b2f04906c49c51a50b57a09640d13b00b7
|
||||
|
||||
PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
|
||||
|
||||
PKG_INSTALL:=1
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include $(INCLUDE_DIR)/nls.mk
|
||||
include $(INCLUDE_DIR)/meson.mk
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--disable-static \
|
||||
--disable-gtk-doc \
|
||||
--disable-gtk-doc-html \
|
||||
--disable-gtk-doc-pdf \
|
||||
--disable-silent-rules \
|
||||
--enable-more-warnings=yes
|
||||
TARGET_CFLAGS += -ffunction-sections -fdata-sections -fno-merge-all-constants -fmerge-constants
|
||||
TARGET_LDFLAGS += -Wl,--gc-sections
|
||||
|
||||
MESON_ARGS += \
|
||||
-Dintrospection=false \
|
||||
-Dman=false \
|
||||
-Dbash_completion=false \
|
||||
-Db_lto=true
|
||||
|
||||
define Package/libmbim
|
||||
SECTION:=libs
|
||||
|
@ -56,10 +55,6 @@ define Package/mbim-utils
|
|||
LICENSE_FILES:=COPYING
|
||||
endef
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--without-udev \
|
||||
--without-udev-base-dir
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(CP) \
|
||||
|
@ -78,11 +73,15 @@ define Build/InstallDev
|
|||
endef
|
||||
|
||||
define Package/libmbim/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(INSTALL_DIR) \
|
||||
$(1)/usr/lib \
|
||||
$(1)/usr/libexec
|
||||
|
||||
$(CP) \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/libmbim*.so.* \
|
||||
$(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
|
||||
|
||||
define Package/mbim-utils/install
|
||||
|
|
|
@ -13,4 +13,19 @@ config LIBQMI_WITH_QRTR_GLIB
|
|||
help
|
||||
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
|
||||
|
|
|
@ -8,20 +8,21 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libqmi
|
||||
PKG_VERSION:=1.30.8
|
||||
PKG_RELEASE:=$(AUTORELEASE)
|
||||
PKG_SOURCE_VERSION:=1.32.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=https://www.freedesktop.org/software/libqmi
|
||||
PKG_HASH:=862482ce9e3ad0bd65d264334ee311cdb94b9df2863b5b7136309b41b8ac1990
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/libqmi.git
|
||||
PKG_MIRROR_HASH:=711d16d75a6a9afaefcf2be1bc845a4a6181dff786dfbd079e41e91279a0be91
|
||||
|
||||
PKG_MAINTAINER:=Nicholas Smith <nicholas@nbembedded.com>
|
||||
|
||||
PKG_INSTALL:=1
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.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
|
||||
source "$(SOURCE)/Config.in"
|
||||
|
@ -59,28 +60,16 @@ define Package/libqmi-utils/description
|
|||
Utils to talk to QMI enabled modems
|
||||
endef
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--disable-static \
|
||||
--disable-gtk-doc \
|
||||
--disable-gtk-doc-html \
|
||||
--disable-gtk-doc-pdf \
|
||||
--disable-silent-rules \
|
||||
--enable-firmware-update \
|
||||
--enable-more-warnings=yes \
|
||||
--without-udev \
|
||||
--without-udev-base-dir
|
||||
|
||||
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
|
||||
MESON_ARGS += \
|
||||
-Dudev=false \
|
||||
-Dintrospection=false \
|
||||
-Dman=false \
|
||||
-Dbash_completion=false \
|
||||
-Db_lto=true \
|
||||
-Dmbim_qmux=$(if $(CONFIG_LIBQMI_WITH_MBIM_QMUX),true,false) \
|
||||
-Dqrtr=$(if $(CONFIG_LIBQMI_WITH_QRTR_GLIB),true,false) \
|
||||
-Dcollection=$(if $(CONFIG_LIBQMI_COLLECTION_MINIMAL),minimal\
|
||||
,$(if $(CONFIG_LIBQMI_COLLECTION_BASIC),basic,full))
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
|
@ -100,12 +89,15 @@ define Build/InstallDev
|
|||
endef
|
||||
|
||||
define Package/libqmi/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(INSTALL_DIR) \
|
||||
$(1)/usr/lib \
|
||||
$(1)/usr/libexec
|
||||
|
||||
$(CP) \
|
||||
$(PKG_INSTALL_DIR)/usr/lib/libqmi*.so.* \
|
||||
$(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
|
||||
|
||||
define Package/qmi-utils/install
|
||||
|
|
|
@ -1,21 +1,30 @@
|
|||
menu "Configuration"
|
||||
depends on PACKAGE_modemmanager
|
||||
depends on PACKAGE_modemmanager
|
||||
|
||||
config MODEMMANAGER_WITH_MBIM
|
||||
bool "Include MBIM support"
|
||||
default y
|
||||
help
|
||||
Compile ModemManager with MBIM support
|
||||
config MODEMMANAGER_WITH_MBIM
|
||||
bool "Include MBIM support"
|
||||
default y
|
||||
help
|
||||
Compile ModemManager with MBIM support
|
||||
|
||||
config MODEMMANAGER_WITH_QMI
|
||||
bool "Include QMI support"
|
||||
default y
|
||||
help
|
||||
Compile ModemManager with QMI support
|
||||
config MODEMMANAGER_WITH_QMI
|
||||
bool "Include QMI support"
|
||||
default y
|
||||
help
|
||||
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
|
||||
|
|
|
@ -8,23 +8,25 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=modemmanager
|
||||
PKG_VERSION:=1.18.12
|
||||
PKG_SOURCE_VERSION:=1.20.2
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=ModemManager-$(PKG_VERSION).tar.xz
|
||||
PKG_SOURCE_URL:=https://www.freedesktop.org/software/ModemManager
|
||||
PKG_HASH:=b464e4925d955a6ca86dd08616e763b26ae46d7fd37dbe281678e34065b1e430
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/ModemManager-$(PKG_VERSION)
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git
|
||||
PKG_MIRROR_HASH:=f138effc693456c5040ec22e17c0a8b41143c3b17b62437462995c297a9150dc
|
||||
|
||||
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_FILES:=COPYING
|
||||
|
||||
PKG_INSTALL:=1
|
||||
PKG_BUILD_PARALLEL:=1
|
||||
PKG_BUILD_DEPENDS:=glib2/host libxslt/host
|
||||
|
||||
include $(INCLUDE_DIR)/package.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
|
||||
source "$(SOURCE)/Config.in"
|
||||
|
@ -41,7 +43,8 @@ define Package/modemmanager
|
|||
+dbus \
|
||||
+ppp \
|
||||
+MODEMMANAGER_WITH_MBIM:libmbim \
|
||||
+MODEMMANAGER_WITH_QMI:libqmi
|
||||
+MODEMMANAGER_WITH_QMI:libqmi \
|
||||
+MODEMMANAGER_WITH_QRTR:libqrtr-glib
|
||||
endef
|
||||
|
||||
define Package/modemmanager/description
|
||||
|
@ -50,35 +53,22 @@ define Package/modemmanager/description
|
|||
Select Utilities/usb-modeswitch if needed.
|
||||
endef
|
||||
|
||||
CONFIGURE_ARGS += \
|
||||
--without-polkit \
|
||||
--without-udev \
|
||||
--without-systemdsystemunitdir \
|
||||
--disable-rpath \
|
||||
--disable-gtk-doc
|
||||
|
||||
ifeq ($(CONFIG_MODEMMANAGER_WITH_AT_COMMAND_VIA_DBUS),y)
|
||||
CONFIGURE_ARGS += --with-at-command-via-dbus
|
||||
endif
|
||||
|
||||
ifdef CONFIG_MODEMMANAGER_WITH_MBIM
|
||||
CONFIGURE_ARGS += --with-mbim
|
||||
else
|
||||
CONFIGURE_ARGS += --without-mbim
|
||||
endif
|
||||
|
||||
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
|
||||
MESON_ARGS += \
|
||||
-Dudev=false \
|
||||
-Dudevdir=/lib/udev \
|
||||
-Dtests=false \
|
||||
-Dsystemdsystemunitdir=no \
|
||||
-Dsystemd_suspend_resume=false \
|
||||
-Dsystemd_journal=false \
|
||||
-Dpolkit=no \
|
||||
-Dintrospection=false \
|
||||
-Dman=false \
|
||||
-Dbash_completion=false \
|
||||
-Db_lto=true \
|
||||
-Dmbim=$(if $(CONFIG_MODEMMANAGER_WITH_MBIM),true,false) \
|
||||
-Dqmi=$(if $(CONFIG_MODEMMANAGER_WITH_QMI),true,false) \
|
||||
-Dqrtr=$(if $(CONFIG_MODEMMANAGER_WITH_QRTR),true,false) \
|
||||
-Dat_command_via_dbus=$(if $(CONFIG_MODEMMANAGER_WITH_AT_COMMAND_VIA_DBUS),true,false)
|
||||
|
||||
define Build/InstallDev
|
||||
$(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-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_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) ./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_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}"
|
||||
|
||||
# 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}"
|
||||
|
||||
# Look for an associated cdc-wdm interface
|
||||
|
@ -26,6 +26,6 @@ esac
|
|||
|
||||
# Report cdc-wdm device, if any
|
||||
[ -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}"
|
||||
}
|
||||
|
|
|
@ -12,5 +12,5 @@
|
|||
mkdir -m 0755 -p "${MODEMMANAGER_RUNDIR}"
|
||||
|
||||
# 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}"
|
||||
|
|
|
@ -11,5 +11,5 @@
|
|||
mkdir -m 0755 -p "${MODEMMANAGER_RUNDIR}"
|
||||
|
||||
# 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}"
|
||||
|
|
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 \
|
||||
noauth \
|
||||
$authopts \
|
||||
${username:+ user $username} \
|
||||
${password:+ password $password} \
|
||||
${username:+ user "$username"} \
|
||||
${password:+ password "$password"} \
|
||||
lcp-echo-failure 5 \
|
||||
lcp-echo-interval 15 \
|
||||
lock \
|
||||
|
@ -197,7 +197,6 @@ modemmanager_connected_method_dhcp_ipv4() {
|
|||
local interface="$1"
|
||||
local wwan="$2"
|
||||
local metric="$3"
|
||||
local defaultroute="$4"
|
||||
|
||||
proto_init_update "${wwan}" 1
|
||||
proto_set_keep 1
|
||||
|
@ -223,7 +222,6 @@ modemmanager_connected_method_static_ipv4() {
|
|||
local dns1="$7"
|
||||
local dns2="$8"
|
||||
local metric="$9"
|
||||
local defaultroute="$10"
|
||||
|
||||
local mask=""
|
||||
|
||||
|
@ -244,9 +242,8 @@ modemmanager_connected_method_static_ipv4() {
|
|||
proto_set_keep 1
|
||||
echo "adding IPv4 address ${address}, netmask ${mask}"
|
||||
proto_add_ipv4_address "${address}" "${mask}"
|
||||
[ -n "${gateway}" ] && [ "${defaultroute}" != 0 ] && {
|
||||
[ -n "${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}"
|
||||
}
|
||||
[ -n "${dns1}" ] && {
|
||||
|
@ -265,7 +262,6 @@ modemmanager_connected_method_dhcp_ipv6() {
|
|||
local interface="$1"
|
||||
local wwan="$2"
|
||||
local metric="$3"
|
||||
local defaultroute="$4"
|
||||
|
||||
proto_init_update "${wwan}" 1
|
||||
proto_set_keep 1
|
||||
|
@ -292,7 +288,6 @@ modemmanager_connected_method_static_ipv6() {
|
|||
local dns1="$7"
|
||||
local dns2="$8"
|
||||
local metric="$9"
|
||||
local defaultroute="$10"
|
||||
|
||||
[ -n "${address}" ] || {
|
||||
proto_notify_error "${interface}" ADDRESS_MISSING
|
||||
|
@ -311,7 +306,7 @@ modemmanager_connected_method_static_ipv6() {
|
|||
echo "adding IPv6 address ${address}, prefix ${prefix}"
|
||||
proto_add_ipv6_address "${address}" "128"
|
||||
proto_add_ipv6_prefix "${address}/${prefix}"
|
||||
[ -n "${gateway}" ] && [ "$defaultroute" != 0 ] && {
|
||||
[ -n "${gateway}" ] && {
|
||||
echo "adding default IPv6 route via ${gateway}"
|
||||
proto_add_ipv6_route "${gateway}" "128"
|
||||
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 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
|
||||
[ -n "${device}" ] || {
|
||||
|
@ -452,7 +447,7 @@ proto_modemmanager_setup() {
|
|||
echo "IPv4 connection setup required in interface ${interface}: ${bearermethod_ipv4}"
|
||||
case "${bearermethod_ipv4}" in
|
||||
"dhcp")
|
||||
modemmanager_connected_method_dhcp_ipv4 "${interface}" "${beareriface}" "${metric}" "${defaultroute}"
|
||||
modemmanager_connected_method_dhcp_ipv4 "${interface}" "${beareriface}" "${metric}"
|
||||
;;
|
||||
"static")
|
||||
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")
|
||||
dns1=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv4-config.dns.value\[1\]")
|
||||
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")
|
||||
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}"
|
||||
case "${bearermethod_ipv6}" in
|
||||
"dhcp")
|
||||
modemmanager_connected_method_dhcp_ipv6 "${interface}" "${beareriface}" "${metric}" "${defaultroute}"
|
||||
modemmanager_connected_method_dhcp_ipv6 "${interface}" "${beareriface}" "${metric}"
|
||||
;;
|
||||
"static")
|
||||
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")
|
||||
dns1=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv6-config.dns.value\[1\]")
|
||||
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")
|
||||
proto_notify_error "${interface}" "unsupported method"
|
||||
|
@ -520,7 +515,8 @@ proto_modemmanager_teardown() {
|
|||
modemstatus=$(mmcli --modem="${device}" --output-keyvalue)
|
||||
bearerpath=$(modemmanager_get_field "${modemstatus}" "modem.generic.bearers.value\[1\]")
|
||||
[ -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
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue