diff --git a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/0001-configure.ac-add-foreign-automake-option.patch b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/0001-configure.ac-add-foreign-automake-option.patch new file mode 100644 index 000000000..f9df8b367 --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/0001-configure.ac-add-foreign-automake-option.patch @@ -0,0 +1,25 @@ +From: Javier Viguera +Date: Thu, 6 Apr 2017 11:17:46 +0200 +Subject: [PATCH] configure.ac: add foreign automake option + +Needed to build the repository directly in Yocto, so the missing +autotools files are generated. + +Signed-off-by: Javier Viguera +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c8a35d1b1a3f..24ed761d8e42 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -26,7 +26,7 @@ dnl----------------------------------------------------------------------------- + dnl autoconf, automake, libtool initialization + dnl + AC_INIT([ModemManager],[mm_version],[modemmanager-devel@lists.freedesktop.org],[ModemManager]) +-AM_INIT_AUTOMAKE([1.11.2 subdir-objects tar-ustar no-dist-gzip dist-xz -Wno-portability]) ++AM_INIT_AUTOMAKE([1.11.2 foreign subdir-objects tar-ustar no-dist-gzip dist-xz -Wno-portability]) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + + AM_MAINTAINER_MODE([enable]) diff --git a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/0001-telit-lock-unlock-CSIM-operations-by-default.patch b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/0001-telit-lock-unlock-CSIM-operations-by-default.patch deleted file mode 100644 index 07a55dbe2..000000000 --- a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager/0001-telit-lock-unlock-CSIM-operations-by-default.patch +++ /dev/null @@ -1,144 +0,0 @@ -From: Aleksander Morgado -Date: Wed, 15 Mar 2017 00:03:35 +0100 -Subject: [PATCH] telit: lock/unlock CSIM operations by default - -Wrap the AT+CSIM=XX commands between lock (CSIM=1) and -unlock (CSIM=0) operations. - -This seems to avoid the TTY lockup seen in several different Telit -modules. - -https://bugs.freedesktop.org/show_bug.cgi?id=100205 - -Reported-by: Penalva, Salvador -(cherry picked from commit 9384817a14c8706909f619e773a76edd65a0fdef) ---- - plugins/telit/mm-broadband-modem-telit.c | 69 +++++++++++++++++++++++++++++++- - 1 file changed, 68 insertions(+), 1 deletion(-) - -diff --git a/plugins/telit/mm-broadband-modem-telit.c b/plugins/telit/mm-broadband-modem-telit.c -index 8baf2cf..264dd58 100644 ---- a/plugins/telit/mm-broadband-modem-telit.c -+++ b/plugins/telit/mm-broadband-modem-telit.c -@@ -278,8 +278,17 @@ modem_load_supported_bands (MMIfaceModem *self, - } - - /*****************************************************************************/ --/* Load unlock retries (Modem interface) */ -+/* Load unlock retries (Modem interface) -+ * -+ * NOTE: the logic must make sure that LOAD_UNLOCK_RETRIES_STEP_UNLOCK is always -+ * run if LOAD_UNLOCK_RETRIES_STEP_LOCK has been run. Currently, the logic just -+ * runs all intermediate steps ignoring errors (i.e. not completing the -+ * operation if something fails), so the LOAD_UNLOCK_RETRIES_STEP_UNLOCK is -+ * always run. -+ */ - -+#define CSIM_LOCK_STR "+CSIM=1" -+#define CSIM_UNLOCK_STR "+CSIM=0" - #define CSIM_QUERY_PIN_RETRIES_STR "+CSIM=10,0020000100" - #define CSIM_QUERY_PUK_RETRIES_STR "+CSIM=10,002C000100" - #define CSIM_QUERY_PIN2_RETRIES_STR "+CSIM=10,0020008100" -@@ -288,10 +297,12 @@ modem_load_supported_bands (MMIfaceModem *self, - - typedef enum { - LOAD_UNLOCK_RETRIES_STEP_FIRST, -+ LOAD_UNLOCK_RETRIES_STEP_LOCK, - LOAD_UNLOCK_RETRIES_STEP_PIN, - LOAD_UNLOCK_RETRIES_STEP_PUK, - LOAD_UNLOCK_RETRIES_STEP_PIN2, - LOAD_UNLOCK_RETRIES_STEP_PUK2, -+ LOAD_UNLOCK_RETRIES_STEP_UNLOCK, - LOAD_UNLOCK_RETRIES_STEP_LAST - } LoadUnlockRetriesStep; - -@@ -328,6 +339,25 @@ modem_load_unlock_retries_finish (MMIfaceModem *self, - } - - static void -+csim_unlock_ready (MMBaseModem *self, -+ GAsyncResult *res, -+ LoadUnlockRetriesContext *ctx) -+{ -+ const gchar *response; -+ GError *error = NULL; -+ -+ /* Ignore errors */ -+ response = mm_base_modem_at_command_finish (self, res, &error); -+ if (!response) { -+ mm_warn ("Couldn't unlock SIM card: %s", error->message); -+ g_error_free (error); -+ } -+ -+ ctx->step++; -+ load_unlock_retries_step (ctx); -+} -+ -+static void - csim_query_ready (MMBaseModem *self, - GAsyncResult *res, - LoadUnlockRetriesContext *ctx) -@@ -370,6 +400,7 @@ csim_query_ready (MMBaseModem *self, - mm_unlock_retries_set (ctx->retries, MM_MODEM_LOCK_SIM_PUK2, unlock_retries); - break; - default: -+ g_assert_not_reached (); - break; - } - -@@ -379,12 +410,40 @@ next_step: - } - - static void -+csim_lock_ready (MMBaseModem *self, -+ GAsyncResult *res, -+ LoadUnlockRetriesContext *ctx) -+{ -+ const gchar *response; -+ GError *error = NULL; -+ -+ response = mm_base_modem_at_command_finish (self, res, &error); -+ if (!response) { -+ g_prefix_error (&error, "Couldn't lock SIM card: "); -+ g_simple_async_result_take_error (ctx->result, error); -+ load_unlock_retries_context_complete_and_free (ctx); -+ return; -+ } -+ -+ ctx->step++; -+ load_unlock_retries_step (ctx); -+} -+ -+static void - load_unlock_retries_step (LoadUnlockRetriesContext *ctx) - { - switch (ctx->step) { - case LOAD_UNLOCK_RETRIES_STEP_FIRST: - /* Fall back on next step */ - ctx->step++; -+ case LOAD_UNLOCK_RETRIES_STEP_LOCK: -+ mm_base_modem_at_command (MM_BASE_MODEM (ctx->self), -+ CSIM_LOCK_STR, -+ CSIM_QUERY_TIMEOUT, -+ FALSE, -+ (GAsyncReadyCallback) csim_lock_ready, -+ ctx); -+ break; - case LOAD_UNLOCK_RETRIES_STEP_PIN: - mm_base_modem_at_command (MM_BASE_MODEM (ctx->self), - CSIM_QUERY_PIN_RETRIES_STR, -@@ -417,6 +476,14 @@ load_unlock_retries_step (LoadUnlockRetriesContext *ctx) - (GAsyncReadyCallback) csim_query_ready, - ctx); - break; -+ case LOAD_UNLOCK_RETRIES_STEP_UNLOCK: -+ mm_base_modem_at_command (MM_BASE_MODEM (ctx->self), -+ CSIM_UNLOCK_STR, -+ CSIM_QUERY_TIMEOUT, -+ FALSE, -+ (GAsyncReadyCallback) csim_unlock_ready, -+ ctx); -+ break; - case LOAD_UNLOCK_RETRIES_STEP_LAST: - if (ctx->succeded_requests == 0) { - g_simple_async_result_set_error (ctx->result, diff --git a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager_%.bbappend b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager_%.bbappend index 4b9ab0d6c..c8019ea83 100644 --- a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager_%.bbappend +++ b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager_%.bbappend @@ -4,7 +4,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" SRC_URI += " \ file://cellularifupdown \ - file://0001-telit-lock-unlock-CSIM-operations-by-default.patch \ " # 'polkit' depends on 'consolekit', and this requires 'x11' distro feature. So diff --git a/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager_git.bb b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager_git.bb new file mode 100644 index 000000000..0ed4553a1 --- /dev/null +++ b/meta-digi-dey/recipes-connectivity/modemmanager/modemmanager_git.bb @@ -0,0 +1,44 @@ +SUMMARY = "ModemManager is a daemon controlling broadband devices/connections" +DESCRIPTION = "ModemManager is a DBus-activated daemon which controls mobile \ +broadband (2G/3G/4G) devices and connections" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/ModemManager/" +LICENSE = "GPL-2.0 & LGPL-2.1" +LIC_FILES_CHKSUM = " \ + file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \ +" + +DEPENDS = "dbus-glib glib-2.0 intltool-native libgudev" + +PV = "1.7.0+git${SRCPV}" + +SRC_URI = " \ + git://anongit.freedesktop.org/git/ModemManager/ModemManager.git;protocol=https \ + file://0001-configure.ac-add-foreign-automake-option.patch \ +" +SRCREV = "34443289d97da5c95270c6071d140f4567047624" + +S = "${WORKDIR}/git" + +PACKAGECONFIG ??= "mbim qmi polkit \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ +" +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,," +PACKAGECONFIG[polkit] = "--with-polkit=yes,--with-polkit=no,polkit" +PACKAGECONFIG[mbim] = "--with-mbim,--enable-mbim=no,libmbim" +PACKAGECONFIG[qmi] = "--with-qmi,--without-qmi,libqmi" + +inherit autotools bash-completion gettext gobject-introspection gtk-doc pkgconfig systemd vala + +FILES_${PN} += " \ + ${datadir}/icons \ + ${datadir}/polkit-1 \ + ${datadir}/dbus-1 \ + ${libdir}/ModemManager \ + ${systemd_unitdir}/system \ +" +FILES_${PN}-dev += "${libdir}/ModemManager/*.la" +FILES_${PN}-staticdev += "${libdir}/ModemManager/*.a" +FILES_${PN}-dbg += "${libdir}/ModemManager/.debug" + +SYSTEMD_SERVICE_${PN} = "ModemManager.service"