Merge lp:~binli/ubuntu/vivid/modemmanager/lp1441095 into lp:ubuntu/vivid/modemmanager

Proposed by Bin Li on 2015-10-09
Status: Needs review
Proposed branch: lp:~binli/ubuntu/vivid/modemmanager/lp1441095
Merge into: lp:ubuntu/vivid/modemmanager
Diff against target: 8349 lines (+7593/-401)
33 files modified
.pc/applied-patches (+7/-0)
.pc/dell-mbim-plugin.patch/plugins/Makefile.am (+561/-0)
.pc/dell-mbim-plugin.patch/plugins/novatel/mm-plugin-novatel.c (+127/-0)
.pc/mbm-common-library.patch/plugins/Makefile.am (+542/-0)
.pc/new-sierra-legacy-plugin.patch/plugins/Makefile.am (+553/-0)
.pc/new-sierra-legacy-plugin.patch/plugins/sierra/mm-plugin-sierra.c (+129/-0)
.pc/novatel-common-library.patch/plugins/Makefile.am (+523/-0)
.pc/novatel-custom-init.patch/plugins/Makefile.am (+521/-0)
.pc/novatel-custom-init.patch/plugins/novatel/mm-plugin-novatel.c (+267/-0)
.pc/sierra-common-library.patch/plugins/Makefile.am (+533/-0)
.pc/sierra-custom-init.patch/plugins/sierra/mm-common-sierra.c (+308/-0)
.pc/sierra-custom-init.patch/plugins/sierra/mm-common-sierra.h (+50/-0)
.pc/sierra-custom-init.patch/plugins/sierra/mm-plugin-sierra.c (+343/-0)
debian/changelog (+7/-0)
debian/patches/dell-mbim-plugin.patch (+576/-0)
debian/patches/mbm-common-library.patch (+50/-0)
debian/patches/new-sierra-legacy-plugin.patch (+298/-0)
debian/patches/novatel-common-library.patch (+51/-0)
debian/patches/novatel-custom-init.patch (+396/-0)
debian/patches/series (+7/-0)
debian/patches/sierra-common-library.patch (+54/-0)
debian/patches/sierra-custom-init.patch (+554/-0)
plugins/Makefile.am (+66/-17)
plugins/dell/mm-plugin-dell.c (+448/-0)
plugins/dell/mm-plugin-dell.h (+46/-0)
plugins/novatel/mm-common-novatel.c (+158/-0)
plugins/novatel/mm-common-novatel.h (+31/-0)
plugins/novatel/mm-plugin-novatel.c (+4/-146)
plugins/sierra/mm-common-sierra.c (+217/-0)
plugins/sierra/mm-common-sierra.h (+17/-0)
plugins/sierra/mm-plugin-sierra-legacy.c (+99/-0)
plugins/sierra/mm-plugin-sierra-legacy.h (+40/-0)
plugins/sierra/mm-plugin-sierra.c (+10/-238)
To merge this branch: bzr merge lp:~binli/ubuntu/vivid/modemmanager/lp1441095
Reviewer Review Type Date Requested Status
Mathieu Trudel-Lapierre 2015-10-09 Pending
Shih-Yuan Lee 2015-10-09 Pending
Sebastien Bacher 2015-10-09 Pending
Review via email: mp+273960@code.launchpad.net

Description of the change

Backport the patch from wily.
New hardware enablement: Support the new MBIM devices from Dell.

To post a comment you must log in.

Unmerged revisions

30. By Bin Li on 2015-10-09

  * New hardware enablement: Support the new MBIM devices from Dell.
    (LP: #1441095)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.pc/applied-patches'
2--- .pc/applied-patches 2014-09-17 08:46:25 +0000
3+++ .pc/applied-patches 2015-10-09 10:06:57 +0000
4@@ -2,3 +2,10 @@
5 arduino-blacklist.patch
6 linux-default-usb-id.patch
7 lp1229748_bluegiga_blacklist.patch
8+novatel-custom-init.patch
9+novatel-common-library.patch
10+sierra-common-library.patch
11+mbm-common-library.patch
12+sierra-custom-init.patch
13+new-sierra-legacy-plugin.patch
14+dell-mbim-plugin.patch
15
16=== added directory '.pc/dell-mbim-plugin.patch'
17=== added directory '.pc/dell-mbim-plugin.patch/plugins'
18=== added file '.pc/dell-mbim-plugin.patch/plugins/Makefile.am'
19--- .pc/dell-mbim-plugin.patch/plugins/Makefile.am 1970-01-01 00:00:00 +0000
20+++ .pc/dell-mbim-plugin.patch/plugins/Makefile.am 2015-10-09 10:06:57 +0000
21@@ -0,0 +1,561 @@
22+
23+include $(top_srcdir)/gtester.make
24+
25+# Common CPPFLAGS and LDFLAGS
26+
27+PLUGIN_COMMON_COMPILER_FLAGS = \
28+ $(MM_CFLAGS) \
29+ $(GUDEV_CFLAGS) \
30+ -I$(top_srcdir) \
31+ -I$(top_srcdir)/src \
32+ -I$(top_builddir)/src \
33+ -I$(top_srcdir)/include \
34+ -I$(top_builddir)/include \
35+ -I$(top_srcdir)/libmm-glib \
36+ -I$(top_srcdir)/libmm-glib/generated \
37+ -I$(top_builddir)/libmm-glib/generated
38+
39+PLUGIN_COMMON_LINKER_FLAGS = \
40+ $(GUDEV_LIBS) \
41+ $(MM_LIBS) \
42+ -module \
43+ -avoid-version
44+
45+if WITH_QMI
46+PLUGIN_COMMON_COMPILER_FLAGS += $(QMI_CFLAGS)
47+PLUGIN_COMMON_LINKER_FLAGS += $(QMI_LIBS)
48+endif
49+
50+if WITH_MBIM
51+PLUGIN_COMMON_COMPILER_FLAGS += $(MBIM_CFLAGS)
52+PLUGIN_COMMON_LINKER_FLAGS += $(MBIM_LIBS)
53+endif
54+
55+# UDev rules
56+udevrulesdir = $(UDEV_BASE_DIR)/rules.d
57+udevrules_DATA =
58+
59+# Unit tests
60+noinst_PROGRAMS =
61+
62+# Helper libs
63+noinst_LTLIBRARIES =
64+
65+########################################
66+
67+# Common service test support
68+
69+noinst_LTLIBRARIES += libmm-test-common.la
70+
71+libmm_test_common_la_SOURCES = \
72+ tests/test-fixture.h \
73+ tests/test-fixture.c \
74+ tests/test-port-context.h \
75+ tests/test-port-context.c
76+
77+libmm_test_common_la_CPPFLAGS = \
78+ $(MM_CFLAGS) \
79+ -I$(top_srcdir)/include \
80+ -I$(top_builddir)/include \
81+ -I$(top_srcdir)/libmm-glib \
82+ -I$(top_srcdir)/libmm-glib/generated \
83+ -I$(top_builddir)/libmm-glib/generated \
84+ -I$(top_builddir)/libmm-glib/generated/tests \
85+ -DTEST_SERVICES=\""$(abs_top_builddir)/data/tests"\"
86+
87+libmm_test_common_la_LIBADD = \
88+ ${top_builddir}/libmm-glib/generated/tests/libmm-test-generated.la \
89+ $(top_builddir)/libmm-glib/libmm-glib.la
90+
91+TEST_COMMON_COMPILER_FLAGS = \
92+ $(MM_CFLAGS) \
93+ -I$(top_srcdir)/plugins/tests \
94+ -I$(top_srcdir)/include \
95+ -I$(top_builddir)/include \
96+ -I$(top_srcdir)/libmm-glib \
97+ -I$(top_srcdir)/libmm-glib/generated \
98+ -I$(top_builddir)/libmm-glib/generated \
99+ -I$(top_builddir)/libmm-glib/generated/tests \
100+ -DCOMMON_GSM_PORT_CONF=\""$(abs_top_srcdir)/plugins/tests/gsm-port.conf"\"
101+
102+TEST_COMMON_LIBADD_FLAGS = \
103+ $(builddir)/libmm-test-common.la \
104+ $(top_builddir)/libmm-glib/libmm-glib.la
105+
106+
107+########################################
108+
109+# Icera-specific support
110+noinst_LTLIBRARIES += libmm-utils-icera.la
111+libmm_utils_icera_la_SOURCES = \
112+ icera/mm-broadband-modem-icera.h \
113+ icera/mm-broadband-modem-icera.c \
114+ icera/mm-broadband-bearer-icera.h \
115+ icera/mm-broadband-bearer-icera.c \
116+ icera/mm-modem-helpers-icera.c \
117+ icera/mm-modem-helpers-icera.h
118+libmm_utils_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
119+libmm_utils_icera_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
120+
121+ICERA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/icera
122+ICERA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-icera.la
123+
124+noinst_PROGRAMS += test-modem-helpers-icera
125+test_modem_helpers_icera_SOURCES = \
126+ icera/mm-modem-helpers-icera.c \
127+ icera/mm-modem-helpers-icera.h \
128+ icera/tests/test-modem-helpers-icera.c
129+test_modem_helpers_icera_CPPFLAGS = \
130+ -I$(top_srcdir)/plugins/icera \
131+ $(PLUGIN_COMMON_COMPILER_FLAGS)
132+test_modem_helpers_icera_LDADD = \
133+ $(top_builddir)/libmm-glib/libmm-glib.la \
134+ $(top_builddir)/src/libmodem-helpers.la
135+test_modem_helpers_icera_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
136+
137+########################################
138+
139+pkglib_LTLIBRARIES = \
140+ libmm-plugin-generic.la \
141+ libmm-plugin-nokia.la \
142+ libmm-plugin-nokia-icera.la \
143+ libmm-plugin-cinterion.la \
144+ libmm-plugin-iridium.la \
145+ libmm-plugin-gobi.la \
146+ libmm-plugin-motorola.la \
147+ libmm-plugin-novatel.la \
148+ libmm-plugin-novatel-lte.la \
149+ libmm-plugin-altair-lte.la \
150+ libmm-plugin-samsung.la \
151+ libmm-plugin-option.la \
152+ libmm-plugin-hso.la \
153+ libmm-plugin-anydata.la \
154+ libmm-plugin-linktop.la \
155+ libmm-plugin-simtech.la \
156+ libmm-plugin-wavecom.la \
157+ libmm-plugin-huawei.la \
158+ libmm-plugin-longcheer.la \
159+ libmm-plugin-x22x.la \
160+ libmm-plugin-pantech.la \
161+ libmm-plugin-zte.la \
162+ libmm-plugin-sierra.la \
163+ libmm-plugin-sierra-legacy.la \
164+ libmm-plugin-mbm.la \
165+ libmm-plugin-via.la \
166+ libmm-plugin-telit.la \
167+ libmm-plugin-mtk.la
168+
169+# Generic
170+libmm_plugin_generic_la_SOURCES = \
171+ generic/mm-plugin-generic.c \
172+ generic/mm-plugin-generic.h
173+libmm_plugin_generic_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
174+libmm_plugin_generic_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
175+
176+noinst_PROGRAMS += test-service-generic
177+test_service_generic_SOURCES = generic/tests/test-service-generic.c
178+test_service_generic_CPPFLAGS = $(TEST_COMMON_COMPILER_FLAGS)
179+test_service_generic_LDADD = $(TEST_COMMON_LIBADD_FLAGS)
180+test_service_generic_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
181+
182+## Motorola
183+libmm_plugin_motorola_la_SOURCES = \
184+ motorola/mm-plugin-motorola.c \
185+ motorola/mm-plugin-motorola.h \
186+ motorola/mm-broadband-modem-motorola.c \
187+ motorola/mm-broadband-modem-motorola.h
188+libmm_plugin_motorola_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
189+libmm_plugin_motorola_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
190+
191+# Gobi
192+libmm_plugin_gobi_la_SOURCES = \
193+ gobi/mm-plugin-gobi.c \
194+ gobi/mm-plugin-gobi.h \
195+ gobi/mm-broadband-modem-gobi.c \
196+ gobi/mm-broadband-modem-gobi.h
197+libmm_plugin_gobi_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
198+libmm_plugin_gobi_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
199+
200+# Huawei
201+libmm_plugin_huawei_la_SOURCES = \
202+ huawei/mm-plugin-huawei.c \
203+ huawei/mm-plugin-huawei.h \
204+ huawei/mm-modem-helpers-huawei.c \
205+ huawei/mm-modem-helpers-huawei.h \
206+ huawei/mm-sim-huawei.c \
207+ huawei/mm-sim-huawei.h \
208+ huawei/mm-broadband-modem-huawei.c \
209+ huawei/mm-broadband-modem-huawei.h \
210+ huawei/mm-broadband-bearer-huawei.c \
211+ huawei/mm-broadband-bearer-huawei.h
212+libmm_plugin_huawei_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
213+libmm_plugin_huawei_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
214+
215+udevrules_DATA += huawei/77-mm-huawei-net-port-types.rules
216+
217+noinst_PROGRAMS += test-modem-helpers-huawei
218+test_modem_helpers_huawei_SOURCES = \
219+ huawei/mm-modem-helpers-huawei.c \
220+ huawei/mm-modem-helpers-huawei.h \
221+ huawei/tests/test-modem-helpers-huawei.c
222+test_modem_helpers_huawei_CPPFLAGS = \
223+ -I$(top_srcdir)/plugins/huawei \
224+ $(PLUGIN_COMMON_COMPILER_FLAGS)
225+test_modem_helpers_huawei_LDADD = \
226+ $(top_builddir)/libmm-glib/libmm-glib.la \
227+ $(top_builddir)/src/libmodem-helpers.la
228+test_modem_helpers_huawei_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
229+
230+# Common Mbm modem support library
231+noinst_LTLIBRARIES += libmm-utils-mbm.la
232+libmm_utils_mbm_la_SOURCES = \
233+ mbm/mm-broadband-modem-mbm.c \
234+ mbm/mm-broadband-modem-mbm.h \
235+ mbm/mm-broadband-bearer-mbm.c \
236+ mbm/mm-broadband-bearer-mbm.h \
237+ mbm/mm-modem-helpers-mbm.c \
238+ mbm/mm-modem-helpers-mbm.h \
239+ mbm/mm-sim-mbm.c \
240+ mbm/mm-sim-mbm.h
241+libmm_utils_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
242+libmm_utils_mbm_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
243+
244+MBM_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/mbm
245+MBM_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-mbm.la
246+
247+# MBM
248+libmm_plugin_mbm_la_SOURCES = \
249+ mbm/mm-plugin-mbm.c \
250+ mbm/mm-plugin-mbm.h
251+libmm_plugin_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(MBM_COMMON_COMPILER_FLAGS)
252+libmm_plugin_mbm_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
253+libmm_plugin_mbm_la_LIBADD = $(MBM_COMMON_LIBADD_FLAGS)
254+
255+udevrules_DATA += mbm/77-mm-ericsson-mbm.rules
256+
257+noinst_PROGRAMS += test-modem-helpers-mbm
258+test_modem_helpers_mbm_SOURCES = \
259+ mbm/mm-modem-helpers-mbm.c \
260+ mbm/mm-modem-helpers-mbm.h \
261+ mbm/tests/test-modem-helpers-mbm.c
262+test_modem_helpers_mbm_CPPFLAGS = \
263+ -I$(top_srcdir)/plugins/mbm \
264+ $(PLUGIN_COMMON_COMPILER_FLAGS)
265+test_modem_helpers_mbm_LDADD = \
266+ $(top_builddir)/libmm-glib/libmm-glib.la \
267+ $(top_builddir)/src/libmodem-helpers.la
268+test_modem_helpers_mbm_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
269+
270+# Option
271+libmm_plugin_option_la_SOURCES = \
272+ option/mm-plugin-option.c \
273+ option/mm-plugin-option.h \
274+ option/mm-broadband-modem-option.c \
275+ option/mm-broadband-modem-option.h
276+libmm_plugin_option_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
277+libmm_plugin_option_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
278+
279+# HSO
280+libmm_plugin_hso_la_SOURCES = \
281+ option/mm-plugin-hso.c \
282+ option/mm-plugin-hso.h \
283+ option/mm-broadband-modem-option.c \
284+ option/mm-broadband-modem-option.h \
285+ option/mm-broadband-bearer-hso.c \
286+ option/mm-broadband-bearer-hso.h \
287+ option/mm-broadband-modem-hso.c \
288+ option/mm-broadband-modem-hso.h
289+libmm_plugin_hso_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
290+libmm_plugin_hso_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
291+
292+# Common Sierra modem support library
293+noinst_LTLIBRARIES += libmm-utils-sierra.la
294+libmm_utils_sierra_la_SOURCES = \
295+ sierra/mm-common-sierra.c \
296+ sierra/mm-common-sierra.h \
297+ sierra/mm-sim-sierra.c \
298+ sierra/mm-sim-sierra.h \
299+ sierra/mm-broadband-bearer-sierra.c \
300+ sierra/mm-broadband-bearer-sierra.h \
301+ sierra/mm-broadband-modem-sierra.c \
302+ sierra/mm-broadband-modem-sierra.h
303+libmm_utils_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
304+libmm_utils_sierra_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
305+
306+SIERRA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/sierra
307+SIERRA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-sierra.la
308+
309+# Sierra (new QMI or MBIM modems)
310+libmm_plugin_sierra_la_SOURCES = \
311+ sierra/mm-plugin-sierra.c \
312+ sierra/mm-plugin-sierra.h
313+libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
314+libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
315+
316+# Sierra (legacy)
317+libmm_plugin_sierra_legacy_la_SOURCES = \
318+ sierra/mm-plugin-sierra-legacy.c \
319+ sierra/mm-plugin-sierra-legacy.h \
320+ sierra/mm-broadband-modem-sierra-icera.c \
321+ sierra/mm-broadband-modem-sierra-icera.h
322+libmm_plugin_sierra_legacy_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS) $(SIERRA_COMMON_COMPILER_FLAGS)
323+libmm_plugin_sierra_legacy_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
324+libmm_plugin_sierra_legacy_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS) $(SIERRA_COMMON_LIBADD_FLAGS)
325+
326+# Wavecom (Sierra Airlink)
327+libmm_plugin_wavecom_la_SOURCES = \
328+ wavecom/mm-plugin-wavecom.c \
329+ wavecom/mm-plugin-wavecom.h \
330+ wavecom/mm-broadband-modem-wavecom.c \
331+ wavecom/mm-broadband-modem-wavecom.h
332+libmm_plugin_wavecom_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
333+libmm_plugin_wavecom_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
334+
335+# Nokia
336+libmm_plugin_nokia_la_SOURCES = \
337+ nokia/mm-plugin-nokia.c \
338+ nokia/mm-plugin-nokia.h \
339+ nokia/mm-sim-nokia.c \
340+ nokia/mm-sim-nokia.h \
341+ nokia/mm-broadband-modem-nokia.c \
342+ nokia/mm-broadband-modem-nokia.h
343+libmm_plugin_nokia_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
344+libmm_plugin_nokia_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
345+
346+# Nokia (Icera)
347+libmm_plugin_nokia_icera_la_SOURCES = \
348+ nokia/mm-plugin-nokia-icera.c \
349+ nokia/mm-plugin-nokia-icera.h
350+libmm_plugin_nokia_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
351+libmm_plugin_nokia_icera_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
352+libmm_plugin_nokia_icera_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
353+udevrules_DATA += nokia/77-mm-nokia-port-types.rules
354+
355+# Zte
356+libmm_plugin_zte_la_SOURCES = \
357+ zte/mm-plugin-zte.c \
358+ zte/mm-plugin-zte.h \
359+ zte/mm-common-zte.h \
360+ zte/mm-common-zte.c \
361+ zte/mm-broadband-modem-zte.h \
362+ zte/mm-broadband-modem-zte.c \
363+ zte/mm-broadband-modem-zte-icera.h \
364+ zte/mm-broadband-modem-zte-icera.c
365+libmm_plugin_zte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
366+libmm_plugin_zte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
367+libmm_plugin_zte_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
368+udevrules_DATA += zte/77-mm-zte-port-types.rules
369+
370+# Longcheer (and rebranded dongles)
371+libmm_plugin_longcheer_la_SOURCES = \
372+ longcheer/mm-plugin-longcheer.c \
373+ longcheer/mm-plugin-longcheer.h \
374+ longcheer/mm-broadband-modem-longcheer.h \
375+ longcheer/mm-broadband-modem-longcheer.c
376+libmm_plugin_longcheer_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
377+libmm_plugin_longcheer_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
378+udevrules_DATA += longcheer/77-mm-longcheer-port-types.rules
379+
380+# AnyData CDMA
381+libmm_plugin_anydata_la_SOURCES = \
382+ anydata/mm-plugin-anydata.c \
383+ anydata/mm-plugin-anydata.h \
384+ anydata/mm-broadband-modem-anydata.h \
385+ anydata/mm-broadband-modem-anydata.c
386+libmm_plugin_anydata_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
387+libmm_plugin_anydata_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
388+
389+# Linktop CDMA
390+libmm_plugin_linktop_la_SOURCES = \
391+ linktop/mm-plugin-linktop.c \
392+ linktop/mm-plugin-linktop.h \
393+ linktop/mm-broadband-modem-linktop.h \
394+ linktop/mm-broadband-modem-linktop.c
395+libmm_plugin_linktop_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
396+libmm_plugin_linktop_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
397+
398+# SimTech
399+libmm_plugin_simtech_la_SOURCES = \
400+ simtech/mm-plugin-simtech.c \
401+ simtech/mm-plugin-simtech.h \
402+ simtech/mm-broadband-modem-simtech.h \
403+ simtech/mm-broadband-modem-simtech.c
404+libmm_plugin_simtech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
405+libmm_plugin_simtech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
406+udevrules_DATA += simtech/77-mm-simtech-port-types.rules
407+
408+# Alcatel/TCT/JRD x220D and possibly others
409+libmm_plugin_x22x_la_SOURCES = \
410+ x22x/mm-plugin-x22x.c \
411+ x22x/mm-plugin-x22x.h \
412+ x22x/mm-broadband-modem-x22x.h \
413+ x22x/mm-broadband-modem-x22x.c
414+libmm_plugin_x22x_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
415+libmm_plugin_x22x_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
416+udevrules_DATA += x22x/77-mm-x22x-port-types.rules
417+
418+# Pantech
419+libmm_plugin_pantech_la_SOURCES = \
420+ pantech/mm-plugin-pantech.c \
421+ pantech/mm-plugin-pantech.h \
422+ pantech/mm-sim-pantech.c \
423+ pantech/mm-sim-pantech.h \
424+ pantech/mm-broadband-modem-pantech.c \
425+ pantech/mm-broadband-modem-pantech.h
426+libmm_plugin_pantech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
427+libmm_plugin_pantech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
428+
429+# Samsung modem
430+libmm_plugin_samsung_la_SOURCES = \
431+ samsung/mm-plugin-samsung.c \
432+ samsung/mm-plugin-samsung.h \
433+ samsung/mm-broadband-modem-samsung.c \
434+ samsung/mm-broadband-modem-samsung.h
435+libmm_plugin_samsung_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
436+libmm_plugin_samsung_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
437+libmm_plugin_samsung_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
438+
439+# Cinterion (previously Siemens) modem
440+libmm_plugin_cinterion_la_SOURCES = \
441+ cinterion/mm-plugin-cinterion.c \
442+ cinterion/mm-plugin-cinterion.h \
443+ cinterion/mm-modem-helpers-cinterion.c \
444+ cinterion/mm-modem-helpers-cinterion.h \
445+ cinterion/mm-common-cinterion.c \
446+ cinterion/mm-common-cinterion.h \
447+ cinterion/mm-broadband-modem-cinterion.c \
448+ cinterion/mm-broadband-modem-cinterion.h
449+
450+if WITH_QMI
451+libmm_plugin_cinterion_la_SOURCES += \
452+ cinterion/mm-broadband-modem-qmi-cinterion.c \
453+ cinterion/mm-broadband-modem-qmi-cinterion.h
454+endif
455+
456+libmm_plugin_cinterion_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
457+libmm_plugin_cinterion_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
458+
459+udevrules_DATA += cinterion/77-mm-cinterion-port-types.rules
460+
461+noinst_PROGRAMS += test-modem-helpers-cinterion
462+test_modem_helpers_cinterion_SOURCES = \
463+ cinterion/mm-modem-helpers-cinterion.c \
464+ cinterion/mm-modem-helpers-cinterion.h \
465+ cinterion/tests/test-modem-helpers-cinterion.c
466+test_modem_helpers_cinterion_CPPFLAGS = \
467+ -I$(top_srcdir)/plugins/cinterion \
468+ $(PLUGIN_COMMON_COMPILER_FLAGS)
469+test_modem_helpers_cinterion_LDADD = \
470+ $(top_builddir)/libmm-glib/libmm-glib.la \
471+ $(top_builddir)/src/libmodem-helpers.la
472+test_modem_helpers_cinterion_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
473+
474+# Iridium modem
475+libmm_plugin_iridium_la_SOURCES = \
476+ iridium/mm-plugin-iridium.c \
477+ iridium/mm-plugin-iridium.h \
478+ iridium/mm-broadband-modem-iridium.c \
479+ iridium/mm-broadband-modem-iridium.h \
480+ iridium/mm-bearer-iridium.c \
481+ iridium/mm-bearer-iridium.h \
482+ iridium/mm-sim-iridium.c \
483+ iridium/mm-sim-iridium.h
484+libmm_plugin_iridium_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
485+libmm_plugin_iridium_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
486+
487+# Common Novatel modem support library
488+noinst_LTLIBRARIES += libmm-utils-novatel.la
489+libmm_utils_novatel_la_SOURCES = \
490+ novatel/mm-common-novatel.c \
491+ novatel/mm-common-novatel.h \
492+ novatel/mm-broadband-modem-novatel.c \
493+ novatel/mm-broadband-modem-novatel.h
494+libmm_utils_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
495+libmm_utils_novatel_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
496+
497+NOVATEL_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/novatel
498+NOVATEL_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-novatel.la
499+
500+# Novatel LTE modem
501+libmm_plugin_novatel_lte_la_SOURCES = \
502+ novatel/mm-plugin-novatel-lte.c \
503+ novatel/mm-plugin-novatel-lte.h \
504+ novatel/mm-broadband-modem-novatel-lte.c \
505+ novatel/mm-broadband-modem-novatel-lte.h \
506+ novatel/mm-broadband-bearer-novatel-lte.c \
507+ novatel/mm-broadband-bearer-novatel-lte.h \
508+ novatel/mm-sim-novatel-lte.c \
509+ novatel/mm-sim-novatel-lte.h
510+libmm_plugin_novatel_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
511+libmm_plugin_novatel_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
512+
513+# Novatel non-LTE modem
514+libmm_plugin_novatel_la_SOURCES = \
515+ novatel/mm-plugin-novatel.c \
516+ novatel/mm-plugin-novatel.h
517+libmm_plugin_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(NOVATEL_COMMON_COMPILER_FLAGS)
518+libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
519+libmm_plugin_novatel_la_LIBADD = $(NOVATEL_COMMON_LIBADD_FLAGS)
520+
521+# Altair LTE modem
522+libmm_plugin_altair_lte_la_SOURCES = \
523+ altair/mm-modem-helpers-altair-lte.c \
524+ altair/mm-modem-helpers-altair-lte.h \
525+ altair/mm-plugin-altair-lte.c \
526+ altair/mm-plugin-altair-lte.h \
527+ altair/mm-broadband-modem-altair-lte.c \
528+ altair/mm-broadband-modem-altair-lte.h \
529+ altair/mm-broadband-bearer-altair-lte.c \
530+ altair/mm-broadband-bearer-altair-lte.h
531+libmm_plugin_altair_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
532+libmm_plugin_altair_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
533+
534+noinst_PROGRAMS += test-modem-helpers-altair-lte
535+test_modem_helpers_altair_lte_SOURCES = \
536+ altair/mm-modem-helpers-altair-lte.c \
537+ altair/mm-modem-helpers-altair-lte.h \
538+ altair/tests/test-modem-helpers-altair-lte.c
539+test_modem_helpers_altair_lte_CPPFLAGS = \
540+ -I$(top_srcdir)/plugins/altair \
541+ $(PLUGIN_COMMON_COMPILER_FLAGS)
542+test_modem_helpers_altair_lte_LDADD = $(top_builddir)/libmm-glib/libmm-glib.la
543+test_modem_helpers_altair_lte_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
544+
545+
546+# VIA modem
547+libmm_plugin_via_la_SOURCES = \
548+ via/mm-plugin-via.c \
549+ via/mm-plugin-via.h \
550+ via/mm-broadband-modem-via.c \
551+ via/mm-broadband-modem-via.h
552+libmm_plugin_via_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
553+libmm_plugin_via_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
554+
555+# Telit modem
556+libmm_plugin_telit_la_SOURCES = \
557+ telit/mm-plugin-telit.c \
558+ telit/mm-plugin-telit.h \
559+ telit/mm-broadband-modem-telit.c \
560+ telit/mm-broadband-modem-telit.h
561+libmm_plugin_telit_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
562+libmm_plugin_telit_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
563+udevrules_DATA += telit/77-mm-telit-port-types.rules
564+
565+# MTK
566+libmm_plugin_mtk_la_SOURCES = \
567+ mtk/mm-plugin-mtk.c \
568+ mtk/mm-plugin-mtk.h \
569+ mtk/mm-broadband-modem-mtk.h \
570+ mtk/mm-broadband-modem-mtk.c
571+libmm_plugin_mtk_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
572+libmm_plugin_mtk_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
573+udevrules_DATA += mtk/77-mm-mtk-port-types.rules
574+
575+
576+# Additional files to include in the distribution
577+EXTRA_DIST += \
578+ $(udevrules_DATA) \
579+ tests/gsm-port.conf
580+
581+# Unit tests
582+TEST_PROGS += $(noinst_PROGRAMS)
583
584=== added directory '.pc/dell-mbim-plugin.patch/plugins/dell'
585=== added file '.pc/dell-mbim-plugin.patch/plugins/dell/mm-plugin-dell.c'
586=== added file '.pc/dell-mbim-plugin.patch/plugins/dell/mm-plugin-dell.h'
587=== added directory '.pc/dell-mbim-plugin.patch/plugins/novatel'
588=== added file '.pc/dell-mbim-plugin.patch/plugins/novatel/mm-plugin-novatel.c'
589--- .pc/dell-mbim-plugin.patch/plugins/novatel/mm-plugin-novatel.c 1970-01-01 00:00:00 +0000
590+++ .pc/dell-mbim-plugin.patch/plugins/novatel/mm-plugin-novatel.c 2015-10-09 10:06:57 +0000
591@@ -0,0 +1,127 @@
592+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
593+
594+/*
595+ * This program is free software; you can redistribute it and/or
596+ * modify it under the terms of the GNU General Public License as
597+ * published by the Free Software Foundation; either version 2 of the
598+ * License, or (at your option) any later version.
599+ *
600+ * This program is distributed in the hope that it will be useful,
601+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
602+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
603+ * General Public License for more details.
604+ *
605+ * You should have received a copy of the GNU General Public
606+ * License along with this program; if not, write to the
607+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
608+ * Boston, MA 02111-1307, USA.
609+ *
610+ * Copyright (C) 2008 - 2009 Novell, Inc.
611+ * Copyright (C) 2009 - 2012 Red Hat, Inc.
612+ * Copyright (C) 2012 Aleksander Morgado <aleksander@gnu.org>
613+ */
614+
615+#include <string.h>
616+#include <gmodule.h>
617+
618+#define _LIBMM_INSIDE_MM
619+#include <libmm-glib.h>
620+
621+#include "mm-plugin-novatel.h"
622+#include "mm-common-novatel.h"
623+#include "mm-private-boxed-types.h"
624+#include "mm-broadband-modem-novatel.h"
625+#include "mm-log.h"
626+
627+#if defined WITH_QMI
628+#include "mm-broadband-modem-qmi.h"
629+#endif
630+
631+G_DEFINE_TYPE (MMPluginNovatel, mm_plugin_novatel, MM_TYPE_PLUGIN)
632+
633+int mm_plugin_major_version = MM_PLUGIN_MAJOR_VERSION;
634+int mm_plugin_minor_version = MM_PLUGIN_MINOR_VERSION;
635+
636+/*****************************************************************************/
637+/* Custom commands for AT probing */
638+
639+/* We need to explicitly flip secondary ports to AT mode.
640+ * We also use this command also for checking AT support in the current port.
641+ */
642+static const MMPortProbeAtCommand custom_at_probe[] = {
643+ { "$NWDMAT=1", 3, mm_port_probe_response_processor_is_at },
644+ { "$NWDMAT=1", 3, mm_port_probe_response_processor_is_at },
645+ { "$NWDMAT=1", 3, mm_port_probe_response_processor_is_at },
646+ { NULL }
647+};
648+
649+/*****************************************************************************/
650+
651+static MMBaseModem *
652+create_modem (MMPlugin *self,
653+ const gchar *sysfs_path,
654+ const gchar **drivers,
655+ guint16 vendor,
656+ guint16 product,
657+ GList *probes,
658+ GError **error)
659+{
660+#if defined WITH_QMI
661+ if (mm_port_probe_list_has_qmi_port (probes)) {
662+ mm_dbg ("QMI-powered Novatel modem found...");
663+ return MM_BASE_MODEM (mm_broadband_modem_qmi_new (sysfs_path,
664+ drivers,
665+ mm_plugin_get_name (self),
666+ vendor,
667+ product));
668+ }
669+#endif
670+
671+ return MM_BASE_MODEM (mm_broadband_modem_novatel_new (sysfs_path,
672+ drivers,
673+ mm_plugin_get_name (self),
674+ vendor,
675+ product));
676+}
677+
678+/*****************************************************************************/
679+
680+G_MODULE_EXPORT MMPlugin *
681+mm_plugin_create (void)
682+{
683+ static const gchar *subsystems[] = { "tty", "net", "usb", NULL };
684+ static const guint16 vendors[] = { 0x1410, /* Novatel */
685+ 0x413c, /* Dell */
686+ 0 };
687+ static const mm_uint16_pair forbidden_products[] = { { 0x1410, 0x9010 }, /* Novatel E362 */
688+ { 0, 0 } };
689+ static const MMAsyncMethod custom_init = {
690+ .async = G_CALLBACK (mm_common_novatel_custom_init),
691+ .finish = G_CALLBACK (mm_common_novatel_custom_init_finish),
692+ };
693+
694+ return MM_PLUGIN (
695+ g_object_new (MM_TYPE_PLUGIN_NOVATEL,
696+ MM_PLUGIN_NAME, "Novatel",
697+ MM_PLUGIN_ALLOWED_SUBSYSTEMS, subsystems,
698+ MM_PLUGIN_ALLOWED_VENDOR_IDS, vendors,
699+ MM_PLUGIN_FORBIDDEN_PRODUCT_IDS, forbidden_products,
700+ MM_PLUGIN_ALLOWED_AT, TRUE,
701+ MM_PLUGIN_CUSTOM_INIT, &custom_init,
702+ MM_PLUGIN_ALLOWED_QCDM, TRUE,
703+ MM_PLUGIN_ALLOWED_QMI, TRUE,
704+ NULL));
705+}
706+
707+static void
708+mm_plugin_novatel_init (MMPluginNovatel *self)
709+{
710+}
711+
712+static void
713+mm_plugin_novatel_class_init (MMPluginNovatelClass *klass)
714+{
715+ MMPluginClass *plugin_class = MM_PLUGIN_CLASS (klass);
716+
717+ plugin_class->create_modem = create_modem;
718+}
719
720=== added directory '.pc/mbm-common-library.patch'
721=== added directory '.pc/mbm-common-library.patch/plugins'
722=== added file '.pc/mbm-common-library.patch/plugins/Makefile.am'
723--- .pc/mbm-common-library.patch/plugins/Makefile.am 1970-01-01 00:00:00 +0000
724+++ .pc/mbm-common-library.patch/plugins/Makefile.am 2015-10-09 10:06:57 +0000
725@@ -0,0 +1,542 @@
726+
727+include $(top_srcdir)/gtester.make
728+
729+# Common CPPFLAGS and LDFLAGS
730+
731+PLUGIN_COMMON_COMPILER_FLAGS = \
732+ $(MM_CFLAGS) \
733+ $(GUDEV_CFLAGS) \
734+ -I$(top_srcdir) \
735+ -I$(top_srcdir)/src \
736+ -I$(top_builddir)/src \
737+ -I$(top_srcdir)/include \
738+ -I$(top_builddir)/include \
739+ -I$(top_srcdir)/libmm-glib \
740+ -I$(top_srcdir)/libmm-glib/generated \
741+ -I$(top_builddir)/libmm-glib/generated
742+
743+PLUGIN_COMMON_LINKER_FLAGS = \
744+ $(GUDEV_LIBS) \
745+ $(MM_LIBS) \
746+ -module \
747+ -avoid-version
748+
749+if WITH_QMI
750+PLUGIN_COMMON_COMPILER_FLAGS += $(QMI_CFLAGS)
751+PLUGIN_COMMON_LINKER_FLAGS += $(QMI_LIBS)
752+endif
753+
754+if WITH_MBIM
755+PLUGIN_COMMON_COMPILER_FLAGS += $(MBIM_CFLAGS)
756+PLUGIN_COMMON_LINKER_FLAGS += $(MBIM_LIBS)
757+endif
758+
759+# UDev rules
760+udevrulesdir = $(UDEV_BASE_DIR)/rules.d
761+udevrules_DATA =
762+
763+# Unit tests
764+noinst_PROGRAMS =
765+
766+# Helper libs
767+noinst_LTLIBRARIES =
768+
769+########################################
770+
771+# Common service test support
772+
773+noinst_LTLIBRARIES += libmm-test-common.la
774+
775+libmm_test_common_la_SOURCES = \
776+ tests/test-fixture.h \
777+ tests/test-fixture.c \
778+ tests/test-port-context.h \
779+ tests/test-port-context.c
780+
781+libmm_test_common_la_CPPFLAGS = \
782+ $(MM_CFLAGS) \
783+ -I$(top_srcdir)/include \
784+ -I$(top_builddir)/include \
785+ -I$(top_srcdir)/libmm-glib \
786+ -I$(top_srcdir)/libmm-glib/generated \
787+ -I$(top_builddir)/libmm-glib/generated \
788+ -I$(top_builddir)/libmm-glib/generated/tests \
789+ -DTEST_SERVICES=\""$(abs_top_builddir)/data/tests"\"
790+
791+libmm_test_common_la_LIBADD = \
792+ ${top_builddir}/libmm-glib/generated/tests/libmm-test-generated.la \
793+ $(top_builddir)/libmm-glib/libmm-glib.la
794+
795+TEST_COMMON_COMPILER_FLAGS = \
796+ $(MM_CFLAGS) \
797+ -I$(top_srcdir)/plugins/tests \
798+ -I$(top_srcdir)/include \
799+ -I$(top_builddir)/include \
800+ -I$(top_srcdir)/libmm-glib \
801+ -I$(top_srcdir)/libmm-glib/generated \
802+ -I$(top_builddir)/libmm-glib/generated \
803+ -I$(top_builddir)/libmm-glib/generated/tests \
804+ -DCOMMON_GSM_PORT_CONF=\""$(abs_top_srcdir)/plugins/tests/gsm-port.conf"\"
805+
806+TEST_COMMON_LIBADD_FLAGS = \
807+ $(builddir)/libmm-test-common.la \
808+ $(top_builddir)/libmm-glib/libmm-glib.la
809+
810+
811+########################################
812+
813+# Icera-specific support
814+noinst_LTLIBRARIES += libmm-utils-icera.la
815+libmm_utils_icera_la_SOURCES = \
816+ icera/mm-broadband-modem-icera.h \
817+ icera/mm-broadband-modem-icera.c \
818+ icera/mm-broadband-bearer-icera.h \
819+ icera/mm-broadband-bearer-icera.c \
820+ icera/mm-modem-helpers-icera.c \
821+ icera/mm-modem-helpers-icera.h
822+libmm_utils_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
823+libmm_utils_icera_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
824+
825+ICERA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/icera
826+ICERA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-icera.la
827+
828+noinst_PROGRAMS += test-modem-helpers-icera
829+test_modem_helpers_icera_SOURCES = \
830+ icera/mm-modem-helpers-icera.c \
831+ icera/mm-modem-helpers-icera.h \
832+ icera/tests/test-modem-helpers-icera.c
833+test_modem_helpers_icera_CPPFLAGS = \
834+ -I$(top_srcdir)/plugins/icera \
835+ $(PLUGIN_COMMON_COMPILER_FLAGS)
836+test_modem_helpers_icera_LDADD = \
837+ $(top_builddir)/libmm-glib/libmm-glib.la \
838+ $(top_builddir)/src/libmodem-helpers.la
839+test_modem_helpers_icera_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
840+
841+########################################
842+
843+pkglib_LTLIBRARIES = \
844+ libmm-plugin-generic.la \
845+ libmm-plugin-nokia.la \
846+ libmm-plugin-nokia-icera.la \
847+ libmm-plugin-cinterion.la \
848+ libmm-plugin-iridium.la \
849+ libmm-plugin-gobi.la \
850+ libmm-plugin-motorola.la \
851+ libmm-plugin-novatel.la \
852+ libmm-plugin-novatel-lte.la \
853+ libmm-plugin-altair-lte.la \
854+ libmm-plugin-samsung.la \
855+ libmm-plugin-option.la \
856+ libmm-plugin-hso.la \
857+ libmm-plugin-anydata.la \
858+ libmm-plugin-linktop.la \
859+ libmm-plugin-simtech.la \
860+ libmm-plugin-wavecom.la \
861+ libmm-plugin-huawei.la \
862+ libmm-plugin-longcheer.la \
863+ libmm-plugin-x22x.la \
864+ libmm-plugin-pantech.la \
865+ libmm-plugin-zte.la \
866+ libmm-plugin-sierra.la \
867+ libmm-plugin-mbm.la \
868+ libmm-plugin-via.la \
869+ libmm-plugin-telit.la \
870+ libmm-plugin-mtk.la
871+
872+# Generic
873+libmm_plugin_generic_la_SOURCES = \
874+ generic/mm-plugin-generic.c \
875+ generic/mm-plugin-generic.h
876+libmm_plugin_generic_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
877+libmm_plugin_generic_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
878+
879+noinst_PROGRAMS += test-service-generic
880+test_service_generic_SOURCES = generic/tests/test-service-generic.c
881+test_service_generic_CPPFLAGS = $(TEST_COMMON_COMPILER_FLAGS)
882+test_service_generic_LDADD = $(TEST_COMMON_LIBADD_FLAGS)
883+test_service_generic_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
884+
885+## Motorola
886+libmm_plugin_motorola_la_SOURCES = \
887+ motorola/mm-plugin-motorola.c \
888+ motorola/mm-plugin-motorola.h \
889+ motorola/mm-broadband-modem-motorola.c \
890+ motorola/mm-broadband-modem-motorola.h
891+libmm_plugin_motorola_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
892+libmm_plugin_motorola_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
893+
894+# Gobi
895+libmm_plugin_gobi_la_SOURCES = \
896+ gobi/mm-plugin-gobi.c \
897+ gobi/mm-plugin-gobi.h \
898+ gobi/mm-broadband-modem-gobi.c \
899+ gobi/mm-broadband-modem-gobi.h
900+libmm_plugin_gobi_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
901+libmm_plugin_gobi_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
902+
903+# Huawei
904+libmm_plugin_huawei_la_SOURCES = \
905+ huawei/mm-plugin-huawei.c \
906+ huawei/mm-plugin-huawei.h \
907+ huawei/mm-modem-helpers-huawei.c \
908+ huawei/mm-modem-helpers-huawei.h \
909+ huawei/mm-sim-huawei.c \
910+ huawei/mm-sim-huawei.h \
911+ huawei/mm-broadband-modem-huawei.c \
912+ huawei/mm-broadband-modem-huawei.h \
913+ huawei/mm-broadband-bearer-huawei.c \
914+ huawei/mm-broadband-bearer-huawei.h
915+libmm_plugin_huawei_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
916+libmm_plugin_huawei_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
917+
918+udevrules_DATA += huawei/77-mm-huawei-net-port-types.rules
919+
920+noinst_PROGRAMS += test-modem-helpers-huawei
921+test_modem_helpers_huawei_SOURCES = \
922+ huawei/mm-modem-helpers-huawei.c \
923+ huawei/mm-modem-helpers-huawei.h \
924+ huawei/tests/test-modem-helpers-huawei.c
925+test_modem_helpers_huawei_CPPFLAGS = \
926+ -I$(top_srcdir)/plugins/huawei \
927+ $(PLUGIN_COMMON_COMPILER_FLAGS)
928+test_modem_helpers_huawei_LDADD = \
929+ $(top_builddir)/libmm-glib/libmm-glib.la \
930+ $(top_builddir)/src/libmodem-helpers.la
931+test_modem_helpers_huawei_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
932+
933+# MBM
934+libmm_plugin_mbm_la_SOURCES = \
935+ mbm/mm-plugin-mbm.c \
936+ mbm/mm-plugin-mbm.h \
937+ mbm/mm-broadband-modem-mbm.c \
938+ mbm/mm-broadband-modem-mbm.h \
939+ mbm/mm-broadband-bearer-mbm.c \
940+ mbm/mm-broadband-bearer-mbm.h \
941+ mbm/mm-modem-helpers-mbm.c \
942+ mbm/mm-modem-helpers-mbm.h \
943+ mbm/mm-sim-mbm.c \
944+ mbm/mm-sim-mbm.h
945+libmm_plugin_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
946+libmm_plugin_mbm_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
947+udevrules_DATA += mbm/77-mm-ericsson-mbm.rules
948+
949+noinst_PROGRAMS += test-modem-helpers-mbm
950+test_modem_helpers_mbm_SOURCES = \
951+ mbm/mm-modem-helpers-mbm.c \
952+ mbm/mm-modem-helpers-mbm.h \
953+ mbm/tests/test-modem-helpers-mbm.c
954+test_modem_helpers_mbm_CPPFLAGS = \
955+ -I$(top_srcdir)/plugins/mbm \
956+ $(PLUGIN_COMMON_COMPILER_FLAGS)
957+test_modem_helpers_mbm_LDADD = \
958+ $(top_builddir)/libmm-glib/libmm-glib.la \
959+ $(top_builddir)/src/libmodem-helpers.la
960+test_modem_helpers_mbm_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
961+
962+# Option
963+libmm_plugin_option_la_SOURCES = \
964+ option/mm-plugin-option.c \
965+ option/mm-plugin-option.h \
966+ option/mm-broadband-modem-option.c \
967+ option/mm-broadband-modem-option.h
968+libmm_plugin_option_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
969+libmm_plugin_option_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
970+
971+# HSO
972+libmm_plugin_hso_la_SOURCES = \
973+ option/mm-plugin-hso.c \
974+ option/mm-plugin-hso.h \
975+ option/mm-broadband-modem-option.c \
976+ option/mm-broadband-modem-option.h \
977+ option/mm-broadband-bearer-hso.c \
978+ option/mm-broadband-bearer-hso.h \
979+ option/mm-broadband-modem-hso.c \
980+ option/mm-broadband-modem-hso.h
981+libmm_plugin_hso_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
982+libmm_plugin_hso_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
983+
984+# Common Sierra modem support library
985+noinst_LTLIBRARIES += libmm-utils-sierra.la
986+libmm_utils_sierra_la_SOURCES = \
987+ sierra/mm-common-sierra.c \
988+ sierra/mm-common-sierra.h \
989+ sierra/mm-sim-sierra.c \
990+ sierra/mm-sim-sierra.h \
991+ sierra/mm-broadband-bearer-sierra.c \
992+ sierra/mm-broadband-bearer-sierra.h \
993+ sierra/mm-broadband-modem-sierra.c \
994+ sierra/mm-broadband-modem-sierra.h
995+libmm_utils_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
996+libmm_utils_sierra_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
997+
998+SIERRA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/sierra
999+SIERRA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-sierra.la
1000+
1001+# Sierra
1002+libmm_plugin_sierra_la_SOURCES = \
1003+ sierra/mm-plugin-sierra.c \
1004+ sierra/mm-plugin-sierra.h \
1005+ sierra/mm-broadband-modem-sierra-icera.c \
1006+ sierra/mm-broadband-modem-sierra-icera.h
1007+libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS) $(SIERRA_COMMON_COMPILER_FLAGS)
1008+libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1009+libmm_plugin_sierra_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS) $(SIERRA_COMMON_LIBADD_FLAGS)
1010+
1011+# Wavecom (Sierra Airlink)
1012+libmm_plugin_wavecom_la_SOURCES = \
1013+ wavecom/mm-plugin-wavecom.c \
1014+ wavecom/mm-plugin-wavecom.h \
1015+ wavecom/mm-broadband-modem-wavecom.c \
1016+ wavecom/mm-broadband-modem-wavecom.h
1017+libmm_plugin_wavecom_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1018+libmm_plugin_wavecom_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1019+
1020+# Nokia
1021+libmm_plugin_nokia_la_SOURCES = \
1022+ nokia/mm-plugin-nokia.c \
1023+ nokia/mm-plugin-nokia.h \
1024+ nokia/mm-sim-nokia.c \
1025+ nokia/mm-sim-nokia.h \
1026+ nokia/mm-broadband-modem-nokia.c \
1027+ nokia/mm-broadband-modem-nokia.h
1028+libmm_plugin_nokia_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1029+libmm_plugin_nokia_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1030+
1031+# Nokia (Icera)
1032+libmm_plugin_nokia_icera_la_SOURCES = \
1033+ nokia/mm-plugin-nokia-icera.c \
1034+ nokia/mm-plugin-nokia-icera.h
1035+libmm_plugin_nokia_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
1036+libmm_plugin_nokia_icera_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1037+libmm_plugin_nokia_icera_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
1038+udevrules_DATA += nokia/77-mm-nokia-port-types.rules
1039+
1040+# Zte
1041+libmm_plugin_zte_la_SOURCES = \
1042+ zte/mm-plugin-zte.c \
1043+ zte/mm-plugin-zte.h \
1044+ zte/mm-common-zte.h \
1045+ zte/mm-common-zte.c \
1046+ zte/mm-broadband-modem-zte.h \
1047+ zte/mm-broadband-modem-zte.c \
1048+ zte/mm-broadband-modem-zte-icera.h \
1049+ zte/mm-broadband-modem-zte-icera.c
1050+libmm_plugin_zte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
1051+libmm_plugin_zte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1052+libmm_plugin_zte_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
1053+udevrules_DATA += zte/77-mm-zte-port-types.rules
1054+
1055+# Longcheer (and rebranded dongles)
1056+libmm_plugin_longcheer_la_SOURCES = \
1057+ longcheer/mm-plugin-longcheer.c \
1058+ longcheer/mm-plugin-longcheer.h \
1059+ longcheer/mm-broadband-modem-longcheer.h \
1060+ longcheer/mm-broadband-modem-longcheer.c
1061+libmm_plugin_longcheer_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1062+libmm_plugin_longcheer_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1063+udevrules_DATA += longcheer/77-mm-longcheer-port-types.rules
1064+
1065+# AnyData CDMA
1066+libmm_plugin_anydata_la_SOURCES = \
1067+ anydata/mm-plugin-anydata.c \
1068+ anydata/mm-plugin-anydata.h \
1069+ anydata/mm-broadband-modem-anydata.h \
1070+ anydata/mm-broadband-modem-anydata.c
1071+libmm_plugin_anydata_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1072+libmm_plugin_anydata_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1073+
1074+# Linktop CDMA
1075+libmm_plugin_linktop_la_SOURCES = \
1076+ linktop/mm-plugin-linktop.c \
1077+ linktop/mm-plugin-linktop.h \
1078+ linktop/mm-broadband-modem-linktop.h \
1079+ linktop/mm-broadband-modem-linktop.c
1080+libmm_plugin_linktop_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1081+libmm_plugin_linktop_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1082+
1083+# SimTech
1084+libmm_plugin_simtech_la_SOURCES = \
1085+ simtech/mm-plugin-simtech.c \
1086+ simtech/mm-plugin-simtech.h \
1087+ simtech/mm-broadband-modem-simtech.h \
1088+ simtech/mm-broadband-modem-simtech.c
1089+libmm_plugin_simtech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1090+libmm_plugin_simtech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1091+udevrules_DATA += simtech/77-mm-simtech-port-types.rules
1092+
1093+# Alcatel/TCT/JRD x220D and possibly others
1094+libmm_plugin_x22x_la_SOURCES = \
1095+ x22x/mm-plugin-x22x.c \
1096+ x22x/mm-plugin-x22x.h \
1097+ x22x/mm-broadband-modem-x22x.h \
1098+ x22x/mm-broadband-modem-x22x.c
1099+libmm_plugin_x22x_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1100+libmm_plugin_x22x_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1101+udevrules_DATA += x22x/77-mm-x22x-port-types.rules
1102+
1103+# Pantech
1104+libmm_plugin_pantech_la_SOURCES = \
1105+ pantech/mm-plugin-pantech.c \
1106+ pantech/mm-plugin-pantech.h \
1107+ pantech/mm-sim-pantech.c \
1108+ pantech/mm-sim-pantech.h \
1109+ pantech/mm-broadband-modem-pantech.c \
1110+ pantech/mm-broadband-modem-pantech.h
1111+libmm_plugin_pantech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1112+libmm_plugin_pantech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1113+
1114+# Samsung modem
1115+libmm_plugin_samsung_la_SOURCES = \
1116+ samsung/mm-plugin-samsung.c \
1117+ samsung/mm-plugin-samsung.h \
1118+ samsung/mm-broadband-modem-samsung.c \
1119+ samsung/mm-broadband-modem-samsung.h
1120+libmm_plugin_samsung_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
1121+libmm_plugin_samsung_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1122+libmm_plugin_samsung_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
1123+
1124+# Cinterion (previously Siemens) modem
1125+libmm_plugin_cinterion_la_SOURCES = \
1126+ cinterion/mm-plugin-cinterion.c \
1127+ cinterion/mm-plugin-cinterion.h \
1128+ cinterion/mm-modem-helpers-cinterion.c \
1129+ cinterion/mm-modem-helpers-cinterion.h \
1130+ cinterion/mm-common-cinterion.c \
1131+ cinterion/mm-common-cinterion.h \
1132+ cinterion/mm-broadband-modem-cinterion.c \
1133+ cinterion/mm-broadband-modem-cinterion.h
1134+
1135+if WITH_QMI
1136+libmm_plugin_cinterion_la_SOURCES += \
1137+ cinterion/mm-broadband-modem-qmi-cinterion.c \
1138+ cinterion/mm-broadband-modem-qmi-cinterion.h
1139+endif
1140+
1141+libmm_plugin_cinterion_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1142+libmm_plugin_cinterion_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1143+
1144+udevrules_DATA += cinterion/77-mm-cinterion-port-types.rules
1145+
1146+noinst_PROGRAMS += test-modem-helpers-cinterion
1147+test_modem_helpers_cinterion_SOURCES = \
1148+ cinterion/mm-modem-helpers-cinterion.c \
1149+ cinterion/mm-modem-helpers-cinterion.h \
1150+ cinterion/tests/test-modem-helpers-cinterion.c
1151+test_modem_helpers_cinterion_CPPFLAGS = \
1152+ -I$(top_srcdir)/plugins/cinterion \
1153+ $(PLUGIN_COMMON_COMPILER_FLAGS)
1154+test_modem_helpers_cinterion_LDADD = \
1155+ $(top_builddir)/libmm-glib/libmm-glib.la \
1156+ $(top_builddir)/src/libmodem-helpers.la
1157+test_modem_helpers_cinterion_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1158+
1159+# Iridium modem
1160+libmm_plugin_iridium_la_SOURCES = \
1161+ iridium/mm-plugin-iridium.c \
1162+ iridium/mm-plugin-iridium.h \
1163+ iridium/mm-broadband-modem-iridium.c \
1164+ iridium/mm-broadband-modem-iridium.h \
1165+ iridium/mm-bearer-iridium.c \
1166+ iridium/mm-bearer-iridium.h \
1167+ iridium/mm-sim-iridium.c \
1168+ iridium/mm-sim-iridium.h
1169+libmm_plugin_iridium_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1170+libmm_plugin_iridium_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1171+
1172+# Common Novatel modem support library
1173+noinst_LTLIBRARIES += libmm-utils-novatel.la
1174+libmm_utils_novatel_la_SOURCES = \
1175+ novatel/mm-common-novatel.c \
1176+ novatel/mm-common-novatel.h \
1177+ novatel/mm-broadband-modem-novatel.c \
1178+ novatel/mm-broadband-modem-novatel.h
1179+libmm_utils_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1180+libmm_utils_novatel_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
1181+
1182+NOVATEL_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/novatel
1183+NOVATEL_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-novatel.la
1184+
1185+# Novatel LTE modem
1186+libmm_plugin_novatel_lte_la_SOURCES = \
1187+ novatel/mm-plugin-novatel-lte.c \
1188+ novatel/mm-plugin-novatel-lte.h \
1189+ novatel/mm-broadband-modem-novatel-lte.c \
1190+ novatel/mm-broadband-modem-novatel-lte.h \
1191+ novatel/mm-broadband-bearer-novatel-lte.c \
1192+ novatel/mm-broadband-bearer-novatel-lte.h \
1193+ novatel/mm-sim-novatel-lte.c \
1194+ novatel/mm-sim-novatel-lte.h
1195+libmm_plugin_novatel_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1196+libmm_plugin_novatel_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1197+
1198+# Novatel non-LTE modem
1199+libmm_plugin_novatel_la_SOURCES = \
1200+ novatel/mm-plugin-novatel.c \
1201+ novatel/mm-plugin-novatel.h
1202+libmm_plugin_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(NOVATEL_COMMON_COMPILER_FLAGS)
1203+libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1204+libmm_plugin_novatel_la_LIBADD = $(NOVATEL_COMMON_LIBADD_FLAGS)
1205+
1206+# Altair LTE modem
1207+libmm_plugin_altair_lte_la_SOURCES = \
1208+ altair/mm-modem-helpers-altair-lte.c \
1209+ altair/mm-modem-helpers-altair-lte.h \
1210+ altair/mm-plugin-altair-lte.c \
1211+ altair/mm-plugin-altair-lte.h \
1212+ altair/mm-broadband-modem-altair-lte.c \
1213+ altair/mm-broadband-modem-altair-lte.h \
1214+ altair/mm-broadband-bearer-altair-lte.c \
1215+ altair/mm-broadband-bearer-altair-lte.h
1216+libmm_plugin_altair_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1217+libmm_plugin_altair_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1218+
1219+noinst_PROGRAMS += test-modem-helpers-altair-lte
1220+test_modem_helpers_altair_lte_SOURCES = \
1221+ altair/mm-modem-helpers-altair-lte.c \
1222+ altair/mm-modem-helpers-altair-lte.h \
1223+ altair/tests/test-modem-helpers-altair-lte.c
1224+test_modem_helpers_altair_lte_CPPFLAGS = \
1225+ -I$(top_srcdir)/plugins/altair \
1226+ $(PLUGIN_COMMON_COMPILER_FLAGS)
1227+test_modem_helpers_altair_lte_LDADD = $(top_builddir)/libmm-glib/libmm-glib.la
1228+test_modem_helpers_altair_lte_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1229+
1230+
1231+# VIA modem
1232+libmm_plugin_via_la_SOURCES = \
1233+ via/mm-plugin-via.c \
1234+ via/mm-plugin-via.h \
1235+ via/mm-broadband-modem-via.c \
1236+ via/mm-broadband-modem-via.h
1237+libmm_plugin_via_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1238+libmm_plugin_via_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1239+
1240+# Telit modem
1241+libmm_plugin_telit_la_SOURCES = \
1242+ telit/mm-plugin-telit.c \
1243+ telit/mm-plugin-telit.h \
1244+ telit/mm-broadband-modem-telit.c \
1245+ telit/mm-broadband-modem-telit.h
1246+libmm_plugin_telit_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1247+libmm_plugin_telit_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1248+udevrules_DATA += telit/77-mm-telit-port-types.rules
1249+
1250+# MTK
1251+libmm_plugin_mtk_la_SOURCES = \
1252+ mtk/mm-plugin-mtk.c \
1253+ mtk/mm-plugin-mtk.h \
1254+ mtk/mm-broadband-modem-mtk.h \
1255+ mtk/mm-broadband-modem-mtk.c
1256+libmm_plugin_mtk_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1257+libmm_plugin_mtk_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1258+udevrules_DATA += mtk/77-mm-mtk-port-types.rules
1259+
1260+
1261+# Additional files to include in the distribution
1262+EXTRA_DIST += \
1263+ $(udevrules_DATA) \
1264+ tests/gsm-port.conf
1265+
1266+# Unit tests
1267+TEST_PROGS += $(noinst_PROGRAMS)
1268
1269=== added directory '.pc/new-sierra-legacy-plugin.patch'
1270=== added directory '.pc/new-sierra-legacy-plugin.patch/plugins'
1271=== added file '.pc/new-sierra-legacy-plugin.patch/plugins/Makefile.am'
1272--- .pc/new-sierra-legacy-plugin.patch/plugins/Makefile.am 1970-01-01 00:00:00 +0000
1273+++ .pc/new-sierra-legacy-plugin.patch/plugins/Makefile.am 2015-10-09 10:06:57 +0000
1274@@ -0,0 +1,553 @@
1275+
1276+include $(top_srcdir)/gtester.make
1277+
1278+# Common CPPFLAGS and LDFLAGS
1279+
1280+PLUGIN_COMMON_COMPILER_FLAGS = \
1281+ $(MM_CFLAGS) \
1282+ $(GUDEV_CFLAGS) \
1283+ -I$(top_srcdir) \
1284+ -I$(top_srcdir)/src \
1285+ -I$(top_builddir)/src \
1286+ -I$(top_srcdir)/include \
1287+ -I$(top_builddir)/include \
1288+ -I$(top_srcdir)/libmm-glib \
1289+ -I$(top_srcdir)/libmm-glib/generated \
1290+ -I$(top_builddir)/libmm-glib/generated
1291+
1292+PLUGIN_COMMON_LINKER_FLAGS = \
1293+ $(GUDEV_LIBS) \
1294+ $(MM_LIBS) \
1295+ -module \
1296+ -avoid-version
1297+
1298+if WITH_QMI
1299+PLUGIN_COMMON_COMPILER_FLAGS += $(QMI_CFLAGS)
1300+PLUGIN_COMMON_LINKER_FLAGS += $(QMI_LIBS)
1301+endif
1302+
1303+if WITH_MBIM
1304+PLUGIN_COMMON_COMPILER_FLAGS += $(MBIM_CFLAGS)
1305+PLUGIN_COMMON_LINKER_FLAGS += $(MBIM_LIBS)
1306+endif
1307+
1308+# UDev rules
1309+udevrulesdir = $(UDEV_BASE_DIR)/rules.d
1310+udevrules_DATA =
1311+
1312+# Unit tests
1313+noinst_PROGRAMS =
1314+
1315+# Helper libs
1316+noinst_LTLIBRARIES =
1317+
1318+########################################
1319+
1320+# Common service test support
1321+
1322+noinst_LTLIBRARIES += libmm-test-common.la
1323+
1324+libmm_test_common_la_SOURCES = \
1325+ tests/test-fixture.h \
1326+ tests/test-fixture.c \
1327+ tests/test-port-context.h \
1328+ tests/test-port-context.c
1329+
1330+libmm_test_common_la_CPPFLAGS = \
1331+ $(MM_CFLAGS) \
1332+ -I$(top_srcdir)/include \
1333+ -I$(top_builddir)/include \
1334+ -I$(top_srcdir)/libmm-glib \
1335+ -I$(top_srcdir)/libmm-glib/generated \
1336+ -I$(top_builddir)/libmm-glib/generated \
1337+ -I$(top_builddir)/libmm-glib/generated/tests \
1338+ -DTEST_SERVICES=\""$(abs_top_builddir)/data/tests"\"
1339+
1340+libmm_test_common_la_LIBADD = \
1341+ ${top_builddir}/libmm-glib/generated/tests/libmm-test-generated.la \
1342+ $(top_builddir)/libmm-glib/libmm-glib.la
1343+
1344+TEST_COMMON_COMPILER_FLAGS = \
1345+ $(MM_CFLAGS) \
1346+ -I$(top_srcdir)/plugins/tests \
1347+ -I$(top_srcdir)/include \
1348+ -I$(top_builddir)/include \
1349+ -I$(top_srcdir)/libmm-glib \
1350+ -I$(top_srcdir)/libmm-glib/generated \
1351+ -I$(top_builddir)/libmm-glib/generated \
1352+ -I$(top_builddir)/libmm-glib/generated/tests \
1353+ -DCOMMON_GSM_PORT_CONF=\""$(abs_top_srcdir)/plugins/tests/gsm-port.conf"\"
1354+
1355+TEST_COMMON_LIBADD_FLAGS = \
1356+ $(builddir)/libmm-test-common.la \
1357+ $(top_builddir)/libmm-glib/libmm-glib.la
1358+
1359+
1360+########################################
1361+
1362+# Icera-specific support
1363+noinst_LTLIBRARIES += libmm-utils-icera.la
1364+libmm_utils_icera_la_SOURCES = \
1365+ icera/mm-broadband-modem-icera.h \
1366+ icera/mm-broadband-modem-icera.c \
1367+ icera/mm-broadband-bearer-icera.h \
1368+ icera/mm-broadband-bearer-icera.c \
1369+ icera/mm-modem-helpers-icera.c \
1370+ icera/mm-modem-helpers-icera.h
1371+libmm_utils_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1372+libmm_utils_icera_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
1373+
1374+ICERA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/icera
1375+ICERA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-icera.la
1376+
1377+noinst_PROGRAMS += test-modem-helpers-icera
1378+test_modem_helpers_icera_SOURCES = \
1379+ icera/mm-modem-helpers-icera.c \
1380+ icera/mm-modem-helpers-icera.h \
1381+ icera/tests/test-modem-helpers-icera.c
1382+test_modem_helpers_icera_CPPFLAGS = \
1383+ -I$(top_srcdir)/plugins/icera \
1384+ $(PLUGIN_COMMON_COMPILER_FLAGS)
1385+test_modem_helpers_icera_LDADD = \
1386+ $(top_builddir)/libmm-glib/libmm-glib.la \
1387+ $(top_builddir)/src/libmodem-helpers.la
1388+test_modem_helpers_icera_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1389+
1390+########################################
1391+
1392+pkglib_LTLIBRARIES = \
1393+ libmm-plugin-generic.la \
1394+ libmm-plugin-nokia.la \
1395+ libmm-plugin-nokia-icera.la \
1396+ libmm-plugin-cinterion.la \
1397+ libmm-plugin-iridium.la \
1398+ libmm-plugin-gobi.la \
1399+ libmm-plugin-motorola.la \
1400+ libmm-plugin-novatel.la \
1401+ libmm-plugin-novatel-lte.la \
1402+ libmm-plugin-altair-lte.la \
1403+ libmm-plugin-samsung.la \
1404+ libmm-plugin-option.la \
1405+ libmm-plugin-hso.la \
1406+ libmm-plugin-anydata.la \
1407+ libmm-plugin-linktop.la \
1408+ libmm-plugin-simtech.la \
1409+ libmm-plugin-wavecom.la \
1410+ libmm-plugin-huawei.la \
1411+ libmm-plugin-longcheer.la \
1412+ libmm-plugin-x22x.la \
1413+ libmm-plugin-pantech.la \
1414+ libmm-plugin-zte.la \
1415+ libmm-plugin-sierra.la \
1416+ libmm-plugin-mbm.la \
1417+ libmm-plugin-via.la \
1418+ libmm-plugin-telit.la \
1419+ libmm-plugin-mtk.la
1420+
1421+# Generic
1422+libmm_plugin_generic_la_SOURCES = \
1423+ generic/mm-plugin-generic.c \
1424+ generic/mm-plugin-generic.h
1425+libmm_plugin_generic_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1426+libmm_plugin_generic_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1427+
1428+noinst_PROGRAMS += test-service-generic
1429+test_service_generic_SOURCES = generic/tests/test-service-generic.c
1430+test_service_generic_CPPFLAGS = $(TEST_COMMON_COMPILER_FLAGS)
1431+test_service_generic_LDADD = $(TEST_COMMON_LIBADD_FLAGS)
1432+test_service_generic_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1433+
1434+## Motorola
1435+libmm_plugin_motorola_la_SOURCES = \
1436+ motorola/mm-plugin-motorola.c \
1437+ motorola/mm-plugin-motorola.h \
1438+ motorola/mm-broadband-modem-motorola.c \
1439+ motorola/mm-broadband-modem-motorola.h
1440+libmm_plugin_motorola_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1441+libmm_plugin_motorola_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1442+
1443+# Gobi
1444+libmm_plugin_gobi_la_SOURCES = \
1445+ gobi/mm-plugin-gobi.c \
1446+ gobi/mm-plugin-gobi.h \
1447+ gobi/mm-broadband-modem-gobi.c \
1448+ gobi/mm-broadband-modem-gobi.h
1449+libmm_plugin_gobi_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1450+libmm_plugin_gobi_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1451+
1452+# Huawei
1453+libmm_plugin_huawei_la_SOURCES = \
1454+ huawei/mm-plugin-huawei.c \
1455+ huawei/mm-plugin-huawei.h \
1456+ huawei/mm-modem-helpers-huawei.c \
1457+ huawei/mm-modem-helpers-huawei.h \
1458+ huawei/mm-sim-huawei.c \
1459+ huawei/mm-sim-huawei.h \
1460+ huawei/mm-broadband-modem-huawei.c \
1461+ huawei/mm-broadband-modem-huawei.h \
1462+ huawei/mm-broadband-bearer-huawei.c \
1463+ huawei/mm-broadband-bearer-huawei.h
1464+libmm_plugin_huawei_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1465+libmm_plugin_huawei_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1466+
1467+udevrules_DATA += huawei/77-mm-huawei-net-port-types.rules
1468+
1469+noinst_PROGRAMS += test-modem-helpers-huawei
1470+test_modem_helpers_huawei_SOURCES = \
1471+ huawei/mm-modem-helpers-huawei.c \
1472+ huawei/mm-modem-helpers-huawei.h \
1473+ huawei/tests/test-modem-helpers-huawei.c
1474+test_modem_helpers_huawei_CPPFLAGS = \
1475+ -I$(top_srcdir)/plugins/huawei \
1476+ $(PLUGIN_COMMON_COMPILER_FLAGS)
1477+test_modem_helpers_huawei_LDADD = \
1478+ $(top_builddir)/libmm-glib/libmm-glib.la \
1479+ $(top_builddir)/src/libmodem-helpers.la
1480+test_modem_helpers_huawei_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1481+
1482+# Common Mbm modem support library
1483+noinst_LTLIBRARIES += libmm-utils-mbm.la
1484+libmm_utils_mbm_la_SOURCES = \
1485+ mbm/mm-broadband-modem-mbm.c \
1486+ mbm/mm-broadband-modem-mbm.h \
1487+ mbm/mm-broadband-bearer-mbm.c \
1488+ mbm/mm-broadband-bearer-mbm.h \
1489+ mbm/mm-modem-helpers-mbm.c \
1490+ mbm/mm-modem-helpers-mbm.h \
1491+ mbm/mm-sim-mbm.c \
1492+ mbm/mm-sim-mbm.h
1493+libmm_utils_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1494+libmm_utils_mbm_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
1495+
1496+MBM_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/mbm
1497+MBM_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-mbm.la
1498+
1499+# MBM
1500+libmm_plugin_mbm_la_SOURCES = \
1501+ mbm/mm-plugin-mbm.c \
1502+ mbm/mm-plugin-mbm.h
1503+libmm_plugin_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(MBM_COMMON_COMPILER_FLAGS)
1504+libmm_plugin_mbm_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1505+libmm_plugin_mbm_la_LIBADD = $(MBM_COMMON_LIBADD_FLAGS)
1506+
1507+udevrules_DATA += mbm/77-mm-ericsson-mbm.rules
1508+
1509+noinst_PROGRAMS += test-modem-helpers-mbm
1510+test_modem_helpers_mbm_SOURCES = \
1511+ mbm/mm-modem-helpers-mbm.c \
1512+ mbm/mm-modem-helpers-mbm.h \
1513+ mbm/tests/test-modem-helpers-mbm.c
1514+test_modem_helpers_mbm_CPPFLAGS = \
1515+ -I$(top_srcdir)/plugins/mbm \
1516+ $(PLUGIN_COMMON_COMPILER_FLAGS)
1517+test_modem_helpers_mbm_LDADD = \
1518+ $(top_builddir)/libmm-glib/libmm-glib.la \
1519+ $(top_builddir)/src/libmodem-helpers.la
1520+test_modem_helpers_mbm_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1521+
1522+# Option
1523+libmm_plugin_option_la_SOURCES = \
1524+ option/mm-plugin-option.c \
1525+ option/mm-plugin-option.h \
1526+ option/mm-broadband-modem-option.c \
1527+ option/mm-broadband-modem-option.h
1528+libmm_plugin_option_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1529+libmm_plugin_option_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1530+
1531+# HSO
1532+libmm_plugin_hso_la_SOURCES = \
1533+ option/mm-plugin-hso.c \
1534+ option/mm-plugin-hso.h \
1535+ option/mm-broadband-modem-option.c \
1536+ option/mm-broadband-modem-option.h \
1537+ option/mm-broadband-bearer-hso.c \
1538+ option/mm-broadband-bearer-hso.h \
1539+ option/mm-broadband-modem-hso.c \
1540+ option/mm-broadband-modem-hso.h
1541+libmm_plugin_hso_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1542+libmm_plugin_hso_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1543+
1544+# Common Sierra modem support library
1545+noinst_LTLIBRARIES += libmm-utils-sierra.la
1546+libmm_utils_sierra_la_SOURCES = \
1547+ sierra/mm-common-sierra.c \
1548+ sierra/mm-common-sierra.h \
1549+ sierra/mm-sim-sierra.c \
1550+ sierra/mm-sim-sierra.h \
1551+ sierra/mm-broadband-bearer-sierra.c \
1552+ sierra/mm-broadband-bearer-sierra.h \
1553+ sierra/mm-broadband-modem-sierra.c \
1554+ sierra/mm-broadband-modem-sierra.h
1555+libmm_utils_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1556+libmm_utils_sierra_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
1557+
1558+SIERRA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/sierra
1559+SIERRA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-sierra.la
1560+
1561+# Sierra
1562+libmm_plugin_sierra_la_SOURCES = \
1563+ sierra/mm-plugin-sierra.c \
1564+ sierra/mm-plugin-sierra.h \
1565+ sierra/mm-broadband-modem-sierra-icera.c \
1566+ sierra/mm-broadband-modem-sierra-icera.h
1567+libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS) $(SIERRA_COMMON_COMPILER_FLAGS)
1568+libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1569+libmm_plugin_sierra_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS) $(SIERRA_COMMON_LIBADD_FLAGS)
1570+
1571+# Wavecom (Sierra Airlink)
1572+libmm_plugin_wavecom_la_SOURCES = \
1573+ wavecom/mm-plugin-wavecom.c \
1574+ wavecom/mm-plugin-wavecom.h \
1575+ wavecom/mm-broadband-modem-wavecom.c \
1576+ wavecom/mm-broadband-modem-wavecom.h
1577+libmm_plugin_wavecom_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1578+libmm_plugin_wavecom_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1579+
1580+# Nokia
1581+libmm_plugin_nokia_la_SOURCES = \
1582+ nokia/mm-plugin-nokia.c \
1583+ nokia/mm-plugin-nokia.h \
1584+ nokia/mm-sim-nokia.c \
1585+ nokia/mm-sim-nokia.h \
1586+ nokia/mm-broadband-modem-nokia.c \
1587+ nokia/mm-broadband-modem-nokia.h
1588+libmm_plugin_nokia_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1589+libmm_plugin_nokia_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1590+
1591+# Nokia (Icera)
1592+libmm_plugin_nokia_icera_la_SOURCES = \
1593+ nokia/mm-plugin-nokia-icera.c \
1594+ nokia/mm-plugin-nokia-icera.h
1595+libmm_plugin_nokia_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
1596+libmm_plugin_nokia_icera_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1597+libmm_plugin_nokia_icera_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
1598+udevrules_DATA += nokia/77-mm-nokia-port-types.rules
1599+
1600+# Zte
1601+libmm_plugin_zte_la_SOURCES = \
1602+ zte/mm-plugin-zte.c \
1603+ zte/mm-plugin-zte.h \
1604+ zte/mm-common-zte.h \
1605+ zte/mm-common-zte.c \
1606+ zte/mm-broadband-modem-zte.h \
1607+ zte/mm-broadband-modem-zte.c \
1608+ zte/mm-broadband-modem-zte-icera.h \
1609+ zte/mm-broadband-modem-zte-icera.c
1610+libmm_plugin_zte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
1611+libmm_plugin_zte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1612+libmm_plugin_zte_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
1613+udevrules_DATA += zte/77-mm-zte-port-types.rules
1614+
1615+# Longcheer (and rebranded dongles)
1616+libmm_plugin_longcheer_la_SOURCES = \
1617+ longcheer/mm-plugin-longcheer.c \
1618+ longcheer/mm-plugin-longcheer.h \
1619+ longcheer/mm-broadband-modem-longcheer.h \
1620+ longcheer/mm-broadband-modem-longcheer.c
1621+libmm_plugin_longcheer_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1622+libmm_plugin_longcheer_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1623+udevrules_DATA += longcheer/77-mm-longcheer-port-types.rules
1624+
1625+# AnyData CDMA
1626+libmm_plugin_anydata_la_SOURCES = \
1627+ anydata/mm-plugin-anydata.c \
1628+ anydata/mm-plugin-anydata.h \
1629+ anydata/mm-broadband-modem-anydata.h \
1630+ anydata/mm-broadband-modem-anydata.c
1631+libmm_plugin_anydata_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1632+libmm_plugin_anydata_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1633+
1634+# Linktop CDMA
1635+libmm_plugin_linktop_la_SOURCES = \
1636+ linktop/mm-plugin-linktop.c \
1637+ linktop/mm-plugin-linktop.h \
1638+ linktop/mm-broadband-modem-linktop.h \
1639+ linktop/mm-broadband-modem-linktop.c
1640+libmm_plugin_linktop_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1641+libmm_plugin_linktop_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1642+
1643+# SimTech
1644+libmm_plugin_simtech_la_SOURCES = \
1645+ simtech/mm-plugin-simtech.c \
1646+ simtech/mm-plugin-simtech.h \
1647+ simtech/mm-broadband-modem-simtech.h \
1648+ simtech/mm-broadband-modem-simtech.c
1649+libmm_plugin_simtech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1650+libmm_plugin_simtech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1651+udevrules_DATA += simtech/77-mm-simtech-port-types.rules
1652+
1653+# Alcatel/TCT/JRD x220D and possibly others
1654+libmm_plugin_x22x_la_SOURCES = \
1655+ x22x/mm-plugin-x22x.c \
1656+ x22x/mm-plugin-x22x.h \
1657+ x22x/mm-broadband-modem-x22x.h \
1658+ x22x/mm-broadband-modem-x22x.c
1659+libmm_plugin_x22x_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1660+libmm_plugin_x22x_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1661+udevrules_DATA += x22x/77-mm-x22x-port-types.rules
1662+
1663+# Pantech
1664+libmm_plugin_pantech_la_SOURCES = \
1665+ pantech/mm-plugin-pantech.c \
1666+ pantech/mm-plugin-pantech.h \
1667+ pantech/mm-sim-pantech.c \
1668+ pantech/mm-sim-pantech.h \
1669+ pantech/mm-broadband-modem-pantech.c \
1670+ pantech/mm-broadband-modem-pantech.h
1671+libmm_plugin_pantech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1672+libmm_plugin_pantech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1673+
1674+# Samsung modem
1675+libmm_plugin_samsung_la_SOURCES = \
1676+ samsung/mm-plugin-samsung.c \
1677+ samsung/mm-plugin-samsung.h \
1678+ samsung/mm-broadband-modem-samsung.c \
1679+ samsung/mm-broadband-modem-samsung.h
1680+libmm_plugin_samsung_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
1681+libmm_plugin_samsung_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1682+libmm_plugin_samsung_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
1683+
1684+# Cinterion (previously Siemens) modem
1685+libmm_plugin_cinterion_la_SOURCES = \
1686+ cinterion/mm-plugin-cinterion.c \
1687+ cinterion/mm-plugin-cinterion.h \
1688+ cinterion/mm-modem-helpers-cinterion.c \
1689+ cinterion/mm-modem-helpers-cinterion.h \
1690+ cinterion/mm-common-cinterion.c \
1691+ cinterion/mm-common-cinterion.h \
1692+ cinterion/mm-broadband-modem-cinterion.c \
1693+ cinterion/mm-broadband-modem-cinterion.h
1694+
1695+if WITH_QMI
1696+libmm_plugin_cinterion_la_SOURCES += \
1697+ cinterion/mm-broadband-modem-qmi-cinterion.c \
1698+ cinterion/mm-broadband-modem-qmi-cinterion.h
1699+endif
1700+
1701+libmm_plugin_cinterion_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1702+libmm_plugin_cinterion_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1703+
1704+udevrules_DATA += cinterion/77-mm-cinterion-port-types.rules
1705+
1706+noinst_PROGRAMS += test-modem-helpers-cinterion
1707+test_modem_helpers_cinterion_SOURCES = \
1708+ cinterion/mm-modem-helpers-cinterion.c \
1709+ cinterion/mm-modem-helpers-cinterion.h \
1710+ cinterion/tests/test-modem-helpers-cinterion.c
1711+test_modem_helpers_cinterion_CPPFLAGS = \
1712+ -I$(top_srcdir)/plugins/cinterion \
1713+ $(PLUGIN_COMMON_COMPILER_FLAGS)
1714+test_modem_helpers_cinterion_LDADD = \
1715+ $(top_builddir)/libmm-glib/libmm-glib.la \
1716+ $(top_builddir)/src/libmodem-helpers.la
1717+test_modem_helpers_cinterion_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1718+
1719+# Iridium modem
1720+libmm_plugin_iridium_la_SOURCES = \
1721+ iridium/mm-plugin-iridium.c \
1722+ iridium/mm-plugin-iridium.h \
1723+ iridium/mm-broadband-modem-iridium.c \
1724+ iridium/mm-broadband-modem-iridium.h \
1725+ iridium/mm-bearer-iridium.c \
1726+ iridium/mm-bearer-iridium.h \
1727+ iridium/mm-sim-iridium.c \
1728+ iridium/mm-sim-iridium.h
1729+libmm_plugin_iridium_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1730+libmm_plugin_iridium_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1731+
1732+# Common Novatel modem support library
1733+noinst_LTLIBRARIES += libmm-utils-novatel.la
1734+libmm_utils_novatel_la_SOURCES = \
1735+ novatel/mm-common-novatel.c \
1736+ novatel/mm-common-novatel.h \
1737+ novatel/mm-broadband-modem-novatel.c \
1738+ novatel/mm-broadband-modem-novatel.h
1739+libmm_utils_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1740+libmm_utils_novatel_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
1741+
1742+NOVATEL_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/novatel
1743+NOVATEL_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-novatel.la
1744+
1745+# Novatel LTE modem
1746+libmm_plugin_novatel_lte_la_SOURCES = \
1747+ novatel/mm-plugin-novatel-lte.c \
1748+ novatel/mm-plugin-novatel-lte.h \
1749+ novatel/mm-broadband-modem-novatel-lte.c \
1750+ novatel/mm-broadband-modem-novatel-lte.h \
1751+ novatel/mm-broadband-bearer-novatel-lte.c \
1752+ novatel/mm-broadband-bearer-novatel-lte.h \
1753+ novatel/mm-sim-novatel-lte.c \
1754+ novatel/mm-sim-novatel-lte.h
1755+libmm_plugin_novatel_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1756+libmm_plugin_novatel_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1757+
1758+# Novatel non-LTE modem
1759+libmm_plugin_novatel_la_SOURCES = \
1760+ novatel/mm-plugin-novatel.c \
1761+ novatel/mm-plugin-novatel.h
1762+libmm_plugin_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(NOVATEL_COMMON_COMPILER_FLAGS)
1763+libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1764+libmm_plugin_novatel_la_LIBADD = $(NOVATEL_COMMON_LIBADD_FLAGS)
1765+
1766+# Altair LTE modem
1767+libmm_plugin_altair_lte_la_SOURCES = \
1768+ altair/mm-modem-helpers-altair-lte.c \
1769+ altair/mm-modem-helpers-altair-lte.h \
1770+ altair/mm-plugin-altair-lte.c \
1771+ altair/mm-plugin-altair-lte.h \
1772+ altair/mm-broadband-modem-altair-lte.c \
1773+ altair/mm-broadband-modem-altair-lte.h \
1774+ altair/mm-broadband-bearer-altair-lte.c \
1775+ altair/mm-broadband-bearer-altair-lte.h
1776+libmm_plugin_altair_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1777+libmm_plugin_altair_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1778+
1779+noinst_PROGRAMS += test-modem-helpers-altair-lte
1780+test_modem_helpers_altair_lte_SOURCES = \
1781+ altair/mm-modem-helpers-altair-lte.c \
1782+ altair/mm-modem-helpers-altair-lte.h \
1783+ altair/tests/test-modem-helpers-altair-lte.c
1784+test_modem_helpers_altair_lte_CPPFLAGS = \
1785+ -I$(top_srcdir)/plugins/altair \
1786+ $(PLUGIN_COMMON_COMPILER_FLAGS)
1787+test_modem_helpers_altair_lte_LDADD = $(top_builddir)/libmm-glib/libmm-glib.la
1788+test_modem_helpers_altair_lte_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1789+
1790+
1791+# VIA modem
1792+libmm_plugin_via_la_SOURCES = \
1793+ via/mm-plugin-via.c \
1794+ via/mm-plugin-via.h \
1795+ via/mm-broadband-modem-via.c \
1796+ via/mm-broadband-modem-via.h
1797+libmm_plugin_via_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1798+libmm_plugin_via_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1799+
1800+# Telit modem
1801+libmm_plugin_telit_la_SOURCES = \
1802+ telit/mm-plugin-telit.c \
1803+ telit/mm-plugin-telit.h \
1804+ telit/mm-broadband-modem-telit.c \
1805+ telit/mm-broadband-modem-telit.h
1806+libmm_plugin_telit_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1807+libmm_plugin_telit_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1808+udevrules_DATA += telit/77-mm-telit-port-types.rules
1809+
1810+# MTK
1811+libmm_plugin_mtk_la_SOURCES = \
1812+ mtk/mm-plugin-mtk.c \
1813+ mtk/mm-plugin-mtk.h \
1814+ mtk/mm-broadband-modem-mtk.h \
1815+ mtk/mm-broadband-modem-mtk.c
1816+libmm_plugin_mtk_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
1817+libmm_plugin_mtk_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
1818+udevrules_DATA += mtk/77-mm-mtk-port-types.rules
1819+
1820+
1821+# Additional files to include in the distribution
1822+EXTRA_DIST += \
1823+ $(udevrules_DATA) \
1824+ tests/gsm-port.conf
1825+
1826+# Unit tests
1827+TEST_PROGS += $(noinst_PROGRAMS)
1828
1829=== added directory '.pc/new-sierra-legacy-plugin.patch/plugins/sierra'
1830=== added file '.pc/new-sierra-legacy-plugin.patch/plugins/sierra/mm-plugin-sierra-legacy.c'
1831=== added file '.pc/new-sierra-legacy-plugin.patch/plugins/sierra/mm-plugin-sierra-legacy.h'
1832=== added file '.pc/new-sierra-legacy-plugin.patch/plugins/sierra/mm-plugin-sierra.c'
1833--- .pc/new-sierra-legacy-plugin.patch/plugins/sierra/mm-plugin-sierra.c 1970-01-01 00:00:00 +0000
1834+++ .pc/new-sierra-legacy-plugin.patch/plugins/sierra/mm-plugin-sierra.c 2015-10-09 10:06:57 +0000
1835@@ -0,0 +1,129 @@
1836+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
1837+/*
1838+ * This program is free software; you can redistribute it and/or modify
1839+ * it under the terms of the GNU General Public License as published by
1840+ * the Free Software Foundation; either version 2 of the License, or
1841+ * (at your option) any later version.
1842+ *
1843+ * This program is distributed in the hope that it will be useful,
1844+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
1845+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1846+ * GNU General Public License for more details:
1847+ *
1848+ * Copyright (C) 2008 - 2009 Novell, Inc.
1849+ * Copyright (C) 2009 - 2012 Red Hat, Inc.
1850+ * Copyright (C) 2012 Lanedo GmbH
1851+ */
1852+
1853+#include <stdlib.h>
1854+#include <gmodule.h>
1855+
1856+#define _LIBMM_INSIDE_MM
1857+#include <libmm-glib.h>
1858+
1859+#include "mm-log.h"
1860+#include "mm-plugin-sierra.h"
1861+#include "mm-common-sierra.h"
1862+#include "mm-broadband-modem-sierra.h"
1863+#include "mm-broadband-modem-sierra-icera.h"
1864+
1865+#if defined WITH_QMI
1866+#include "mm-broadband-modem-qmi.h"
1867+#endif
1868+
1869+#if defined WITH_MBIM
1870+#include "mm-broadband-modem-mbim.h"
1871+#endif
1872+
1873+G_DEFINE_TYPE (MMPluginSierra, mm_plugin_sierra, MM_TYPE_PLUGIN)
1874+
1875+int mm_plugin_major_version = MM_PLUGIN_MAJOR_VERSION;
1876+int mm_plugin_minor_version = MM_PLUGIN_MINOR_VERSION;
1877+
1878+/*****************************************************************************/
1879+
1880+static MMBaseModem *
1881+create_modem (MMPlugin *self,
1882+ const gchar *sysfs_path,
1883+ const gchar **drivers,
1884+ guint16 vendor,
1885+ guint16 product,
1886+ GList *probes,
1887+ GError **error)
1888+{
1889+#if defined WITH_QMI
1890+ if (mm_port_probe_list_has_qmi_port (probes)) {
1891+ mm_dbg ("QMI-powered Sierra modem found...");
1892+ return MM_BASE_MODEM (mm_broadband_modem_qmi_new (sysfs_path,
1893+ drivers,
1894+ mm_plugin_get_name (self),
1895+ vendor,
1896+ product));
1897+ }
1898+#endif
1899+
1900+#if defined WITH_MBIM
1901+ if (mm_port_probe_list_has_mbim_port (probes)) {
1902+ mm_dbg ("MBIM-powered Sierra modem found...");
1903+ return MM_BASE_MODEM (mm_broadband_modem_mbim_new (sysfs_path,
1904+ drivers,
1905+ mm_plugin_get_name (self),
1906+ vendor,
1907+ product));
1908+ }
1909+#endif
1910+
1911+ if (mm_common_sierra_port_probe_list_is_icera (probes))
1912+ return MM_BASE_MODEM (mm_broadband_modem_sierra_icera_new (sysfs_path,
1913+ drivers,
1914+ mm_plugin_get_name (self),
1915+ vendor,
1916+ product));
1917+
1918+ return MM_BASE_MODEM (mm_broadband_modem_sierra_new (sysfs_path,
1919+ drivers,
1920+ mm_plugin_get_name (self),
1921+ vendor,
1922+ product));
1923+}
1924+
1925+/*****************************************************************************/
1926+
1927+G_MODULE_EXPORT MMPlugin *
1928+mm_plugin_create (void)
1929+{
1930+ static const gchar *subsystems[] = { "tty", "net", "usb", NULL };
1931+ static const gchar *drivers[] = { "sierra", "sierra_net", NULL };
1932+ static const MMAsyncMethod custom_init = {
1933+ .async = G_CALLBACK (mm_common_sierra_custom_init),
1934+ .finish = G_CALLBACK (mm_common_sierra_custom_init_finish),
1935+ };
1936+
1937+ return MM_PLUGIN (
1938+ g_object_new (MM_TYPE_PLUGIN_SIERRA,
1939+ MM_PLUGIN_NAME, "Sierra",
1940+ MM_PLUGIN_ALLOWED_SUBSYSTEMS, subsystems,
1941+ MM_PLUGIN_ALLOWED_DRIVERS, drivers,
1942+ MM_PLUGIN_ALLOWED_AT, TRUE,
1943+ MM_PLUGIN_ALLOWED_QCDM, TRUE,
1944+ MM_PLUGIN_ALLOWED_QMI, TRUE,
1945+ MM_PLUGIN_ALLOWED_MBIM, TRUE,
1946+ MM_PLUGIN_CUSTOM_INIT, &custom_init,
1947+ MM_PLUGIN_ICERA_PROBE, TRUE,
1948+ MM_PLUGIN_REMOVE_ECHO, FALSE,
1949+ NULL));
1950+}
1951+
1952+static void
1953+mm_plugin_sierra_init (MMPluginSierra *self)
1954+{
1955+}
1956+
1957+static void
1958+mm_plugin_sierra_class_init (MMPluginSierraClass *klass)
1959+{
1960+ MMPluginClass *plugin_class = MM_PLUGIN_CLASS (klass);
1961+
1962+ plugin_class->create_modem = create_modem;
1963+ plugin_class->grab_port = mm_common_sierra_grab_port;
1964+}
1965
1966=== added directory '.pc/novatel-common-library.patch'
1967=== added directory '.pc/novatel-common-library.patch/plugins'
1968=== added file '.pc/novatel-common-library.patch/plugins/Makefile.am'
1969--- .pc/novatel-common-library.patch/plugins/Makefile.am 1970-01-01 00:00:00 +0000
1970+++ .pc/novatel-common-library.patch/plugins/Makefile.am 2015-10-09 10:06:57 +0000
1971@@ -0,0 +1,523 @@
1972+
1973+include $(top_srcdir)/gtester.make
1974+
1975+# Common CPPFLAGS and LDFLAGS
1976+
1977+PLUGIN_COMMON_COMPILER_FLAGS = \
1978+ $(MM_CFLAGS) \
1979+ $(GUDEV_CFLAGS) \
1980+ -I$(top_srcdir) \
1981+ -I$(top_srcdir)/src \
1982+ -I$(top_builddir)/src \
1983+ -I$(top_srcdir)/include \
1984+ -I$(top_builddir)/include \
1985+ -I$(top_srcdir)/libmm-glib \
1986+ -I$(top_srcdir)/libmm-glib/generated \
1987+ -I$(top_builddir)/libmm-glib/generated
1988+
1989+PLUGIN_COMMON_LINKER_FLAGS = \
1990+ $(GUDEV_LIBS) \
1991+ $(MM_LIBS) \
1992+ -module \
1993+ -avoid-version
1994+
1995+if WITH_QMI
1996+PLUGIN_COMMON_COMPILER_FLAGS += $(QMI_CFLAGS)
1997+PLUGIN_COMMON_LINKER_FLAGS += $(QMI_LIBS)
1998+endif
1999+
2000+if WITH_MBIM
2001+PLUGIN_COMMON_COMPILER_FLAGS += $(MBIM_CFLAGS)
2002+PLUGIN_COMMON_LINKER_FLAGS += $(MBIM_LIBS)
2003+endif
2004+
2005+# UDev rules
2006+udevrulesdir = $(UDEV_BASE_DIR)/rules.d
2007+udevrules_DATA =
2008+
2009+# Unit tests
2010+noinst_PROGRAMS =
2011+
2012+# Helper libs
2013+noinst_LTLIBRARIES =
2014+
2015+########################################
2016+
2017+# Common service test support
2018+
2019+noinst_LTLIBRARIES += libmm-test-common.la
2020+
2021+libmm_test_common_la_SOURCES = \
2022+ tests/test-fixture.h \
2023+ tests/test-fixture.c \
2024+ tests/test-port-context.h \
2025+ tests/test-port-context.c
2026+
2027+libmm_test_common_la_CPPFLAGS = \
2028+ $(MM_CFLAGS) \
2029+ -I$(top_srcdir)/include \
2030+ -I$(top_builddir)/include \
2031+ -I$(top_srcdir)/libmm-glib \
2032+ -I$(top_srcdir)/libmm-glib/generated \
2033+ -I$(top_builddir)/libmm-glib/generated \
2034+ -I$(top_builddir)/libmm-glib/generated/tests \
2035+ -DTEST_SERVICES=\""$(abs_top_builddir)/data/tests"\"
2036+
2037+libmm_test_common_la_LIBADD = \
2038+ ${top_builddir}/libmm-glib/generated/tests/libmm-test-generated.la \
2039+ $(top_builddir)/libmm-glib/libmm-glib.la
2040+
2041+TEST_COMMON_COMPILER_FLAGS = \
2042+ $(MM_CFLAGS) \
2043+ -I$(top_srcdir)/plugins/tests \
2044+ -I$(top_srcdir)/include \
2045+ -I$(top_builddir)/include \
2046+ -I$(top_srcdir)/libmm-glib \
2047+ -I$(top_srcdir)/libmm-glib/generated \
2048+ -I$(top_builddir)/libmm-glib/generated \
2049+ -I$(top_builddir)/libmm-glib/generated/tests \
2050+ -DCOMMON_GSM_PORT_CONF=\""$(abs_top_srcdir)/plugins/tests/gsm-port.conf"\"
2051+
2052+TEST_COMMON_LIBADD_FLAGS = \
2053+ $(builddir)/libmm-test-common.la \
2054+ $(top_builddir)/libmm-glib/libmm-glib.la
2055+
2056+
2057+########################################
2058+
2059+# Icera-specific support
2060+noinst_LTLIBRARIES += libmm-utils-icera.la
2061+libmm_utils_icera_la_SOURCES = \
2062+ icera/mm-broadband-modem-icera.h \
2063+ icera/mm-broadband-modem-icera.c \
2064+ icera/mm-broadband-bearer-icera.h \
2065+ icera/mm-broadband-bearer-icera.c \
2066+ icera/mm-modem-helpers-icera.c \
2067+ icera/mm-modem-helpers-icera.h
2068+libmm_utils_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2069+libmm_utils_icera_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
2070+
2071+ICERA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/icera
2072+ICERA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-icera.la
2073+
2074+noinst_PROGRAMS += test-modem-helpers-icera
2075+test_modem_helpers_icera_SOURCES = \
2076+ icera/mm-modem-helpers-icera.c \
2077+ icera/mm-modem-helpers-icera.h \
2078+ icera/tests/test-modem-helpers-icera.c
2079+test_modem_helpers_icera_CPPFLAGS = \
2080+ -I$(top_srcdir)/plugins/icera \
2081+ $(PLUGIN_COMMON_COMPILER_FLAGS)
2082+test_modem_helpers_icera_LDADD = \
2083+ $(top_builddir)/libmm-glib/libmm-glib.la \
2084+ $(top_builddir)/src/libmodem-helpers.la
2085+test_modem_helpers_icera_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2086+
2087+########################################
2088+
2089+pkglib_LTLIBRARIES = \
2090+ libmm-plugin-generic.la \
2091+ libmm-plugin-nokia.la \
2092+ libmm-plugin-nokia-icera.la \
2093+ libmm-plugin-cinterion.la \
2094+ libmm-plugin-iridium.la \
2095+ libmm-plugin-gobi.la \
2096+ libmm-plugin-motorola.la \
2097+ libmm-plugin-novatel.la \
2098+ libmm-plugin-novatel-lte.la \
2099+ libmm-plugin-altair-lte.la \
2100+ libmm-plugin-samsung.la \
2101+ libmm-plugin-option.la \
2102+ libmm-plugin-hso.la \
2103+ libmm-plugin-anydata.la \
2104+ libmm-plugin-linktop.la \
2105+ libmm-plugin-simtech.la \
2106+ libmm-plugin-wavecom.la \
2107+ libmm-plugin-huawei.la \
2108+ libmm-plugin-longcheer.la \
2109+ libmm-plugin-x22x.la \
2110+ libmm-plugin-pantech.la \
2111+ libmm-plugin-zte.la \
2112+ libmm-plugin-sierra.la \
2113+ libmm-plugin-mbm.la \
2114+ libmm-plugin-via.la \
2115+ libmm-plugin-telit.la \
2116+ libmm-plugin-mtk.la
2117+
2118+# Generic
2119+libmm_plugin_generic_la_SOURCES = \
2120+ generic/mm-plugin-generic.c \
2121+ generic/mm-plugin-generic.h
2122+libmm_plugin_generic_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2123+libmm_plugin_generic_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2124+
2125+noinst_PROGRAMS += test-service-generic
2126+test_service_generic_SOURCES = generic/tests/test-service-generic.c
2127+test_service_generic_CPPFLAGS = $(TEST_COMMON_COMPILER_FLAGS)
2128+test_service_generic_LDADD = $(TEST_COMMON_LIBADD_FLAGS)
2129+test_service_generic_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2130+
2131+## Motorola
2132+libmm_plugin_motorola_la_SOURCES = \
2133+ motorola/mm-plugin-motorola.c \
2134+ motorola/mm-plugin-motorola.h \
2135+ motorola/mm-broadband-modem-motorola.c \
2136+ motorola/mm-broadband-modem-motorola.h
2137+libmm_plugin_motorola_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2138+libmm_plugin_motorola_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2139+
2140+# Gobi
2141+libmm_plugin_gobi_la_SOURCES = \
2142+ gobi/mm-plugin-gobi.c \
2143+ gobi/mm-plugin-gobi.h \
2144+ gobi/mm-broadband-modem-gobi.c \
2145+ gobi/mm-broadband-modem-gobi.h
2146+libmm_plugin_gobi_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2147+libmm_plugin_gobi_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2148+
2149+# Huawei
2150+libmm_plugin_huawei_la_SOURCES = \
2151+ huawei/mm-plugin-huawei.c \
2152+ huawei/mm-plugin-huawei.h \
2153+ huawei/mm-modem-helpers-huawei.c \
2154+ huawei/mm-modem-helpers-huawei.h \
2155+ huawei/mm-sim-huawei.c \
2156+ huawei/mm-sim-huawei.h \
2157+ huawei/mm-broadband-modem-huawei.c \
2158+ huawei/mm-broadband-modem-huawei.h \
2159+ huawei/mm-broadband-bearer-huawei.c \
2160+ huawei/mm-broadband-bearer-huawei.h
2161+libmm_plugin_huawei_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2162+libmm_plugin_huawei_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2163+
2164+udevrules_DATA += huawei/77-mm-huawei-net-port-types.rules
2165+
2166+noinst_PROGRAMS += test-modem-helpers-huawei
2167+test_modem_helpers_huawei_SOURCES = \
2168+ huawei/mm-modem-helpers-huawei.c \
2169+ huawei/mm-modem-helpers-huawei.h \
2170+ huawei/tests/test-modem-helpers-huawei.c
2171+test_modem_helpers_huawei_CPPFLAGS = \
2172+ -I$(top_srcdir)/plugins/huawei \
2173+ $(PLUGIN_COMMON_COMPILER_FLAGS)
2174+test_modem_helpers_huawei_LDADD = \
2175+ $(top_builddir)/libmm-glib/libmm-glib.la \
2176+ $(top_builddir)/src/libmodem-helpers.la
2177+test_modem_helpers_huawei_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2178+
2179+# MBM
2180+libmm_plugin_mbm_la_SOURCES = \
2181+ mbm/mm-plugin-mbm.c \
2182+ mbm/mm-plugin-mbm.h \
2183+ mbm/mm-broadband-modem-mbm.c \
2184+ mbm/mm-broadband-modem-mbm.h \
2185+ mbm/mm-broadband-bearer-mbm.c \
2186+ mbm/mm-broadband-bearer-mbm.h \
2187+ mbm/mm-modem-helpers-mbm.c \
2188+ mbm/mm-modem-helpers-mbm.h \
2189+ mbm/mm-sim-mbm.c \
2190+ mbm/mm-sim-mbm.h
2191+libmm_plugin_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2192+libmm_plugin_mbm_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2193+udevrules_DATA += mbm/77-mm-ericsson-mbm.rules
2194+
2195+noinst_PROGRAMS += test-modem-helpers-mbm
2196+test_modem_helpers_mbm_SOURCES = \
2197+ mbm/mm-modem-helpers-mbm.c \
2198+ mbm/mm-modem-helpers-mbm.h \
2199+ mbm/tests/test-modem-helpers-mbm.c
2200+test_modem_helpers_mbm_CPPFLAGS = \
2201+ -I$(top_srcdir)/plugins/mbm \
2202+ $(PLUGIN_COMMON_COMPILER_FLAGS)
2203+test_modem_helpers_mbm_LDADD = \
2204+ $(top_builddir)/libmm-glib/libmm-glib.la \
2205+ $(top_builddir)/src/libmodem-helpers.la
2206+test_modem_helpers_mbm_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2207+
2208+# Option
2209+libmm_plugin_option_la_SOURCES = \
2210+ option/mm-plugin-option.c \
2211+ option/mm-plugin-option.h \
2212+ option/mm-broadband-modem-option.c \
2213+ option/mm-broadband-modem-option.h
2214+libmm_plugin_option_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2215+libmm_plugin_option_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2216+
2217+# HSO
2218+libmm_plugin_hso_la_SOURCES = \
2219+ option/mm-plugin-hso.c \
2220+ option/mm-plugin-hso.h \
2221+ option/mm-broadband-modem-option.c \
2222+ option/mm-broadband-modem-option.h \
2223+ option/mm-broadband-bearer-hso.c \
2224+ option/mm-broadband-bearer-hso.h \
2225+ option/mm-broadband-modem-hso.c \
2226+ option/mm-broadband-modem-hso.h
2227+libmm_plugin_hso_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2228+libmm_plugin_hso_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2229+
2230+# Sierra
2231+libmm_plugin_sierra_la_SOURCES = \
2232+ sierra/mm-plugin-sierra.c \
2233+ sierra/mm-plugin-sierra.h \
2234+ sierra/mm-common-sierra.c \
2235+ sierra/mm-common-sierra.h \
2236+ sierra/mm-sim-sierra.c \
2237+ sierra/mm-sim-sierra.h \
2238+ sierra/mm-broadband-bearer-sierra.c \
2239+ sierra/mm-broadband-bearer-sierra.h \
2240+ sierra/mm-broadband-modem-sierra.c \
2241+ sierra/mm-broadband-modem-sierra.h \
2242+ sierra/mm-broadband-modem-sierra-icera.c \
2243+ sierra/mm-broadband-modem-sierra-icera.h
2244+libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
2245+libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2246+libmm_plugin_sierra_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
2247+
2248+# Wavecom (Sierra Airlink)
2249+libmm_plugin_wavecom_la_SOURCES = \
2250+ wavecom/mm-plugin-wavecom.c \
2251+ wavecom/mm-plugin-wavecom.h \
2252+ wavecom/mm-broadband-modem-wavecom.c \
2253+ wavecom/mm-broadband-modem-wavecom.h
2254+libmm_plugin_wavecom_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2255+libmm_plugin_wavecom_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2256+
2257+# Nokia
2258+libmm_plugin_nokia_la_SOURCES = \
2259+ nokia/mm-plugin-nokia.c \
2260+ nokia/mm-plugin-nokia.h \
2261+ nokia/mm-sim-nokia.c \
2262+ nokia/mm-sim-nokia.h \
2263+ nokia/mm-broadband-modem-nokia.c \
2264+ nokia/mm-broadband-modem-nokia.h
2265+libmm_plugin_nokia_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2266+libmm_plugin_nokia_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2267+
2268+# Nokia (Icera)
2269+libmm_plugin_nokia_icera_la_SOURCES = \
2270+ nokia/mm-plugin-nokia-icera.c \
2271+ nokia/mm-plugin-nokia-icera.h
2272+libmm_plugin_nokia_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
2273+libmm_plugin_nokia_icera_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2274+libmm_plugin_nokia_icera_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
2275+udevrules_DATA += nokia/77-mm-nokia-port-types.rules
2276+
2277+# Zte
2278+libmm_plugin_zte_la_SOURCES = \
2279+ zte/mm-plugin-zte.c \
2280+ zte/mm-plugin-zte.h \
2281+ zte/mm-common-zte.h \
2282+ zte/mm-common-zte.c \
2283+ zte/mm-broadband-modem-zte.h \
2284+ zte/mm-broadband-modem-zte.c \
2285+ zte/mm-broadband-modem-zte-icera.h \
2286+ zte/mm-broadband-modem-zte-icera.c
2287+libmm_plugin_zte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
2288+libmm_plugin_zte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2289+libmm_plugin_zte_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
2290+udevrules_DATA += zte/77-mm-zte-port-types.rules
2291+
2292+# Longcheer (and rebranded dongles)
2293+libmm_plugin_longcheer_la_SOURCES = \
2294+ longcheer/mm-plugin-longcheer.c \
2295+ longcheer/mm-plugin-longcheer.h \
2296+ longcheer/mm-broadband-modem-longcheer.h \
2297+ longcheer/mm-broadband-modem-longcheer.c
2298+libmm_plugin_longcheer_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2299+libmm_plugin_longcheer_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2300+udevrules_DATA += longcheer/77-mm-longcheer-port-types.rules
2301+
2302+# AnyData CDMA
2303+libmm_plugin_anydata_la_SOURCES = \
2304+ anydata/mm-plugin-anydata.c \
2305+ anydata/mm-plugin-anydata.h \
2306+ anydata/mm-broadband-modem-anydata.h \
2307+ anydata/mm-broadband-modem-anydata.c
2308+libmm_plugin_anydata_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2309+libmm_plugin_anydata_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2310+
2311+# Linktop CDMA
2312+libmm_plugin_linktop_la_SOURCES = \
2313+ linktop/mm-plugin-linktop.c \
2314+ linktop/mm-plugin-linktop.h \
2315+ linktop/mm-broadband-modem-linktop.h \
2316+ linktop/mm-broadband-modem-linktop.c
2317+libmm_plugin_linktop_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2318+libmm_plugin_linktop_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2319+
2320+# SimTech
2321+libmm_plugin_simtech_la_SOURCES = \
2322+ simtech/mm-plugin-simtech.c \
2323+ simtech/mm-plugin-simtech.h \
2324+ simtech/mm-broadband-modem-simtech.h \
2325+ simtech/mm-broadband-modem-simtech.c
2326+libmm_plugin_simtech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2327+libmm_plugin_simtech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2328+udevrules_DATA += simtech/77-mm-simtech-port-types.rules
2329+
2330+# Alcatel/TCT/JRD x220D and possibly others
2331+libmm_plugin_x22x_la_SOURCES = \
2332+ x22x/mm-plugin-x22x.c \
2333+ x22x/mm-plugin-x22x.h \
2334+ x22x/mm-broadband-modem-x22x.h \
2335+ x22x/mm-broadband-modem-x22x.c
2336+libmm_plugin_x22x_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2337+libmm_plugin_x22x_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2338+udevrules_DATA += x22x/77-mm-x22x-port-types.rules
2339+
2340+# Pantech
2341+libmm_plugin_pantech_la_SOURCES = \
2342+ pantech/mm-plugin-pantech.c \
2343+ pantech/mm-plugin-pantech.h \
2344+ pantech/mm-sim-pantech.c \
2345+ pantech/mm-sim-pantech.h \
2346+ pantech/mm-broadband-modem-pantech.c \
2347+ pantech/mm-broadband-modem-pantech.h
2348+libmm_plugin_pantech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2349+libmm_plugin_pantech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2350+
2351+# Samsung modem
2352+libmm_plugin_samsung_la_SOURCES = \
2353+ samsung/mm-plugin-samsung.c \
2354+ samsung/mm-plugin-samsung.h \
2355+ samsung/mm-broadband-modem-samsung.c \
2356+ samsung/mm-broadband-modem-samsung.h
2357+libmm_plugin_samsung_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
2358+libmm_plugin_samsung_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2359+libmm_plugin_samsung_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
2360+
2361+# Cinterion (previously Siemens) modem
2362+libmm_plugin_cinterion_la_SOURCES = \
2363+ cinterion/mm-plugin-cinterion.c \
2364+ cinterion/mm-plugin-cinterion.h \
2365+ cinterion/mm-modem-helpers-cinterion.c \
2366+ cinterion/mm-modem-helpers-cinterion.h \
2367+ cinterion/mm-common-cinterion.c \
2368+ cinterion/mm-common-cinterion.h \
2369+ cinterion/mm-broadband-modem-cinterion.c \
2370+ cinterion/mm-broadband-modem-cinterion.h
2371+
2372+if WITH_QMI
2373+libmm_plugin_cinterion_la_SOURCES += \
2374+ cinterion/mm-broadband-modem-qmi-cinterion.c \
2375+ cinterion/mm-broadband-modem-qmi-cinterion.h
2376+endif
2377+
2378+libmm_plugin_cinterion_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2379+libmm_plugin_cinterion_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2380+
2381+udevrules_DATA += cinterion/77-mm-cinterion-port-types.rules
2382+
2383+noinst_PROGRAMS += test-modem-helpers-cinterion
2384+test_modem_helpers_cinterion_SOURCES = \
2385+ cinterion/mm-modem-helpers-cinterion.c \
2386+ cinterion/mm-modem-helpers-cinterion.h \
2387+ cinterion/tests/test-modem-helpers-cinterion.c
2388+test_modem_helpers_cinterion_CPPFLAGS = \
2389+ -I$(top_srcdir)/plugins/cinterion \
2390+ $(PLUGIN_COMMON_COMPILER_FLAGS)
2391+test_modem_helpers_cinterion_LDADD = \
2392+ $(top_builddir)/libmm-glib/libmm-glib.la \
2393+ $(top_builddir)/src/libmodem-helpers.la
2394+test_modem_helpers_cinterion_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2395+
2396+# Iridium modem
2397+libmm_plugin_iridium_la_SOURCES = \
2398+ iridium/mm-plugin-iridium.c \
2399+ iridium/mm-plugin-iridium.h \
2400+ iridium/mm-broadband-modem-iridium.c \
2401+ iridium/mm-broadband-modem-iridium.h \
2402+ iridium/mm-bearer-iridium.c \
2403+ iridium/mm-bearer-iridium.h \
2404+ iridium/mm-sim-iridium.c \
2405+ iridium/mm-sim-iridium.h
2406+libmm_plugin_iridium_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2407+libmm_plugin_iridium_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2408+
2409+# Novatel LTE modem
2410+libmm_plugin_novatel_lte_la_SOURCES = \
2411+ novatel/mm-plugin-novatel-lte.c \
2412+ novatel/mm-plugin-novatel-lte.h \
2413+ novatel/mm-broadband-modem-novatel-lte.c \
2414+ novatel/mm-broadband-modem-novatel-lte.h \
2415+ novatel/mm-broadband-bearer-novatel-lte.c \
2416+ novatel/mm-broadband-bearer-novatel-lte.h \
2417+ novatel/mm-sim-novatel-lte.c \
2418+ novatel/mm-sim-novatel-lte.h
2419+libmm_plugin_novatel_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2420+libmm_plugin_novatel_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2421+
2422+# Novatel non-LTE modem
2423+libmm_plugin_novatel_la_SOURCES = \
2424+ novatel/mm-plugin-novatel.c \
2425+ novatel/mm-plugin-novatel.h \
2426+ novatel/mm-common-novatel.c \
2427+ novatel/mm-common-novatel.h \
2428+ novatel/mm-broadband-modem-novatel.c \
2429+ novatel/mm-broadband-modem-novatel.h
2430+libmm_plugin_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2431+libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2432+
2433+# Altair LTE modem
2434+libmm_plugin_altair_lte_la_SOURCES = \
2435+ altair/mm-modem-helpers-altair-lte.c \
2436+ altair/mm-modem-helpers-altair-lte.h \
2437+ altair/mm-plugin-altair-lte.c \
2438+ altair/mm-plugin-altair-lte.h \
2439+ altair/mm-broadband-modem-altair-lte.c \
2440+ altair/mm-broadband-modem-altair-lte.h \
2441+ altair/mm-broadband-bearer-altair-lte.c \
2442+ altair/mm-broadband-bearer-altair-lte.h
2443+libmm_plugin_altair_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2444+libmm_plugin_altair_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2445+
2446+noinst_PROGRAMS += test-modem-helpers-altair-lte
2447+test_modem_helpers_altair_lte_SOURCES = \
2448+ altair/mm-modem-helpers-altair-lte.c \
2449+ altair/mm-modem-helpers-altair-lte.h \
2450+ altair/tests/test-modem-helpers-altair-lte.c
2451+test_modem_helpers_altair_lte_CPPFLAGS = \
2452+ -I$(top_srcdir)/plugins/altair \
2453+ $(PLUGIN_COMMON_COMPILER_FLAGS)
2454+test_modem_helpers_altair_lte_LDADD = $(top_builddir)/libmm-glib/libmm-glib.la
2455+test_modem_helpers_altair_lte_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2456+
2457+
2458+# VIA modem
2459+libmm_plugin_via_la_SOURCES = \
2460+ via/mm-plugin-via.c \
2461+ via/mm-plugin-via.h \
2462+ via/mm-broadband-modem-via.c \
2463+ via/mm-broadband-modem-via.h
2464+libmm_plugin_via_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2465+libmm_plugin_via_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2466+
2467+# Telit modem
2468+libmm_plugin_telit_la_SOURCES = \
2469+ telit/mm-plugin-telit.c \
2470+ telit/mm-plugin-telit.h \
2471+ telit/mm-broadband-modem-telit.c \
2472+ telit/mm-broadband-modem-telit.h
2473+libmm_plugin_telit_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2474+libmm_plugin_telit_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2475+udevrules_DATA += telit/77-mm-telit-port-types.rules
2476+
2477+# MTK
2478+libmm_plugin_mtk_la_SOURCES = \
2479+ mtk/mm-plugin-mtk.c \
2480+ mtk/mm-plugin-mtk.h \
2481+ mtk/mm-broadband-modem-mtk.h \
2482+ mtk/mm-broadband-modem-mtk.c
2483+libmm_plugin_mtk_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2484+libmm_plugin_mtk_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2485+udevrules_DATA += mtk/77-mm-mtk-port-types.rules
2486+
2487+
2488+# Additional files to include in the distribution
2489+EXTRA_DIST += \
2490+ $(udevrules_DATA) \
2491+ tests/gsm-port.conf
2492+
2493+# Unit tests
2494+TEST_PROGS += $(noinst_PROGRAMS)
2495
2496=== added directory '.pc/novatel-custom-init.patch'
2497=== added directory '.pc/novatel-custom-init.patch/plugins'
2498=== added file '.pc/novatel-custom-init.patch/plugins/Makefile.am'
2499--- .pc/novatel-custom-init.patch/plugins/Makefile.am 1970-01-01 00:00:00 +0000
2500+++ .pc/novatel-custom-init.patch/plugins/Makefile.am 2015-10-09 10:06:57 +0000
2501@@ -0,0 +1,521 @@
2502+
2503+include $(top_srcdir)/gtester.make
2504+
2505+# Common CPPFLAGS and LDFLAGS
2506+
2507+PLUGIN_COMMON_COMPILER_FLAGS = \
2508+ $(MM_CFLAGS) \
2509+ $(GUDEV_CFLAGS) \
2510+ -I$(top_srcdir) \
2511+ -I$(top_srcdir)/src \
2512+ -I$(top_builddir)/src \
2513+ -I$(top_srcdir)/include \
2514+ -I$(top_builddir)/include \
2515+ -I$(top_srcdir)/libmm-glib \
2516+ -I$(top_srcdir)/libmm-glib/generated \
2517+ -I$(top_builddir)/libmm-glib/generated
2518+
2519+PLUGIN_COMMON_LINKER_FLAGS = \
2520+ $(GUDEV_LIBS) \
2521+ $(MM_LIBS) \
2522+ -module \
2523+ -avoid-version
2524+
2525+if WITH_QMI
2526+PLUGIN_COMMON_COMPILER_FLAGS += $(QMI_CFLAGS)
2527+PLUGIN_COMMON_LINKER_FLAGS += $(QMI_LIBS)
2528+endif
2529+
2530+if WITH_MBIM
2531+PLUGIN_COMMON_COMPILER_FLAGS += $(MBIM_CFLAGS)
2532+PLUGIN_COMMON_LINKER_FLAGS += $(MBIM_LIBS)
2533+endif
2534+
2535+# UDev rules
2536+udevrulesdir = $(UDEV_BASE_DIR)/rules.d
2537+udevrules_DATA =
2538+
2539+# Unit tests
2540+noinst_PROGRAMS =
2541+
2542+# Helper libs
2543+noinst_LTLIBRARIES =
2544+
2545+########################################
2546+
2547+# Common service test support
2548+
2549+noinst_LTLIBRARIES += libmm-test-common.la
2550+
2551+libmm_test_common_la_SOURCES = \
2552+ tests/test-fixture.h \
2553+ tests/test-fixture.c \
2554+ tests/test-port-context.h \
2555+ tests/test-port-context.c
2556+
2557+libmm_test_common_la_CPPFLAGS = \
2558+ $(MM_CFLAGS) \
2559+ -I$(top_srcdir)/include \
2560+ -I$(top_builddir)/include \
2561+ -I$(top_srcdir)/libmm-glib \
2562+ -I$(top_srcdir)/libmm-glib/generated \
2563+ -I$(top_builddir)/libmm-glib/generated \
2564+ -I$(top_builddir)/libmm-glib/generated/tests \
2565+ -DTEST_SERVICES=\""$(abs_top_builddir)/data/tests"\"
2566+
2567+libmm_test_common_la_LIBADD = \
2568+ ${top_builddir}/libmm-glib/generated/tests/libmm-test-generated.la \
2569+ $(top_builddir)/libmm-glib/libmm-glib.la
2570+
2571+TEST_COMMON_COMPILER_FLAGS = \
2572+ $(MM_CFLAGS) \
2573+ -I$(top_srcdir)/plugins/tests \
2574+ -I$(top_srcdir)/include \
2575+ -I$(top_builddir)/include \
2576+ -I$(top_srcdir)/libmm-glib \
2577+ -I$(top_srcdir)/libmm-glib/generated \
2578+ -I$(top_builddir)/libmm-glib/generated \
2579+ -I$(top_builddir)/libmm-glib/generated/tests \
2580+ -DCOMMON_GSM_PORT_CONF=\""$(abs_top_srcdir)/plugins/tests/gsm-port.conf"\"
2581+
2582+TEST_COMMON_LIBADD_FLAGS = \
2583+ $(builddir)/libmm-test-common.la \
2584+ $(top_builddir)/libmm-glib/libmm-glib.la
2585+
2586+
2587+########################################
2588+
2589+# Icera-specific support
2590+noinst_LTLIBRARIES += libmm-utils-icera.la
2591+libmm_utils_icera_la_SOURCES = \
2592+ icera/mm-broadband-modem-icera.h \
2593+ icera/mm-broadband-modem-icera.c \
2594+ icera/mm-broadband-bearer-icera.h \
2595+ icera/mm-broadband-bearer-icera.c \
2596+ icera/mm-modem-helpers-icera.c \
2597+ icera/mm-modem-helpers-icera.h
2598+libmm_utils_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2599+libmm_utils_icera_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
2600+
2601+ICERA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/icera
2602+ICERA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-icera.la
2603+
2604+noinst_PROGRAMS += test-modem-helpers-icera
2605+test_modem_helpers_icera_SOURCES = \
2606+ icera/mm-modem-helpers-icera.c \
2607+ icera/mm-modem-helpers-icera.h \
2608+ icera/tests/test-modem-helpers-icera.c
2609+test_modem_helpers_icera_CPPFLAGS = \
2610+ -I$(top_srcdir)/plugins/icera \
2611+ $(PLUGIN_COMMON_COMPILER_FLAGS)
2612+test_modem_helpers_icera_LDADD = \
2613+ $(top_builddir)/libmm-glib/libmm-glib.la \
2614+ $(top_builddir)/src/libmodem-helpers.la
2615+test_modem_helpers_icera_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2616+
2617+########################################
2618+
2619+pkglib_LTLIBRARIES = \
2620+ libmm-plugin-generic.la \
2621+ libmm-plugin-nokia.la \
2622+ libmm-plugin-nokia-icera.la \
2623+ libmm-plugin-cinterion.la \
2624+ libmm-plugin-iridium.la \
2625+ libmm-plugin-gobi.la \
2626+ libmm-plugin-motorola.la \
2627+ libmm-plugin-novatel.la \
2628+ libmm-plugin-novatel-lte.la \
2629+ libmm-plugin-altair-lte.la \
2630+ libmm-plugin-samsung.la \
2631+ libmm-plugin-option.la \
2632+ libmm-plugin-hso.la \
2633+ libmm-plugin-anydata.la \
2634+ libmm-plugin-linktop.la \
2635+ libmm-plugin-simtech.la \
2636+ libmm-plugin-wavecom.la \
2637+ libmm-plugin-huawei.la \
2638+ libmm-plugin-longcheer.la \
2639+ libmm-plugin-x22x.la \
2640+ libmm-plugin-pantech.la \
2641+ libmm-plugin-zte.la \
2642+ libmm-plugin-sierra.la \
2643+ libmm-plugin-mbm.la \
2644+ libmm-plugin-via.la \
2645+ libmm-plugin-telit.la \
2646+ libmm-plugin-mtk.la
2647+
2648+# Generic
2649+libmm_plugin_generic_la_SOURCES = \
2650+ generic/mm-plugin-generic.c \
2651+ generic/mm-plugin-generic.h
2652+libmm_plugin_generic_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2653+libmm_plugin_generic_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2654+
2655+noinst_PROGRAMS += test-service-generic
2656+test_service_generic_SOURCES = generic/tests/test-service-generic.c
2657+test_service_generic_CPPFLAGS = $(TEST_COMMON_COMPILER_FLAGS)
2658+test_service_generic_LDADD = $(TEST_COMMON_LIBADD_FLAGS)
2659+test_service_generic_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2660+
2661+## Motorola
2662+libmm_plugin_motorola_la_SOURCES = \
2663+ motorola/mm-plugin-motorola.c \
2664+ motorola/mm-plugin-motorola.h \
2665+ motorola/mm-broadband-modem-motorola.c \
2666+ motorola/mm-broadband-modem-motorola.h
2667+libmm_plugin_motorola_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2668+libmm_plugin_motorola_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2669+
2670+# Gobi
2671+libmm_plugin_gobi_la_SOURCES = \
2672+ gobi/mm-plugin-gobi.c \
2673+ gobi/mm-plugin-gobi.h \
2674+ gobi/mm-broadband-modem-gobi.c \
2675+ gobi/mm-broadband-modem-gobi.h
2676+libmm_plugin_gobi_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2677+libmm_plugin_gobi_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2678+
2679+# Huawei
2680+libmm_plugin_huawei_la_SOURCES = \
2681+ huawei/mm-plugin-huawei.c \
2682+ huawei/mm-plugin-huawei.h \
2683+ huawei/mm-modem-helpers-huawei.c \
2684+ huawei/mm-modem-helpers-huawei.h \
2685+ huawei/mm-sim-huawei.c \
2686+ huawei/mm-sim-huawei.h \
2687+ huawei/mm-broadband-modem-huawei.c \
2688+ huawei/mm-broadband-modem-huawei.h \
2689+ huawei/mm-broadband-bearer-huawei.c \
2690+ huawei/mm-broadband-bearer-huawei.h
2691+libmm_plugin_huawei_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2692+libmm_plugin_huawei_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2693+
2694+udevrules_DATA += huawei/77-mm-huawei-net-port-types.rules
2695+
2696+noinst_PROGRAMS += test-modem-helpers-huawei
2697+test_modem_helpers_huawei_SOURCES = \
2698+ huawei/mm-modem-helpers-huawei.c \
2699+ huawei/mm-modem-helpers-huawei.h \
2700+ huawei/tests/test-modem-helpers-huawei.c
2701+test_modem_helpers_huawei_CPPFLAGS = \
2702+ -I$(top_srcdir)/plugins/huawei \
2703+ $(PLUGIN_COMMON_COMPILER_FLAGS)
2704+test_modem_helpers_huawei_LDADD = \
2705+ $(top_builddir)/libmm-glib/libmm-glib.la \
2706+ $(top_builddir)/src/libmodem-helpers.la
2707+test_modem_helpers_huawei_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2708+
2709+# MBM
2710+libmm_plugin_mbm_la_SOURCES = \
2711+ mbm/mm-plugin-mbm.c \
2712+ mbm/mm-plugin-mbm.h \
2713+ mbm/mm-broadband-modem-mbm.c \
2714+ mbm/mm-broadband-modem-mbm.h \
2715+ mbm/mm-broadband-bearer-mbm.c \
2716+ mbm/mm-broadband-bearer-mbm.h \
2717+ mbm/mm-modem-helpers-mbm.c \
2718+ mbm/mm-modem-helpers-mbm.h \
2719+ mbm/mm-sim-mbm.c \
2720+ mbm/mm-sim-mbm.h
2721+libmm_plugin_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2722+libmm_plugin_mbm_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2723+udevrules_DATA += mbm/77-mm-ericsson-mbm.rules
2724+
2725+noinst_PROGRAMS += test-modem-helpers-mbm
2726+test_modem_helpers_mbm_SOURCES = \
2727+ mbm/mm-modem-helpers-mbm.c \
2728+ mbm/mm-modem-helpers-mbm.h \
2729+ mbm/tests/test-modem-helpers-mbm.c
2730+test_modem_helpers_mbm_CPPFLAGS = \
2731+ -I$(top_srcdir)/plugins/mbm \
2732+ $(PLUGIN_COMMON_COMPILER_FLAGS)
2733+test_modem_helpers_mbm_LDADD = \
2734+ $(top_builddir)/libmm-glib/libmm-glib.la \
2735+ $(top_builddir)/src/libmodem-helpers.la
2736+test_modem_helpers_mbm_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2737+
2738+# Option
2739+libmm_plugin_option_la_SOURCES = \
2740+ option/mm-plugin-option.c \
2741+ option/mm-plugin-option.h \
2742+ option/mm-broadband-modem-option.c \
2743+ option/mm-broadband-modem-option.h
2744+libmm_plugin_option_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2745+libmm_plugin_option_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2746+
2747+# HSO
2748+libmm_plugin_hso_la_SOURCES = \
2749+ option/mm-plugin-hso.c \
2750+ option/mm-plugin-hso.h \
2751+ option/mm-broadband-modem-option.c \
2752+ option/mm-broadband-modem-option.h \
2753+ option/mm-broadband-bearer-hso.c \
2754+ option/mm-broadband-bearer-hso.h \
2755+ option/mm-broadband-modem-hso.c \
2756+ option/mm-broadband-modem-hso.h
2757+libmm_plugin_hso_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2758+libmm_plugin_hso_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2759+
2760+# Sierra
2761+libmm_plugin_sierra_la_SOURCES = \
2762+ sierra/mm-plugin-sierra.c \
2763+ sierra/mm-plugin-sierra.h \
2764+ sierra/mm-common-sierra.c \
2765+ sierra/mm-common-sierra.h \
2766+ sierra/mm-sim-sierra.c \
2767+ sierra/mm-sim-sierra.h \
2768+ sierra/mm-broadband-bearer-sierra.c \
2769+ sierra/mm-broadband-bearer-sierra.h \
2770+ sierra/mm-broadband-modem-sierra.c \
2771+ sierra/mm-broadband-modem-sierra.h \
2772+ sierra/mm-broadband-modem-sierra-icera.c \
2773+ sierra/mm-broadband-modem-sierra-icera.h
2774+libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
2775+libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2776+libmm_plugin_sierra_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
2777+
2778+# Wavecom (Sierra Airlink)
2779+libmm_plugin_wavecom_la_SOURCES = \
2780+ wavecom/mm-plugin-wavecom.c \
2781+ wavecom/mm-plugin-wavecom.h \
2782+ wavecom/mm-broadband-modem-wavecom.c \
2783+ wavecom/mm-broadband-modem-wavecom.h
2784+libmm_plugin_wavecom_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2785+libmm_plugin_wavecom_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2786+
2787+# Nokia
2788+libmm_plugin_nokia_la_SOURCES = \
2789+ nokia/mm-plugin-nokia.c \
2790+ nokia/mm-plugin-nokia.h \
2791+ nokia/mm-sim-nokia.c \
2792+ nokia/mm-sim-nokia.h \
2793+ nokia/mm-broadband-modem-nokia.c \
2794+ nokia/mm-broadband-modem-nokia.h
2795+libmm_plugin_nokia_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2796+libmm_plugin_nokia_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2797+
2798+# Nokia (Icera)
2799+libmm_plugin_nokia_icera_la_SOURCES = \
2800+ nokia/mm-plugin-nokia-icera.c \
2801+ nokia/mm-plugin-nokia-icera.h
2802+libmm_plugin_nokia_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
2803+libmm_plugin_nokia_icera_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2804+libmm_plugin_nokia_icera_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
2805+udevrules_DATA += nokia/77-mm-nokia-port-types.rules
2806+
2807+# Zte
2808+libmm_plugin_zte_la_SOURCES = \
2809+ zte/mm-plugin-zte.c \
2810+ zte/mm-plugin-zte.h \
2811+ zte/mm-common-zte.h \
2812+ zte/mm-common-zte.c \
2813+ zte/mm-broadband-modem-zte.h \
2814+ zte/mm-broadband-modem-zte.c \
2815+ zte/mm-broadband-modem-zte-icera.h \
2816+ zte/mm-broadband-modem-zte-icera.c
2817+libmm_plugin_zte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
2818+libmm_plugin_zte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2819+libmm_plugin_zte_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
2820+udevrules_DATA += zte/77-mm-zte-port-types.rules
2821+
2822+# Longcheer (and rebranded dongles)
2823+libmm_plugin_longcheer_la_SOURCES = \
2824+ longcheer/mm-plugin-longcheer.c \
2825+ longcheer/mm-plugin-longcheer.h \
2826+ longcheer/mm-broadband-modem-longcheer.h \
2827+ longcheer/mm-broadband-modem-longcheer.c
2828+libmm_plugin_longcheer_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2829+libmm_plugin_longcheer_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2830+udevrules_DATA += longcheer/77-mm-longcheer-port-types.rules
2831+
2832+# AnyData CDMA
2833+libmm_plugin_anydata_la_SOURCES = \
2834+ anydata/mm-plugin-anydata.c \
2835+ anydata/mm-plugin-anydata.h \
2836+ anydata/mm-broadband-modem-anydata.h \
2837+ anydata/mm-broadband-modem-anydata.c
2838+libmm_plugin_anydata_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2839+libmm_plugin_anydata_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2840+
2841+# Linktop CDMA
2842+libmm_plugin_linktop_la_SOURCES = \
2843+ linktop/mm-plugin-linktop.c \
2844+ linktop/mm-plugin-linktop.h \
2845+ linktop/mm-broadband-modem-linktop.h \
2846+ linktop/mm-broadband-modem-linktop.c
2847+libmm_plugin_linktop_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2848+libmm_plugin_linktop_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2849+
2850+# SimTech
2851+libmm_plugin_simtech_la_SOURCES = \
2852+ simtech/mm-plugin-simtech.c \
2853+ simtech/mm-plugin-simtech.h \
2854+ simtech/mm-broadband-modem-simtech.h \
2855+ simtech/mm-broadband-modem-simtech.c
2856+libmm_plugin_simtech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2857+libmm_plugin_simtech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2858+udevrules_DATA += simtech/77-mm-simtech-port-types.rules
2859+
2860+# Alcatel/TCT/JRD x220D and possibly others
2861+libmm_plugin_x22x_la_SOURCES = \
2862+ x22x/mm-plugin-x22x.c \
2863+ x22x/mm-plugin-x22x.h \
2864+ x22x/mm-broadband-modem-x22x.h \
2865+ x22x/mm-broadband-modem-x22x.c
2866+libmm_plugin_x22x_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2867+libmm_plugin_x22x_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2868+udevrules_DATA += x22x/77-mm-x22x-port-types.rules
2869+
2870+# Pantech
2871+libmm_plugin_pantech_la_SOURCES = \
2872+ pantech/mm-plugin-pantech.c \
2873+ pantech/mm-plugin-pantech.h \
2874+ pantech/mm-sim-pantech.c \
2875+ pantech/mm-sim-pantech.h \
2876+ pantech/mm-broadband-modem-pantech.c \
2877+ pantech/mm-broadband-modem-pantech.h
2878+libmm_plugin_pantech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2879+libmm_plugin_pantech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2880+
2881+# Samsung modem
2882+libmm_plugin_samsung_la_SOURCES = \
2883+ samsung/mm-plugin-samsung.c \
2884+ samsung/mm-plugin-samsung.h \
2885+ samsung/mm-broadband-modem-samsung.c \
2886+ samsung/mm-broadband-modem-samsung.h
2887+libmm_plugin_samsung_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
2888+libmm_plugin_samsung_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2889+libmm_plugin_samsung_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
2890+
2891+# Cinterion (previously Siemens) modem
2892+libmm_plugin_cinterion_la_SOURCES = \
2893+ cinterion/mm-plugin-cinterion.c \
2894+ cinterion/mm-plugin-cinterion.h \
2895+ cinterion/mm-modem-helpers-cinterion.c \
2896+ cinterion/mm-modem-helpers-cinterion.h \
2897+ cinterion/mm-common-cinterion.c \
2898+ cinterion/mm-common-cinterion.h \
2899+ cinterion/mm-broadband-modem-cinterion.c \
2900+ cinterion/mm-broadband-modem-cinterion.h
2901+
2902+if WITH_QMI
2903+libmm_plugin_cinterion_la_SOURCES += \
2904+ cinterion/mm-broadband-modem-qmi-cinterion.c \
2905+ cinterion/mm-broadband-modem-qmi-cinterion.h
2906+endif
2907+
2908+libmm_plugin_cinterion_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2909+libmm_plugin_cinterion_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2910+
2911+udevrules_DATA += cinterion/77-mm-cinterion-port-types.rules
2912+
2913+noinst_PROGRAMS += test-modem-helpers-cinterion
2914+test_modem_helpers_cinterion_SOURCES = \
2915+ cinterion/mm-modem-helpers-cinterion.c \
2916+ cinterion/mm-modem-helpers-cinterion.h \
2917+ cinterion/tests/test-modem-helpers-cinterion.c
2918+test_modem_helpers_cinterion_CPPFLAGS = \
2919+ -I$(top_srcdir)/plugins/cinterion \
2920+ $(PLUGIN_COMMON_COMPILER_FLAGS)
2921+test_modem_helpers_cinterion_LDADD = \
2922+ $(top_builddir)/libmm-glib/libmm-glib.la \
2923+ $(top_builddir)/src/libmodem-helpers.la
2924+test_modem_helpers_cinterion_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2925+
2926+# Iridium modem
2927+libmm_plugin_iridium_la_SOURCES = \
2928+ iridium/mm-plugin-iridium.c \
2929+ iridium/mm-plugin-iridium.h \
2930+ iridium/mm-broadband-modem-iridium.c \
2931+ iridium/mm-broadband-modem-iridium.h \
2932+ iridium/mm-bearer-iridium.c \
2933+ iridium/mm-bearer-iridium.h \
2934+ iridium/mm-sim-iridium.c \
2935+ iridium/mm-sim-iridium.h
2936+libmm_plugin_iridium_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2937+libmm_plugin_iridium_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2938+
2939+# Novatel LTE modem
2940+libmm_plugin_novatel_lte_la_SOURCES = \
2941+ novatel/mm-plugin-novatel-lte.c \
2942+ novatel/mm-plugin-novatel-lte.h \
2943+ novatel/mm-broadband-modem-novatel-lte.c \
2944+ novatel/mm-broadband-modem-novatel-lte.h \
2945+ novatel/mm-broadband-bearer-novatel-lte.c \
2946+ novatel/mm-broadband-bearer-novatel-lte.h \
2947+ novatel/mm-sim-novatel-lte.c \
2948+ novatel/mm-sim-novatel-lte.h
2949+libmm_plugin_novatel_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2950+libmm_plugin_novatel_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2951+
2952+# Novatel non-LTE modem
2953+libmm_plugin_novatel_la_SOURCES = \
2954+ novatel/mm-plugin-novatel.c \
2955+ novatel/mm-plugin-novatel.h \
2956+ novatel/mm-broadband-modem-novatel.c \
2957+ novatel/mm-broadband-modem-novatel.h
2958+libmm_plugin_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2959+libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2960+
2961+# Altair LTE modem
2962+libmm_plugin_altair_lte_la_SOURCES = \
2963+ altair/mm-modem-helpers-altair-lte.c \
2964+ altair/mm-modem-helpers-altair-lte.h \
2965+ altair/mm-plugin-altair-lte.c \
2966+ altair/mm-plugin-altair-lte.h \
2967+ altair/mm-broadband-modem-altair-lte.c \
2968+ altair/mm-broadband-modem-altair-lte.h \
2969+ altair/mm-broadband-bearer-altair-lte.c \
2970+ altair/mm-broadband-bearer-altair-lte.h
2971+libmm_plugin_altair_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2972+libmm_plugin_altair_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2973+
2974+noinst_PROGRAMS += test-modem-helpers-altair-lte
2975+test_modem_helpers_altair_lte_SOURCES = \
2976+ altair/mm-modem-helpers-altair-lte.c \
2977+ altair/mm-modem-helpers-altair-lte.h \
2978+ altair/tests/test-modem-helpers-altair-lte.c
2979+test_modem_helpers_altair_lte_CPPFLAGS = \
2980+ -I$(top_srcdir)/plugins/altair \
2981+ $(PLUGIN_COMMON_COMPILER_FLAGS)
2982+test_modem_helpers_altair_lte_LDADD = $(top_builddir)/libmm-glib/libmm-glib.la
2983+test_modem_helpers_altair_lte_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2984+
2985+
2986+# VIA modem
2987+libmm_plugin_via_la_SOURCES = \
2988+ via/mm-plugin-via.c \
2989+ via/mm-plugin-via.h \
2990+ via/mm-broadband-modem-via.c \
2991+ via/mm-broadband-modem-via.h
2992+libmm_plugin_via_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
2993+libmm_plugin_via_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
2994+
2995+# Telit modem
2996+libmm_plugin_telit_la_SOURCES = \
2997+ telit/mm-plugin-telit.c \
2998+ telit/mm-plugin-telit.h \
2999+ telit/mm-broadband-modem-telit.c \
3000+ telit/mm-broadband-modem-telit.h
3001+libmm_plugin_telit_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3002+libmm_plugin_telit_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3003+udevrules_DATA += telit/77-mm-telit-port-types.rules
3004+
3005+# MTK
3006+libmm_plugin_mtk_la_SOURCES = \
3007+ mtk/mm-plugin-mtk.c \
3008+ mtk/mm-plugin-mtk.h \
3009+ mtk/mm-broadband-modem-mtk.h \
3010+ mtk/mm-broadband-modem-mtk.c
3011+libmm_plugin_mtk_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3012+libmm_plugin_mtk_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3013+udevrules_DATA += mtk/77-mm-mtk-port-types.rules
3014+
3015+
3016+# Additional files to include in the distribution
3017+EXTRA_DIST += \
3018+ $(udevrules_DATA) \
3019+ tests/gsm-port.conf
3020+
3021+# Unit tests
3022+TEST_PROGS += $(noinst_PROGRAMS)
3023
3024=== added directory '.pc/novatel-custom-init.patch/plugins/novatel'
3025=== added file '.pc/novatel-custom-init.patch/plugins/novatel/mm-common-novatel.c'
3026=== added file '.pc/novatel-custom-init.patch/plugins/novatel/mm-common-novatel.h'
3027=== added file '.pc/novatel-custom-init.patch/plugins/novatel/mm-plugin-novatel.c'
3028--- .pc/novatel-custom-init.patch/plugins/novatel/mm-plugin-novatel.c 1970-01-01 00:00:00 +0000
3029+++ .pc/novatel-custom-init.patch/plugins/novatel/mm-plugin-novatel.c 2015-10-09 10:06:57 +0000
3030@@ -0,0 +1,267 @@
3031+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3032+
3033+/*
3034+ * This program is free software; you can redistribute it and/or
3035+ * modify it under the terms of the GNU General Public License as
3036+ * published by the Free Software Foundation; either version 2 of the
3037+ * License, or (at your option) any later version.
3038+ *
3039+ * This program is distributed in the hope that it will be useful,
3040+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
3041+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3042+ * General Public License for more details.
3043+ *
3044+ * You should have received a copy of the GNU General Public
3045+ * License along with this program; if not, write to the
3046+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3047+ * Boston, MA 02111-1307, USA.
3048+ *
3049+ * Copyright (C) 2008 - 2009 Novell, Inc.
3050+ * Copyright (C) 2009 - 2012 Red Hat, Inc.
3051+ * Copyright (C) 2012 Aleksander Morgado <aleksander@gnu.org>
3052+ */
3053+
3054+#include <string.h>
3055+#include <gmodule.h>
3056+
3057+#define _LIBMM_INSIDE_MM
3058+#include <libmm-glib.h>
3059+
3060+#include "mm-plugin-novatel.h"
3061+#include "mm-private-boxed-types.h"
3062+#include "mm-broadband-modem-novatel.h"
3063+#include "mm-log.h"
3064+
3065+#if defined WITH_QMI
3066+#include "mm-broadband-modem-qmi.h"
3067+#endif
3068+
3069+G_DEFINE_TYPE (MMPluginNovatel, mm_plugin_novatel, MM_TYPE_PLUGIN)
3070+
3071+int mm_plugin_major_version = MM_PLUGIN_MAJOR_VERSION;
3072+int mm_plugin_minor_version = MM_PLUGIN_MINOR_VERSION;
3073+
3074+/*****************************************************************************/
3075+/* Custom commands for AT probing */
3076+
3077+/* We need to explicitly flip secondary ports to AT mode.
3078+ * We also use this command also for checking AT support in the current port.
3079+ */
3080+static const MMPortProbeAtCommand custom_at_probe[] = {
3081+ { "$NWDMAT=1", 3, mm_port_probe_response_processor_is_at },
3082+ { "$NWDMAT=1", 3, mm_port_probe_response_processor_is_at },
3083+ { "$NWDMAT=1", 3, mm_port_probe_response_processor_is_at },
3084+ { NULL }
3085+};
3086+
3087+/*****************************************************************************/
3088+/* Custom init */
3089+
3090+typedef struct {
3091+ MMPortProbe *probe;
3092+ MMPortSerialAt *port;
3093+ GCancellable *cancellable;
3094+ GSimpleAsyncResult *result;
3095+ guint nwdmat_retries;
3096+ guint wait_time;
3097+} CustomInitContext;
3098+
3099+static void
3100+custom_init_context_complete_and_free (CustomInitContext *ctx)
3101+{
3102+ g_simple_async_result_complete_in_idle (ctx->result);
3103+
3104+ if (ctx->cancellable)
3105+ g_object_unref (ctx->cancellable);
3106+ g_object_unref (ctx->port);
3107+ g_object_unref (ctx->probe);
3108+ g_object_unref (ctx->result);
3109+ g_slice_free (CustomInitContext, ctx);
3110+}
3111+
3112+static gboolean
3113+novatel_custom_init_finish (MMPortProbe *probe,
3114+ GAsyncResult *result,
3115+ GError **error)
3116+{
3117+ return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
3118+}
3119+
3120+static void custom_init_step (CustomInitContext *ctx);
3121+
3122+static void
3123+nwdmat_ready (MMPortSerialAt *port,
3124+ GAsyncResult *res,
3125+ CustomInitContext *ctx)
3126+{
3127+ const gchar *response;
3128+ GError *error = NULL;
3129+
3130+ response = mm_port_serial_at_command_finish (port, res, &error);
3131+ if (error) {
3132+ if (g_error_matches (error,
3133+ MM_SERIAL_ERROR,
3134+ MM_SERIAL_ERROR_RESPONSE_TIMEOUT)) {
3135+ custom_init_step (ctx);
3136+ goto out;
3137+ }
3138+
3139+ mm_dbg ("(Novatel) Error flipping secondary ports to AT mode: %s", error->message);
3140+ }
3141+
3142+ /* Finish custom_init */
3143+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
3144+ custom_init_context_complete_and_free (ctx);
3145+
3146+out:
3147+ if (error)
3148+ g_error_free (error);
3149+}
3150+
3151+static gboolean
3152+custom_init_wait_cb (CustomInitContext *ctx)
3153+{
3154+ custom_init_step (ctx);
3155+ return FALSE;
3156+}
3157+
3158+static void
3159+custom_init_step (CustomInitContext *ctx)
3160+{
3161+ /* If cancelled, end */
3162+ if (g_cancellable_is_cancelled (ctx->cancellable)) {
3163+ mm_dbg ("(Novatel) no need to keep on running custom init in (%s)",
3164+ mm_port_get_device (MM_PORT (ctx->port)));
3165+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
3166+ custom_init_context_complete_and_free (ctx);
3167+ return;
3168+ }
3169+
3170+ /* If device has a QMI port, don't run $NWDMAT */
3171+ if (mm_port_probe_list_has_qmi_port (mm_device_peek_port_probe_list (mm_port_probe_peek_device (ctx->probe)))) {
3172+ mm_dbg ("(Novatel) no need to run custom init in (%s): device has QMI port",
3173+ mm_port_get_device (MM_PORT (ctx->port)));
3174+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
3175+ custom_init_context_complete_and_free (ctx);
3176+ return;
3177+ }
3178+
3179+ if (ctx->wait_time > 0) {
3180+ ctx->wait_time--;
3181+ g_timeout_add_seconds (1, (GSourceFunc)custom_init_wait_cb, ctx);
3182+ return;
3183+ }
3184+
3185+ if (ctx->nwdmat_retries > 0) {
3186+ ctx->nwdmat_retries--;
3187+ mm_port_serial_at_command (ctx->port,
3188+ "$NWDMAT=1",
3189+ 3,
3190+ FALSE, /* raw */
3191+ FALSE, /* allow_cached */
3192+ ctx->cancellable,
3193+ (GAsyncReadyCallback)nwdmat_ready,
3194+ ctx);
3195+ return;
3196+ }
3197+
3198+ /* Finish custom_init */
3199+ mm_dbg ("(Novatel) couldn't flip secondary port to AT in (%s): all retries consumed",
3200+ mm_port_get_device (MM_PORT (ctx->port)));
3201+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
3202+ custom_init_context_complete_and_free (ctx);
3203+}
3204+
3205+static void
3206+novatel_custom_init (MMPortProbe *probe,
3207+ MMPortSerialAt *port,
3208+ GCancellable *cancellable,
3209+ GAsyncReadyCallback callback,
3210+ gpointer user_data)
3211+{
3212+ CustomInitContext *ctx;
3213+
3214+ ctx = g_slice_new (CustomInitContext);
3215+ ctx->result = g_simple_async_result_new (G_OBJECT (probe),
3216+ callback,
3217+ user_data,
3218+ novatel_custom_init);
3219+ ctx->probe = g_object_ref (probe);
3220+ ctx->port = g_object_ref (port);
3221+ ctx->cancellable = cancellable ? g_object_ref (cancellable) : NULL;
3222+ ctx->nwdmat_retries = 3;
3223+ ctx->wait_time = 2;
3224+
3225+ custom_init_step (ctx);
3226+}
3227+
3228+/*****************************************************************************/
3229+
3230+static MMBaseModem *
3231+create_modem (MMPlugin *self,
3232+ const gchar *sysfs_path,
3233+ const gchar **drivers,
3234+ guint16 vendor,
3235+ guint16 product,
3236+ GList *probes,
3237+ GError **error)
3238+{
3239+#if defined WITH_QMI
3240+ if (mm_port_probe_list_has_qmi_port (probes)) {
3241+ mm_dbg ("QMI-powered Novatel modem found...");
3242+ return MM_BASE_MODEM (mm_broadband_modem_qmi_new (sysfs_path,
3243+ drivers,
3244+ mm_plugin_get_name (self),
3245+ vendor,
3246+ product));
3247+ }
3248+#endif
3249+
3250+ return MM_BASE_MODEM (mm_broadband_modem_novatel_new (sysfs_path,
3251+ drivers,
3252+ mm_plugin_get_name (self),
3253+ vendor,
3254+ product));
3255+}
3256+
3257+/*****************************************************************************/
3258+
3259+G_MODULE_EXPORT MMPlugin *
3260+mm_plugin_create (void)
3261+{
3262+ static const gchar *subsystems[] = { "tty", "net", "usb", NULL };
3263+ static const guint16 vendors[] = { 0x1410, /* Novatel */
3264+ 0x413c, /* Dell */
3265+ 0 };
3266+ static const mm_uint16_pair forbidden_products[] = { { 0x1410, 0x9010 }, /* Novatel E362 */
3267+ { 0, 0 } };
3268+ static const MMAsyncMethod custom_init = {
3269+ .async = G_CALLBACK (novatel_custom_init),
3270+ .finish = G_CALLBACK (novatel_custom_init_finish),
3271+ };
3272+
3273+ return MM_PLUGIN (
3274+ g_object_new (MM_TYPE_PLUGIN_NOVATEL,
3275+ MM_PLUGIN_NAME, "Novatel",
3276+ MM_PLUGIN_ALLOWED_SUBSYSTEMS, subsystems,
3277+ MM_PLUGIN_ALLOWED_VENDOR_IDS, vendors,
3278+ MM_PLUGIN_FORBIDDEN_PRODUCT_IDS, forbidden_products,
3279+ MM_PLUGIN_ALLOWED_AT, TRUE,
3280+ MM_PLUGIN_CUSTOM_INIT, &custom_init,
3281+ MM_PLUGIN_ALLOWED_QCDM, TRUE,
3282+ MM_PLUGIN_ALLOWED_QMI, TRUE,
3283+ NULL));
3284+}
3285+
3286+static void
3287+mm_plugin_novatel_init (MMPluginNovatel *self)
3288+{
3289+}
3290+
3291+static void
3292+mm_plugin_novatel_class_init (MMPluginNovatelClass *klass)
3293+{
3294+ MMPluginClass *plugin_class = MM_PLUGIN_CLASS (klass);
3295+
3296+ plugin_class->create_modem = create_modem;
3297+}
3298
3299=== added directory '.pc/sierra-common-library.patch'
3300=== added directory '.pc/sierra-common-library.patch/plugins'
3301=== added file '.pc/sierra-common-library.patch/plugins/Makefile.am'
3302--- .pc/sierra-common-library.patch/plugins/Makefile.am 1970-01-01 00:00:00 +0000
3303+++ .pc/sierra-common-library.patch/plugins/Makefile.am 2015-10-09 10:06:57 +0000
3304@@ -0,0 +1,533 @@
3305+
3306+include $(top_srcdir)/gtester.make
3307+
3308+# Common CPPFLAGS and LDFLAGS
3309+
3310+PLUGIN_COMMON_COMPILER_FLAGS = \
3311+ $(MM_CFLAGS) \
3312+ $(GUDEV_CFLAGS) \
3313+ -I$(top_srcdir) \
3314+ -I$(top_srcdir)/src \
3315+ -I$(top_builddir)/src \
3316+ -I$(top_srcdir)/include \
3317+ -I$(top_builddir)/include \
3318+ -I$(top_srcdir)/libmm-glib \
3319+ -I$(top_srcdir)/libmm-glib/generated \
3320+ -I$(top_builddir)/libmm-glib/generated
3321+
3322+PLUGIN_COMMON_LINKER_FLAGS = \
3323+ $(GUDEV_LIBS) \
3324+ $(MM_LIBS) \
3325+ -module \
3326+ -avoid-version
3327+
3328+if WITH_QMI
3329+PLUGIN_COMMON_COMPILER_FLAGS += $(QMI_CFLAGS)
3330+PLUGIN_COMMON_LINKER_FLAGS += $(QMI_LIBS)
3331+endif
3332+
3333+if WITH_MBIM
3334+PLUGIN_COMMON_COMPILER_FLAGS += $(MBIM_CFLAGS)
3335+PLUGIN_COMMON_LINKER_FLAGS += $(MBIM_LIBS)
3336+endif
3337+
3338+# UDev rules
3339+udevrulesdir = $(UDEV_BASE_DIR)/rules.d
3340+udevrules_DATA =
3341+
3342+# Unit tests
3343+noinst_PROGRAMS =
3344+
3345+# Helper libs
3346+noinst_LTLIBRARIES =
3347+
3348+########################################
3349+
3350+# Common service test support
3351+
3352+noinst_LTLIBRARIES += libmm-test-common.la
3353+
3354+libmm_test_common_la_SOURCES = \
3355+ tests/test-fixture.h \
3356+ tests/test-fixture.c \
3357+ tests/test-port-context.h \
3358+ tests/test-port-context.c
3359+
3360+libmm_test_common_la_CPPFLAGS = \
3361+ $(MM_CFLAGS) \
3362+ -I$(top_srcdir)/include \
3363+ -I$(top_builddir)/include \
3364+ -I$(top_srcdir)/libmm-glib \
3365+ -I$(top_srcdir)/libmm-glib/generated \
3366+ -I$(top_builddir)/libmm-glib/generated \
3367+ -I$(top_builddir)/libmm-glib/generated/tests \
3368+ -DTEST_SERVICES=\""$(abs_top_builddir)/data/tests"\"
3369+
3370+libmm_test_common_la_LIBADD = \
3371+ ${top_builddir}/libmm-glib/generated/tests/libmm-test-generated.la \
3372+ $(top_builddir)/libmm-glib/libmm-glib.la
3373+
3374+TEST_COMMON_COMPILER_FLAGS = \
3375+ $(MM_CFLAGS) \
3376+ -I$(top_srcdir)/plugins/tests \
3377+ -I$(top_srcdir)/include \
3378+ -I$(top_builddir)/include \
3379+ -I$(top_srcdir)/libmm-glib \
3380+ -I$(top_srcdir)/libmm-glib/generated \
3381+ -I$(top_builddir)/libmm-glib/generated \
3382+ -I$(top_builddir)/libmm-glib/generated/tests \
3383+ -DCOMMON_GSM_PORT_CONF=\""$(abs_top_srcdir)/plugins/tests/gsm-port.conf"\"
3384+
3385+TEST_COMMON_LIBADD_FLAGS = \
3386+ $(builddir)/libmm-test-common.la \
3387+ $(top_builddir)/libmm-glib/libmm-glib.la
3388+
3389+
3390+########################################
3391+
3392+# Icera-specific support
3393+noinst_LTLIBRARIES += libmm-utils-icera.la
3394+libmm_utils_icera_la_SOURCES = \
3395+ icera/mm-broadband-modem-icera.h \
3396+ icera/mm-broadband-modem-icera.c \
3397+ icera/mm-broadband-bearer-icera.h \
3398+ icera/mm-broadband-bearer-icera.c \
3399+ icera/mm-modem-helpers-icera.c \
3400+ icera/mm-modem-helpers-icera.h
3401+libmm_utils_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3402+libmm_utils_icera_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
3403+
3404+ICERA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/icera
3405+ICERA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-icera.la
3406+
3407+noinst_PROGRAMS += test-modem-helpers-icera
3408+test_modem_helpers_icera_SOURCES = \
3409+ icera/mm-modem-helpers-icera.c \
3410+ icera/mm-modem-helpers-icera.h \
3411+ icera/tests/test-modem-helpers-icera.c
3412+test_modem_helpers_icera_CPPFLAGS = \
3413+ -I$(top_srcdir)/plugins/icera \
3414+ $(PLUGIN_COMMON_COMPILER_FLAGS)
3415+test_modem_helpers_icera_LDADD = \
3416+ $(top_builddir)/libmm-glib/libmm-glib.la \
3417+ $(top_builddir)/src/libmodem-helpers.la
3418+test_modem_helpers_icera_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3419+
3420+########################################
3421+
3422+pkglib_LTLIBRARIES = \
3423+ libmm-plugin-generic.la \
3424+ libmm-plugin-nokia.la \
3425+ libmm-plugin-nokia-icera.la \
3426+ libmm-plugin-cinterion.la \
3427+ libmm-plugin-iridium.la \
3428+ libmm-plugin-gobi.la \
3429+ libmm-plugin-motorola.la \
3430+ libmm-plugin-novatel.la \
3431+ libmm-plugin-novatel-lte.la \
3432+ libmm-plugin-altair-lte.la \
3433+ libmm-plugin-samsung.la \
3434+ libmm-plugin-option.la \
3435+ libmm-plugin-hso.la \
3436+ libmm-plugin-anydata.la \
3437+ libmm-plugin-linktop.la \
3438+ libmm-plugin-simtech.la \
3439+ libmm-plugin-wavecom.la \
3440+ libmm-plugin-huawei.la \
3441+ libmm-plugin-longcheer.la \
3442+ libmm-plugin-x22x.la \
3443+ libmm-plugin-pantech.la \
3444+ libmm-plugin-zte.la \
3445+ libmm-plugin-sierra.la \
3446+ libmm-plugin-mbm.la \
3447+ libmm-plugin-via.la \
3448+ libmm-plugin-telit.la \
3449+ libmm-plugin-mtk.la
3450+
3451+# Generic
3452+libmm_plugin_generic_la_SOURCES = \
3453+ generic/mm-plugin-generic.c \
3454+ generic/mm-plugin-generic.h
3455+libmm_plugin_generic_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3456+libmm_plugin_generic_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3457+
3458+noinst_PROGRAMS += test-service-generic
3459+test_service_generic_SOURCES = generic/tests/test-service-generic.c
3460+test_service_generic_CPPFLAGS = $(TEST_COMMON_COMPILER_FLAGS)
3461+test_service_generic_LDADD = $(TEST_COMMON_LIBADD_FLAGS)
3462+test_service_generic_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3463+
3464+## Motorola
3465+libmm_plugin_motorola_la_SOURCES = \
3466+ motorola/mm-plugin-motorola.c \
3467+ motorola/mm-plugin-motorola.h \
3468+ motorola/mm-broadband-modem-motorola.c \
3469+ motorola/mm-broadband-modem-motorola.h
3470+libmm_plugin_motorola_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3471+libmm_plugin_motorola_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3472+
3473+# Gobi
3474+libmm_plugin_gobi_la_SOURCES = \
3475+ gobi/mm-plugin-gobi.c \
3476+ gobi/mm-plugin-gobi.h \
3477+ gobi/mm-broadband-modem-gobi.c \
3478+ gobi/mm-broadband-modem-gobi.h
3479+libmm_plugin_gobi_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3480+libmm_plugin_gobi_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3481+
3482+# Huawei
3483+libmm_plugin_huawei_la_SOURCES = \
3484+ huawei/mm-plugin-huawei.c \
3485+ huawei/mm-plugin-huawei.h \
3486+ huawei/mm-modem-helpers-huawei.c \
3487+ huawei/mm-modem-helpers-huawei.h \
3488+ huawei/mm-sim-huawei.c \
3489+ huawei/mm-sim-huawei.h \
3490+ huawei/mm-broadband-modem-huawei.c \
3491+ huawei/mm-broadband-modem-huawei.h \
3492+ huawei/mm-broadband-bearer-huawei.c \
3493+ huawei/mm-broadband-bearer-huawei.h
3494+libmm_plugin_huawei_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3495+libmm_plugin_huawei_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3496+
3497+udevrules_DATA += huawei/77-mm-huawei-net-port-types.rules
3498+
3499+noinst_PROGRAMS += test-modem-helpers-huawei
3500+test_modem_helpers_huawei_SOURCES = \
3501+ huawei/mm-modem-helpers-huawei.c \
3502+ huawei/mm-modem-helpers-huawei.h \
3503+ huawei/tests/test-modem-helpers-huawei.c
3504+test_modem_helpers_huawei_CPPFLAGS = \
3505+ -I$(top_srcdir)/plugins/huawei \
3506+ $(PLUGIN_COMMON_COMPILER_FLAGS)
3507+test_modem_helpers_huawei_LDADD = \
3508+ $(top_builddir)/libmm-glib/libmm-glib.la \
3509+ $(top_builddir)/src/libmodem-helpers.la
3510+test_modem_helpers_huawei_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3511+
3512+# MBM
3513+libmm_plugin_mbm_la_SOURCES = \
3514+ mbm/mm-plugin-mbm.c \
3515+ mbm/mm-plugin-mbm.h \
3516+ mbm/mm-broadband-modem-mbm.c \
3517+ mbm/mm-broadband-modem-mbm.h \
3518+ mbm/mm-broadband-bearer-mbm.c \
3519+ mbm/mm-broadband-bearer-mbm.h \
3520+ mbm/mm-modem-helpers-mbm.c \
3521+ mbm/mm-modem-helpers-mbm.h \
3522+ mbm/mm-sim-mbm.c \
3523+ mbm/mm-sim-mbm.h
3524+libmm_plugin_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3525+libmm_plugin_mbm_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3526+udevrules_DATA += mbm/77-mm-ericsson-mbm.rules
3527+
3528+noinst_PROGRAMS += test-modem-helpers-mbm
3529+test_modem_helpers_mbm_SOURCES = \
3530+ mbm/mm-modem-helpers-mbm.c \
3531+ mbm/mm-modem-helpers-mbm.h \
3532+ mbm/tests/test-modem-helpers-mbm.c
3533+test_modem_helpers_mbm_CPPFLAGS = \
3534+ -I$(top_srcdir)/plugins/mbm \
3535+ $(PLUGIN_COMMON_COMPILER_FLAGS)
3536+test_modem_helpers_mbm_LDADD = \
3537+ $(top_builddir)/libmm-glib/libmm-glib.la \
3538+ $(top_builddir)/src/libmodem-helpers.la
3539+test_modem_helpers_mbm_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3540+
3541+# Option
3542+libmm_plugin_option_la_SOURCES = \
3543+ option/mm-plugin-option.c \
3544+ option/mm-plugin-option.h \
3545+ option/mm-broadband-modem-option.c \
3546+ option/mm-broadband-modem-option.h
3547+libmm_plugin_option_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3548+libmm_plugin_option_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3549+
3550+# HSO
3551+libmm_plugin_hso_la_SOURCES = \
3552+ option/mm-plugin-hso.c \
3553+ option/mm-plugin-hso.h \
3554+ option/mm-broadband-modem-option.c \
3555+ option/mm-broadband-modem-option.h \
3556+ option/mm-broadband-bearer-hso.c \
3557+ option/mm-broadband-bearer-hso.h \
3558+ option/mm-broadband-modem-hso.c \
3559+ option/mm-broadband-modem-hso.h
3560+libmm_plugin_hso_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3561+libmm_plugin_hso_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3562+
3563+# Sierra
3564+libmm_plugin_sierra_la_SOURCES = \
3565+ sierra/mm-plugin-sierra.c \
3566+ sierra/mm-plugin-sierra.h \
3567+ sierra/mm-common-sierra.c \
3568+ sierra/mm-common-sierra.h \
3569+ sierra/mm-sim-sierra.c \
3570+ sierra/mm-sim-sierra.h \
3571+ sierra/mm-broadband-bearer-sierra.c \
3572+ sierra/mm-broadband-bearer-sierra.h \
3573+ sierra/mm-broadband-modem-sierra.c \
3574+ sierra/mm-broadband-modem-sierra.h \
3575+ sierra/mm-broadband-modem-sierra-icera.c \
3576+ sierra/mm-broadband-modem-sierra-icera.h
3577+libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
3578+libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3579+libmm_plugin_sierra_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
3580+
3581+# Wavecom (Sierra Airlink)
3582+libmm_plugin_wavecom_la_SOURCES = \
3583+ wavecom/mm-plugin-wavecom.c \
3584+ wavecom/mm-plugin-wavecom.h \
3585+ wavecom/mm-broadband-modem-wavecom.c \
3586+ wavecom/mm-broadband-modem-wavecom.h
3587+libmm_plugin_wavecom_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3588+libmm_plugin_wavecom_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3589+
3590+# Nokia
3591+libmm_plugin_nokia_la_SOURCES = \
3592+ nokia/mm-plugin-nokia.c \
3593+ nokia/mm-plugin-nokia.h \
3594+ nokia/mm-sim-nokia.c \
3595+ nokia/mm-sim-nokia.h \
3596+ nokia/mm-broadband-modem-nokia.c \
3597+ nokia/mm-broadband-modem-nokia.h
3598+libmm_plugin_nokia_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3599+libmm_plugin_nokia_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3600+
3601+# Nokia (Icera)
3602+libmm_plugin_nokia_icera_la_SOURCES = \
3603+ nokia/mm-plugin-nokia-icera.c \
3604+ nokia/mm-plugin-nokia-icera.h
3605+libmm_plugin_nokia_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
3606+libmm_plugin_nokia_icera_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3607+libmm_plugin_nokia_icera_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
3608+udevrules_DATA += nokia/77-mm-nokia-port-types.rules
3609+
3610+# Zte
3611+libmm_plugin_zte_la_SOURCES = \
3612+ zte/mm-plugin-zte.c \
3613+ zte/mm-plugin-zte.h \
3614+ zte/mm-common-zte.h \
3615+ zte/mm-common-zte.c \
3616+ zte/mm-broadband-modem-zte.h \
3617+ zte/mm-broadband-modem-zte.c \
3618+ zte/mm-broadband-modem-zte-icera.h \
3619+ zte/mm-broadband-modem-zte-icera.c
3620+libmm_plugin_zte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
3621+libmm_plugin_zte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3622+libmm_plugin_zte_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
3623+udevrules_DATA += zte/77-mm-zte-port-types.rules
3624+
3625+# Longcheer (and rebranded dongles)
3626+libmm_plugin_longcheer_la_SOURCES = \
3627+ longcheer/mm-plugin-longcheer.c \
3628+ longcheer/mm-plugin-longcheer.h \
3629+ longcheer/mm-broadband-modem-longcheer.h \
3630+ longcheer/mm-broadband-modem-longcheer.c
3631+libmm_plugin_longcheer_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3632+libmm_plugin_longcheer_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3633+udevrules_DATA += longcheer/77-mm-longcheer-port-types.rules
3634+
3635+# AnyData CDMA
3636+libmm_plugin_anydata_la_SOURCES = \
3637+ anydata/mm-plugin-anydata.c \
3638+ anydata/mm-plugin-anydata.h \
3639+ anydata/mm-broadband-modem-anydata.h \
3640+ anydata/mm-broadband-modem-anydata.c
3641+libmm_plugin_anydata_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3642+libmm_plugin_anydata_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3643+
3644+# Linktop CDMA
3645+libmm_plugin_linktop_la_SOURCES = \
3646+ linktop/mm-plugin-linktop.c \
3647+ linktop/mm-plugin-linktop.h \
3648+ linktop/mm-broadband-modem-linktop.h \
3649+ linktop/mm-broadband-modem-linktop.c
3650+libmm_plugin_linktop_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3651+libmm_plugin_linktop_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3652+
3653+# SimTech
3654+libmm_plugin_simtech_la_SOURCES = \
3655+ simtech/mm-plugin-simtech.c \
3656+ simtech/mm-plugin-simtech.h \
3657+ simtech/mm-broadband-modem-simtech.h \
3658+ simtech/mm-broadband-modem-simtech.c
3659+libmm_plugin_simtech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3660+libmm_plugin_simtech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3661+udevrules_DATA += simtech/77-mm-simtech-port-types.rules
3662+
3663+# Alcatel/TCT/JRD x220D and possibly others
3664+libmm_plugin_x22x_la_SOURCES = \
3665+ x22x/mm-plugin-x22x.c \
3666+ x22x/mm-plugin-x22x.h \
3667+ x22x/mm-broadband-modem-x22x.h \
3668+ x22x/mm-broadband-modem-x22x.c
3669+libmm_plugin_x22x_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3670+libmm_plugin_x22x_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3671+udevrules_DATA += x22x/77-mm-x22x-port-types.rules
3672+
3673+# Pantech
3674+libmm_plugin_pantech_la_SOURCES = \
3675+ pantech/mm-plugin-pantech.c \
3676+ pantech/mm-plugin-pantech.h \
3677+ pantech/mm-sim-pantech.c \
3678+ pantech/mm-sim-pantech.h \
3679+ pantech/mm-broadband-modem-pantech.c \
3680+ pantech/mm-broadband-modem-pantech.h
3681+libmm_plugin_pantech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3682+libmm_plugin_pantech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3683+
3684+# Samsung modem
3685+libmm_plugin_samsung_la_SOURCES = \
3686+ samsung/mm-plugin-samsung.c \
3687+ samsung/mm-plugin-samsung.h \
3688+ samsung/mm-broadband-modem-samsung.c \
3689+ samsung/mm-broadband-modem-samsung.h
3690+libmm_plugin_samsung_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
3691+libmm_plugin_samsung_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3692+libmm_plugin_samsung_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
3693+
3694+# Cinterion (previously Siemens) modem
3695+libmm_plugin_cinterion_la_SOURCES = \
3696+ cinterion/mm-plugin-cinterion.c \
3697+ cinterion/mm-plugin-cinterion.h \
3698+ cinterion/mm-modem-helpers-cinterion.c \
3699+ cinterion/mm-modem-helpers-cinterion.h \
3700+ cinterion/mm-common-cinterion.c \
3701+ cinterion/mm-common-cinterion.h \
3702+ cinterion/mm-broadband-modem-cinterion.c \
3703+ cinterion/mm-broadband-modem-cinterion.h
3704+
3705+if WITH_QMI
3706+libmm_plugin_cinterion_la_SOURCES += \
3707+ cinterion/mm-broadband-modem-qmi-cinterion.c \
3708+ cinterion/mm-broadband-modem-qmi-cinterion.h
3709+endif
3710+
3711+libmm_plugin_cinterion_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3712+libmm_plugin_cinterion_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3713+
3714+udevrules_DATA += cinterion/77-mm-cinterion-port-types.rules
3715+
3716+noinst_PROGRAMS += test-modem-helpers-cinterion
3717+test_modem_helpers_cinterion_SOURCES = \
3718+ cinterion/mm-modem-helpers-cinterion.c \
3719+ cinterion/mm-modem-helpers-cinterion.h \
3720+ cinterion/tests/test-modem-helpers-cinterion.c
3721+test_modem_helpers_cinterion_CPPFLAGS = \
3722+ -I$(top_srcdir)/plugins/cinterion \
3723+ $(PLUGIN_COMMON_COMPILER_FLAGS)
3724+test_modem_helpers_cinterion_LDADD = \
3725+ $(top_builddir)/libmm-glib/libmm-glib.la \
3726+ $(top_builddir)/src/libmodem-helpers.la
3727+test_modem_helpers_cinterion_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3728+
3729+# Iridium modem
3730+libmm_plugin_iridium_la_SOURCES = \
3731+ iridium/mm-plugin-iridium.c \
3732+ iridium/mm-plugin-iridium.h \
3733+ iridium/mm-broadband-modem-iridium.c \
3734+ iridium/mm-broadband-modem-iridium.h \
3735+ iridium/mm-bearer-iridium.c \
3736+ iridium/mm-bearer-iridium.h \
3737+ iridium/mm-sim-iridium.c \
3738+ iridium/mm-sim-iridium.h
3739+libmm_plugin_iridium_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3740+libmm_plugin_iridium_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3741+
3742+# Common Novatel modem support library
3743+noinst_LTLIBRARIES += libmm-utils-novatel.la
3744+libmm_utils_novatel_la_SOURCES = \
3745+ novatel/mm-common-novatel.c \
3746+ novatel/mm-common-novatel.h \
3747+ novatel/mm-broadband-modem-novatel.c \
3748+ novatel/mm-broadband-modem-novatel.h
3749+libmm_utils_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3750+libmm_utils_novatel_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
3751+
3752+NOVATEL_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/novatel
3753+NOVATEL_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-novatel.la
3754+
3755+# Novatel LTE modem
3756+libmm_plugin_novatel_lte_la_SOURCES = \
3757+ novatel/mm-plugin-novatel-lte.c \
3758+ novatel/mm-plugin-novatel-lte.h \
3759+ novatel/mm-broadband-modem-novatel-lte.c \
3760+ novatel/mm-broadband-modem-novatel-lte.h \
3761+ novatel/mm-broadband-bearer-novatel-lte.c \
3762+ novatel/mm-broadband-bearer-novatel-lte.h \
3763+ novatel/mm-sim-novatel-lte.c \
3764+ novatel/mm-sim-novatel-lte.h
3765+libmm_plugin_novatel_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3766+libmm_plugin_novatel_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3767+
3768+# Novatel non-LTE modem
3769+libmm_plugin_novatel_la_SOURCES = \
3770+ novatel/mm-plugin-novatel.c \
3771+ novatel/mm-plugin-novatel.h
3772+libmm_plugin_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(NOVATEL_COMMON_COMPILER_FLAGS)
3773+libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3774+libmm_plugin_novatel_la_LIBADD = $(NOVATEL_COMMON_LIBADD_FLAGS)
3775+
3776+# Altair LTE modem
3777+libmm_plugin_altair_lte_la_SOURCES = \
3778+ altair/mm-modem-helpers-altair-lte.c \
3779+ altair/mm-modem-helpers-altair-lte.h \
3780+ altair/mm-plugin-altair-lte.c \
3781+ altair/mm-plugin-altair-lte.h \
3782+ altair/mm-broadband-modem-altair-lte.c \
3783+ altair/mm-broadband-modem-altair-lte.h \
3784+ altair/mm-broadband-bearer-altair-lte.c \
3785+ altair/mm-broadband-bearer-altair-lte.h
3786+libmm_plugin_altair_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3787+libmm_plugin_altair_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3788+
3789+noinst_PROGRAMS += test-modem-helpers-altair-lte
3790+test_modem_helpers_altair_lte_SOURCES = \
3791+ altair/mm-modem-helpers-altair-lte.c \
3792+ altair/mm-modem-helpers-altair-lte.h \
3793+ altair/tests/test-modem-helpers-altair-lte.c
3794+test_modem_helpers_altair_lte_CPPFLAGS = \
3795+ -I$(top_srcdir)/plugins/altair \
3796+ $(PLUGIN_COMMON_COMPILER_FLAGS)
3797+test_modem_helpers_altair_lte_LDADD = $(top_builddir)/libmm-glib/libmm-glib.la
3798+test_modem_helpers_altair_lte_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3799+
3800+
3801+# VIA modem
3802+libmm_plugin_via_la_SOURCES = \
3803+ via/mm-plugin-via.c \
3804+ via/mm-plugin-via.h \
3805+ via/mm-broadband-modem-via.c \
3806+ via/mm-broadband-modem-via.h
3807+libmm_plugin_via_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3808+libmm_plugin_via_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3809+
3810+# Telit modem
3811+libmm_plugin_telit_la_SOURCES = \
3812+ telit/mm-plugin-telit.c \
3813+ telit/mm-plugin-telit.h \
3814+ telit/mm-broadband-modem-telit.c \
3815+ telit/mm-broadband-modem-telit.h
3816+libmm_plugin_telit_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3817+libmm_plugin_telit_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3818+udevrules_DATA += telit/77-mm-telit-port-types.rules
3819+
3820+# MTK
3821+libmm_plugin_mtk_la_SOURCES = \
3822+ mtk/mm-plugin-mtk.c \
3823+ mtk/mm-plugin-mtk.h \
3824+ mtk/mm-broadband-modem-mtk.h \
3825+ mtk/mm-broadband-modem-mtk.c
3826+libmm_plugin_mtk_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
3827+libmm_plugin_mtk_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
3828+udevrules_DATA += mtk/77-mm-mtk-port-types.rules
3829+
3830+
3831+# Additional files to include in the distribution
3832+EXTRA_DIST += \
3833+ $(udevrules_DATA) \
3834+ tests/gsm-port.conf
3835+
3836+# Unit tests
3837+TEST_PROGS += $(noinst_PROGRAMS)
3838
3839=== added directory '.pc/sierra-custom-init.patch'
3840=== added directory '.pc/sierra-custom-init.patch/plugins'
3841=== added directory '.pc/sierra-custom-init.patch/plugins/sierra'
3842=== added file '.pc/sierra-custom-init.patch/plugins/sierra/mm-common-sierra.c'
3843--- .pc/sierra-custom-init.patch/plugins/sierra/mm-common-sierra.c 1970-01-01 00:00:00 +0000
3844+++ .pc/sierra-custom-init.patch/plugins/sierra/mm-common-sierra.c 2015-10-09 10:06:57 +0000
3845@@ -0,0 +1,308 @@
3846+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3847+/*
3848+ * This program is free software; you can redistribute it and/or modify
3849+ * it under the terms of the GNU General Public License as published by
3850+ * the Free Software Foundation; either version 2 of the License, or
3851+ * (at your option) any later version.
3852+ *
3853+ * This program is distributed in the hope that it will be useful,
3854+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
3855+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3856+ * GNU General Public License for more details:
3857+ *
3858+ * Copyright (C) 2008 - 2009 Novell, Inc.
3859+ * Copyright (C) 2009 - 2012 Red Hat, Inc.
3860+ * Copyright (C) 2012 Lanedo GmbH
3861+ */
3862+
3863+#include "mm-common-sierra.h"
3864+#include "mm-base-modem-at.h"
3865+#include "mm-log.h"
3866+#include "mm-modem-helpers.h"
3867+#include "mm-sim-sierra.h"
3868+
3869+static MMIfaceModem *iface_modem_parent;
3870+
3871+/*****************************************************************************/
3872+/* Modem power up (Modem interface) */
3873+
3874+gboolean
3875+mm_common_sierra_modem_power_up_finish (MMIfaceModem *self,
3876+ GAsyncResult *res,
3877+ GError **error)
3878+{
3879+ return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res), error);
3880+}
3881+
3882+static gboolean
3883+sierra_power_up_wait_cb (GSimpleAsyncResult *result)
3884+{
3885+ g_simple_async_result_set_op_res_gboolean (result, TRUE);
3886+ g_simple_async_result_complete (result);
3887+ g_object_unref (result);
3888+ return FALSE;
3889+}
3890+
3891+static void
3892+cfun_enable_ready (MMBaseModem *self,
3893+ GAsyncResult *res,
3894+ GSimpleAsyncResult *simple)
3895+{
3896+ GError *error = NULL;
3897+ guint i;
3898+ const gchar **drivers;
3899+ gboolean is_new_sierra = FALSE;
3900+
3901+ if (!mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, &error)) {
3902+ g_simple_async_result_take_error (simple, error);
3903+ g_simple_async_result_complete (simple);
3904+ g_object_unref (simple);
3905+ return;
3906+ }
3907+
3908+ /* Many Sierra devices return OK immediately in response to CFUN=1 but
3909+ * need some time to finish powering up, otherwise subsequent commands
3910+ * may return failure or even crash the modem. Give more time for older
3911+ * devices like the AC860 and C885, which aren't driven by the 'sierra_net'
3912+ * driver. Assume any DirectIP (ie, sierra_net) device is new enough
3913+ * to allow a lower timeout.
3914+ */
3915+ drivers = mm_base_modem_get_drivers (MM_BASE_MODEM (self));
3916+ for (i = 0; drivers[i]; i++) {
3917+ if (g_str_equal (drivers[i], "sierra_net")) {
3918+ is_new_sierra = TRUE;
3919+ break;
3920+ }
3921+ }
3922+
3923+ /* The modem object will be valid in the callback as 'result' keeps a
3924+ * reference to it. */
3925+ g_timeout_add_seconds (is_new_sierra ? 5 : 10, (GSourceFunc)sierra_power_up_wait_cb, simple);
3926+}
3927+
3928+static void
3929+pcstate_enable_ready (MMBaseModem *self,
3930+ GAsyncResult *res,
3931+ GSimpleAsyncResult *simple)
3932+{
3933+ /* Ignore errors for now; we're not sure if all Sierra CDMA devices support
3934+ * at!pcstate.
3935+ */
3936+ mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, NULL);
3937+
3938+ g_simple_async_result_set_op_res_gboolean (simple, TRUE);
3939+ g_simple_async_result_complete (simple);
3940+ g_object_unref (simple);
3941+}
3942+
3943+void
3944+mm_common_sierra_modem_power_up (MMIfaceModem *self,
3945+ GAsyncReadyCallback callback,
3946+ gpointer user_data)
3947+{
3948+ GSimpleAsyncResult *result;
3949+
3950+ result = g_simple_async_result_new (G_OBJECT (self),
3951+ callback,
3952+ user_data,
3953+ mm_common_sierra_modem_power_up);
3954+
3955+ /* For CDMA modems, run !pcstate */
3956+ if (mm_iface_modem_is_cdma_only (self)) {
3957+ mm_base_modem_at_command (MM_BASE_MODEM (self),
3958+ "!pcstate=1",
3959+ 5,
3960+ FALSE,
3961+ (GAsyncReadyCallback)pcstate_enable_ready,
3962+ result);
3963+ return;
3964+ }
3965+
3966+ mm_warn ("Not in full functionality status, power-up command is needed. "
3967+ "Note that it may reboot the modem.");
3968+
3969+ /* Try to go to full functionality mode without rebooting the system.
3970+ * Works well if we previously switched off the power with CFUN=4
3971+ */
3972+ mm_base_modem_at_command (MM_BASE_MODEM (self),
3973+ "+CFUN=1,0", /* ",0" requests no reset */
3974+ 10,
3975+ FALSE,
3976+ (GAsyncReadyCallback)cfun_enable_ready,
3977+ result);
3978+}
3979+
3980+/*****************************************************************************/
3981+/* Power state loading (Modem interface) */
3982+
3983+MMModemPowerState
3984+mm_common_sierra_load_power_state_finish (MMIfaceModem *self,
3985+ GAsyncResult *res,
3986+ GError **error)
3987+{
3988+ if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res), error))
3989+ return MM_MODEM_POWER_STATE_UNKNOWN;
3990+
3991+ return (MMModemPowerState)GPOINTER_TO_UINT (g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (res)));
3992+}
3993+
3994+static void
3995+parent_load_power_state_ready (MMIfaceModem *self,
3996+ GAsyncResult *res,
3997+ GSimpleAsyncResult *simple)
3998+{
3999+ GError *error = NULL;
4000+ MMModemPowerState state;
4001+
4002+ state = iface_modem_parent->load_power_state_finish (self, res, &error);
4003+ if (error)
4004+ g_simple_async_result_take_error (simple, error);
4005+ else
4006+ g_simple_async_result_set_op_res_gpointer (simple, GUINT_TO_POINTER (state), NULL);
4007+ g_simple_async_result_complete (simple);
4008+ g_object_unref (simple);
4009+}
4010+
4011+static void
4012+pcstate_query_ready (MMBaseModem *self,
4013+ GAsyncResult *res,
4014+ GSimpleAsyncResult *simple)
4015+{
4016+ const gchar *result;
4017+ guint state;
4018+ GError *error = NULL;
4019+
4020+ result = mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, &error);
4021+ if (!result) {
4022+ g_simple_async_result_take_error (simple, error);
4023+ g_simple_async_result_complete (simple);
4024+ g_object_unref (simple);
4025+ return;
4026+ }
4027+
4028+ /* Parse power state reply */
4029+ result = mm_strip_tag (result, "!PCSTATE:");
4030+ if (!mm_get_uint_from_str (result, &state)) {
4031+ g_simple_async_result_set_error (simple,
4032+ MM_CORE_ERROR,
4033+ MM_CORE_ERROR_FAILED,
4034+ "Failed to parse !PCSTATE response '%s'",
4035+ result);
4036+ } else {
4037+ switch (state) {
4038+ case 0:
4039+ g_simple_async_result_set_op_res_gpointer (simple, GUINT_TO_POINTER (MM_MODEM_POWER_STATE_LOW), NULL);
4040+ break;
4041+ case 1:
4042+ g_simple_async_result_set_op_res_gpointer (simple, GUINT_TO_POINTER (MM_MODEM_POWER_STATE_ON), NULL);
4043+ break;
4044+ default:
4045+ g_simple_async_result_set_error (simple,
4046+ MM_CORE_ERROR,
4047+ MM_CORE_ERROR_FAILED,
4048+ "Unhandled power state: '%u'",
4049+ state);
4050+ break;
4051+ }
4052+ }
4053+
4054+ g_simple_async_result_complete (simple);
4055+ g_object_unref (simple);
4056+}
4057+
4058+void
4059+mm_common_sierra_load_power_state (MMIfaceModem *self,
4060+ GAsyncReadyCallback callback,
4061+ gpointer user_data)
4062+{
4063+ GSimpleAsyncResult *result;
4064+
4065+ result = g_simple_async_result_new (G_OBJECT (self),
4066+ callback,
4067+ user_data,
4068+ mm_common_sierra_load_power_state);
4069+
4070+ /* Check power state with AT!PCSTATE? */
4071+ if (mm_iface_modem_is_cdma_only (self)) {
4072+ mm_base_modem_at_command (MM_BASE_MODEM (self),
4073+ "!pcstate?",
4074+ 3,
4075+ FALSE,
4076+ (GAsyncReadyCallback)pcstate_query_ready,
4077+ result);
4078+ return;
4079+ }
4080+
4081+ /* Otherwise run parent's */
4082+ iface_modem_parent->load_power_state (self,
4083+ (GAsyncReadyCallback)parent_load_power_state_ready,
4084+ result);
4085+}
4086+
4087+/*****************************************************************************/
4088+/* Create SIM (Modem interface) */
4089+
4090+MMBaseSim *
4091+mm_common_sierra_create_sim_finish (MMIfaceModem *self,
4092+ GAsyncResult *res,
4093+ GError **error)
4094+{
4095+ return mm_sim_sierra_new_finish (res, error);
4096+}
4097+
4098+void
4099+mm_common_sierra_create_sim (MMIfaceModem *self,
4100+ GAsyncReadyCallback callback,
4101+ gpointer user_data)
4102+{
4103+ /* New Sierra SIM */
4104+ mm_sim_sierra_new (MM_BASE_MODEM (self),
4105+ NULL, /* cancellable */
4106+ callback,
4107+ user_data);
4108+}
4109+
4110+/*****************************************************************************/
4111+/* Setup ports */
4112+
4113+void
4114+mm_common_sierra_setup_ports (MMBroadbandModem *self)
4115+{
4116+ MMPortSerialAt *ports[2];
4117+ guint i;
4118+ GRegex *pacsp_regex;
4119+
4120+ pacsp_regex = g_regex_new ("\\r\\n\\+PACSP.*\\r\\n", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
4121+
4122+ ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
4123+ ports[1] = mm_base_modem_peek_port_secondary (MM_BASE_MODEM (self));
4124+
4125+ for (i = 0; i < 2; i++) {
4126+ if (!ports[i])
4127+ continue;
4128+
4129+ if (i == 1) {
4130+ /* Built-in echo removal conflicts with the APP1 port's limited AT
4131+ * parser, which doesn't always prefix responses with <CR><LF>.
4132+ */
4133+ g_object_set (ports[i],
4134+ MM_PORT_SERIAL_AT_REMOVE_ECHO, FALSE,
4135+ NULL);
4136+ }
4137+
4138+ mm_port_serial_at_add_unsolicited_msg_handler (
4139+ ports[i],
4140+ pacsp_regex,
4141+ NULL, NULL, NULL);
4142+ }
4143+
4144+ g_regex_unref (pacsp_regex);
4145+}
4146+
4147+/*****************************************************************************/
4148+
4149+void
4150+mm_common_sierra_peek_parent_interfaces (MMIfaceModem *iface)
4151+{
4152+ iface_modem_parent = g_type_interface_peek_parent (iface);
4153+}
4154
4155=== added file '.pc/sierra-custom-init.patch/plugins/sierra/mm-common-sierra.h'
4156--- .pc/sierra-custom-init.patch/plugins/sierra/mm-common-sierra.h 1970-01-01 00:00:00 +0000
4157+++ .pc/sierra-custom-init.patch/plugins/sierra/mm-common-sierra.h 2015-10-09 10:06:57 +0000
4158@@ -0,0 +1,50 @@
4159+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
4160+/*
4161+ * This program is free software; you can redistribute it and/or modify
4162+ * it under the terms of the GNU General Public License as published by
4163+ * the Free Software Foundation; either version 2 of the License, or
4164+ * (at your option) any later version.
4165+ *
4166+ * This program is distributed in the hope that it will be useful,
4167+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4168+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4169+ * GNU General Public License for more details:
4170+ *
4171+ * Copyright (C) 2008 - 2009 Novell, Inc.
4172+ * Copyright (C) 2009 - 2012 Red Hat, Inc.
4173+ * Copyright (C) 2012 Lanedo GmbH
4174+ */
4175+
4176+#ifndef MM_COMMON_SIERRA_H
4177+#define MM_COMMON_SIERRA_H
4178+
4179+#include "mm-broadband-modem.h"
4180+#include "mm-iface-modem.h"
4181+#include "mm-base-sim.h"
4182+
4183+void mm_common_sierra_load_power_state (MMIfaceModem *self,
4184+ GAsyncReadyCallback callback,
4185+ gpointer user_data);
4186+MMModemPowerState mm_common_sierra_load_power_state_finish (MMIfaceModem *self,
4187+ GAsyncResult *res,
4188+ GError **error);
4189+
4190+void mm_common_sierra_modem_power_up (MMIfaceModem *self,
4191+ GAsyncReadyCallback callback,
4192+ gpointer user_data);
4193+gboolean mm_common_sierra_modem_power_up_finish (MMIfaceModem *self,
4194+ GAsyncResult *res,
4195+ GError **error);
4196+
4197+void mm_common_sierra_create_sim (MMIfaceModem *self,
4198+ GAsyncReadyCallback callback,
4199+ gpointer user_data);
4200+MMBaseSim *mm_common_sierra_create_sim_finish (MMIfaceModem *self,
4201+ GAsyncResult *res,
4202+ GError **error);
4203+
4204+void mm_common_sierra_setup_ports (MMBroadbandModem *self);
4205+
4206+void mm_common_sierra_peek_parent_interfaces (MMIfaceModem *iface);
4207+
4208+#endif /* MM_COMMON_SIERRA_H */
4209
4210=== added file '.pc/sierra-custom-init.patch/plugins/sierra/mm-plugin-sierra.c'
4211--- .pc/sierra-custom-init.patch/plugins/sierra/mm-plugin-sierra.c 1970-01-01 00:00:00 +0000
4212+++ .pc/sierra-custom-init.patch/plugins/sierra/mm-plugin-sierra.c 2015-10-09 10:06:57 +0000
4213@@ -0,0 +1,343 @@
4214+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
4215+/*
4216+ * This program is free software; you can redistribute it and/or modify
4217+ * it under the terms of the GNU General Public License as published by
4218+ * the Free Software Foundation; either version 2 of the License, or
4219+ * (at your option) any later version.
4220+ *
4221+ * This program is distributed in the hope that it will be useful,
4222+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4223+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4224+ * GNU General Public License for more details:
4225+ *
4226+ * Copyright (C) 2008 - 2009 Novell, Inc.
4227+ * Copyright (C) 2009 - 2012 Red Hat, Inc.
4228+ * Copyright (C) 2012 Lanedo GmbH
4229+ */
4230+
4231+#include <string.h>
4232+#include <stdlib.h>
4233+#include <gmodule.h>
4234+
4235+#define _LIBMM_INSIDE_MM
4236+#include <libmm-glib.h>
4237+
4238+#include "mm-log.h"
4239+#include "mm-plugin-sierra.h"
4240+#include "mm-broadband-modem-sierra.h"
4241+#include "mm-broadband-modem-sierra-icera.h"
4242+
4243+#if defined WITH_QMI
4244+#include "mm-broadband-modem-qmi.h"
4245+#endif
4246+
4247+#if defined WITH_MBIM
4248+#include "mm-broadband-modem-mbim.h"
4249+#endif
4250+
4251+G_DEFINE_TYPE (MMPluginSierra, mm_plugin_sierra, MM_TYPE_PLUGIN)
4252+
4253+int mm_plugin_major_version = MM_PLUGIN_MAJOR_VERSION;
4254+int mm_plugin_minor_version = MM_PLUGIN_MINOR_VERSION;
4255+
4256+/*****************************************************************************/
4257+/* Custom init */
4258+
4259+#define TAG_SIERRA_APP_PORT "sierra-app-port"
4260+#define TAG_SIERRA_APP1_PPP_OK "sierra-app1-ppp-ok"
4261+
4262+typedef struct {
4263+ MMPortProbe *probe;
4264+ MMPortSerialAt *port;
4265+ GCancellable *cancellable;
4266+ GSimpleAsyncResult *result;
4267+ guint retries;
4268+} SierraCustomInitContext;
4269+
4270+static void
4271+sierra_custom_init_context_complete_and_free (SierraCustomInitContext *ctx)
4272+{
4273+ g_simple_async_result_complete_in_idle (ctx->result);
4274+
4275+ if (ctx->cancellable)
4276+ g_object_unref (ctx->cancellable);
4277+ g_object_unref (ctx->port);
4278+ g_object_unref (ctx->probe);
4279+ g_object_unref (ctx->result);
4280+ g_slice_free (SierraCustomInitContext, ctx);
4281+}
4282+
4283+static gboolean
4284+sierra_custom_init_finish (MMPortProbe *probe,
4285+ GAsyncResult *result,
4286+ GError **error)
4287+{
4288+ return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
4289+}
4290+
4291+static void sierra_custom_init_step (SierraCustomInitContext *ctx);
4292+
4293+static void
4294+gcap_ready (MMPortSerialAt *port,
4295+ GAsyncResult *res,
4296+ SierraCustomInitContext *ctx)
4297+{
4298+ const gchar *response;
4299+ GError *error = NULL;
4300+
4301+ response = mm_port_serial_at_command_finish (port, res, &error);
4302+ if (error) {
4303+ /* If consumed all tries and the last error was a timeout, assume the
4304+ * port is not AT */
4305+ if (ctx->retries == 0 &&
4306+ g_error_matches (error, MM_SERIAL_ERROR, MM_SERIAL_ERROR_RESPONSE_TIMEOUT)) {
4307+ mm_port_probe_set_result_at (ctx->probe, FALSE);
4308+ }
4309+ /* If reported a hard parse error, this port is definitely not an AT
4310+ * port, skip trying. */
4311+ else if (g_error_matches (error, MM_SERIAL_ERROR, MM_SERIAL_ERROR_PARSE_FAILED)) {
4312+ mm_port_probe_set_result_at (ctx->probe, FALSE);
4313+ ctx->retries = 0;
4314+ }
4315+ /* Some Icera-based devices (eg, USB305) have an AT-style port that
4316+ * replies to everything with ERROR, so tag as unsupported; sometimes
4317+ * the real AT ports do this too, so let a retry tag the port as
4318+ * supported if it responds correctly later. */
4319+ else if (g_error_matches (error, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_UNKNOWN)) {
4320+ mm_port_probe_set_result_at (ctx->probe, FALSE);
4321+ }
4322+
4323+ /* Just retry... */
4324+ sierra_custom_init_step (ctx);
4325+ goto out;
4326+ }
4327+
4328+ /* A valid reply to ATI tells us this is an AT port already */
4329+ mm_port_probe_set_result_at (ctx->probe, TRUE);
4330+
4331+ /* Sierra APPx ports have limited AT command parsers that just reply with
4332+ * "OK" to most commands. These can sometimes be used for PPP while the
4333+ * main port is used for status and control, but older modems tend to crash
4334+ * or fail PPP. So we whitelist modems that are known to allow PPP on the
4335+ * secondary APP ports.
4336+ */
4337+ if (strstr (response, "APP1")) {
4338+ g_object_set_data (G_OBJECT (ctx->probe), TAG_SIERRA_APP_PORT, GUINT_TO_POINTER (TRUE));
4339+
4340+ /* PPP-on-APP1-port whitelist */
4341+ if (strstr (response, "C885") ||
4342+ strstr (response, "USB 306") ||
4343+ strstr (response, "MC8790"))
4344+ g_object_set_data (G_OBJECT (ctx->probe), TAG_SIERRA_APP1_PPP_OK, GUINT_TO_POINTER (TRUE));
4345+
4346+ /* For debugging: let users figure out if their device supports PPP
4347+ * on the APP1 port or not.
4348+ */
4349+ if (getenv ("MM_SIERRA_APP1_PPP_OK")) {
4350+ mm_dbg ("Sierra: APP1 PPP OK '%s'", response);
4351+ g_object_set_data (G_OBJECT (ctx->probe), TAG_SIERRA_APP1_PPP_OK, GUINT_TO_POINTER (TRUE));
4352+ }
4353+ } else if (strstr (response, "APP2") ||
4354+ strstr (response, "APP3") ||
4355+ strstr (response, "APP4")) {
4356+ /* Additional APP ports don't support most AT commands, so they cannot
4357+ * be used as the primary port.
4358+ */
4359+ g_object_set_data (G_OBJECT (ctx->probe), TAG_SIERRA_APP_PORT, GUINT_TO_POINTER (TRUE));
4360+ }
4361+
4362+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
4363+ sierra_custom_init_context_complete_and_free (ctx);
4364+
4365+out:
4366+ if (error)
4367+ g_error_free (error);
4368+}
4369+
4370+static void
4371+sierra_custom_init_step (SierraCustomInitContext *ctx)
4372+{
4373+ /* If cancelled, end */
4374+ if (g_cancellable_is_cancelled (ctx->cancellable)) {
4375+ mm_dbg ("(Sierra) no need to keep on running custom init in '%s'",
4376+ mm_port_get_device (MM_PORT (ctx->port)));
4377+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
4378+ sierra_custom_init_context_complete_and_free (ctx);
4379+ return;
4380+ }
4381+
4382+ if (ctx->retries == 0) {
4383+ mm_dbg ("(Sierra) Couldn't get port type hints from '%s'",
4384+ mm_port_get_device (MM_PORT (ctx->port)));
4385+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
4386+ sierra_custom_init_context_complete_and_free (ctx);
4387+ return;
4388+ }
4389+
4390+ ctx->retries--;
4391+ mm_port_serial_at_command (
4392+ ctx->port,
4393+ "ATI",
4394+ 3,
4395+ FALSE, /* raw */
4396+ FALSE, /* allow_cached */
4397+ ctx->cancellable,
4398+ (GAsyncReadyCallback)gcap_ready,
4399+ ctx);
4400+}
4401+
4402+static void
4403+sierra_custom_init (MMPortProbe *probe,
4404+ MMPortSerialAt *port,
4405+ GCancellable *cancellable,
4406+ GAsyncReadyCallback callback,
4407+ gpointer user_data)
4408+{
4409+ SierraCustomInitContext *ctx;
4410+
4411+ ctx = g_slice_new (SierraCustomInitContext);
4412+ ctx->result = g_simple_async_result_new (G_OBJECT (probe),
4413+ callback,
4414+ user_data,
4415+ sierra_custom_init);
4416+ ctx->probe = g_object_ref (probe);
4417+ ctx->port = g_object_ref (port);
4418+ ctx->cancellable = cancellable ? g_object_ref (cancellable) : NULL;
4419+ ctx->retries = 3;
4420+
4421+ sierra_custom_init_step (ctx);
4422+}
4423+
4424+/*****************************************************************************/
4425+
4426+static gboolean
4427+sierra_port_probe_list_is_icera (GList *probes)
4428+{
4429+ GList *l;
4430+
4431+ for (l = probes; l; l = g_list_next (l)) {
4432+ /* Only assume the Icera probing check is valid IF the port is not
4433+ * secondary. This will skip the stupid ports which reply OK to every
4434+ * AT command, even the one we use to check for Icera support */
4435+ if (mm_port_probe_is_icera (MM_PORT_PROBE (l->data)) &&
4436+ !g_object_get_data (G_OBJECT (l->data), TAG_SIERRA_APP_PORT))
4437+ return TRUE;
4438+ }
4439+
4440+ return FALSE;
4441+}
4442+
4443+static MMBaseModem *
4444+create_modem (MMPlugin *self,
4445+ const gchar *sysfs_path,
4446+ const gchar **drivers,
4447+ guint16 vendor,
4448+ guint16 product,
4449+ GList *probes,
4450+ GError **error)
4451+{
4452+#if defined WITH_QMI
4453+ if (mm_port_probe_list_has_qmi_port (probes)) {
4454+ mm_dbg ("QMI-powered Sierra modem found...");
4455+ return MM_BASE_MODEM (mm_broadband_modem_qmi_new (sysfs_path,
4456+ drivers,
4457+ mm_plugin_get_name (self),
4458+ vendor,
4459+ product));
4460+ }
4461+#endif
4462+
4463+#if defined WITH_MBIM
4464+ if (mm_port_probe_list_has_mbim_port (probes)) {
4465+ mm_dbg ("MBIM-powered Sierra modem found...");
4466+ return MM_BASE_MODEM (mm_broadband_modem_mbim_new (sysfs_path,
4467+ drivers,
4468+ mm_plugin_get_name (self),
4469+ vendor,
4470+ product));
4471+ }
4472+#endif
4473+
4474+ if (sierra_port_probe_list_is_icera (probes))
4475+ return MM_BASE_MODEM (mm_broadband_modem_sierra_icera_new (sysfs_path,
4476+ drivers,
4477+ mm_plugin_get_name (self),
4478+ vendor,
4479+ product));
4480+
4481+ return MM_BASE_MODEM (mm_broadband_modem_sierra_new (sysfs_path,
4482+ drivers,
4483+ mm_plugin_get_name (self),
4484+ vendor,
4485+ product));
4486+}
4487+
4488+static gboolean
4489+grab_port (MMPlugin *self,
4490+ MMBaseModem *modem,
4491+ MMPortProbe *probe,
4492+ GError **error)
4493+{
4494+ MMPortSerialAtFlag pflags = MM_PORT_SERIAL_AT_FLAG_NONE;
4495+ MMPortType ptype;
4496+
4497+ ptype = mm_port_probe_get_port_type (probe);
4498+
4499+ /* Is it a GSM secondary port? */
4500+ if (g_object_get_data (G_OBJECT (probe), TAG_SIERRA_APP_PORT)) {
4501+ if (g_object_get_data (G_OBJECT (probe), TAG_SIERRA_APP1_PPP_OK))
4502+ pflags = MM_PORT_SERIAL_AT_FLAG_PPP;
4503+ else
4504+ pflags = MM_PORT_SERIAL_AT_FLAG_SECONDARY;
4505+ } else if (ptype == MM_PORT_TYPE_AT)
4506+ pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
4507+
4508+ return mm_base_modem_grab_port (modem,
4509+ mm_port_probe_get_port_subsys (probe),
4510+ mm_port_probe_get_port_name (probe),
4511+ mm_port_probe_get_parent_path (probe),
4512+ ptype,
4513+ pflags,
4514+ error);
4515+}
4516+
4517+/*****************************************************************************/
4518+
4519+G_MODULE_EXPORT MMPlugin *
4520+mm_plugin_create (void)
4521+{
4522+ static const gchar *subsystems[] = { "tty", "net", "usb", NULL };
4523+ static const gchar *drivers[] = { "sierra", "sierra_net", NULL };
4524+ static const MMAsyncMethod custom_init = {
4525+ .async = G_CALLBACK (sierra_custom_init),
4526+ .finish = G_CALLBACK (sierra_custom_init_finish),
4527+ };
4528+
4529+ return MM_PLUGIN (
4530+ g_object_new (MM_TYPE_PLUGIN_SIERRA,
4531+ MM_PLUGIN_NAME, "Sierra",
4532+ MM_PLUGIN_ALLOWED_SUBSYSTEMS, subsystems,
4533+ MM_PLUGIN_ALLOWED_DRIVERS, drivers,
4534+ MM_PLUGIN_ALLOWED_AT, TRUE,
4535+ MM_PLUGIN_ALLOWED_QCDM, TRUE,
4536+ MM_PLUGIN_ALLOWED_QMI, TRUE,
4537+ MM_PLUGIN_ALLOWED_MBIM, TRUE,
4538+ MM_PLUGIN_CUSTOM_INIT, &custom_init,
4539+ MM_PLUGIN_ICERA_PROBE, TRUE,
4540+ MM_PLUGIN_REMOVE_ECHO, FALSE,
4541+ NULL));
4542+}
4543+
4544+static void
4545+mm_plugin_sierra_init (MMPluginSierra *self)
4546+{
4547+}
4548+
4549+static void
4550+mm_plugin_sierra_class_init (MMPluginSierraClass *klass)
4551+{
4552+ MMPluginClass *plugin_class = MM_PLUGIN_CLASS (klass);
4553+
4554+ plugin_class->create_modem = create_modem;
4555+ plugin_class->grab_port = grab_port;
4556+}
4557
4558=== modified file 'debian/changelog'
4559--- debian/changelog 2014-09-17 08:46:25 +0000
4560+++ debian/changelog 2015-10-09 10:06:57 +0000
4561@@ -1,3 +1,10 @@
4562+modemmanager (1.4.0-2) vivid-proposed; urgency=medium
4563+
4564+ * New hardware enablement: Support the new MBIM devices from Dell.
4565+ (LP: #1441095)
4566+
4567+ -- Bin Li <bin.li@canonical.com> Fri, 09 Oct 2015 15:46:46 +0800
4568+
4569 modemmanager (1.4.0-1) unstable; urgency=medium
4570
4571 * New upstream release.
4572
4573=== added file 'debian/patches/dell-mbim-plugin.patch'
4574--- debian/patches/dell-mbim-plugin.patch 1970-01-01 00:00:00 +0000
4575+++ debian/patches/dell-mbim-plugin.patch 2015-10-09 10:06:57 +0000
4576@@ -0,0 +1,576 @@
4577+commit 93d6e4f102da51e72ecd2fbfcfa096cd2fd2e02e
4578+Author: Aleksander Morgado <aleksander@aleksander.es>
4579+Date: Fri Feb 6 16:35:52 2015 +0100
4580+
4581+ dell: new Dell plugin
4582+
4583+ For Dell-branded Novatel, Sierra and Ericsson modems.
4584+
4585+ The Novatel plugin will no longer accept every Dell-branded modem, which was
4586+ the current situation. Instead, a new Dell plugin will take care of probing for
4587+ the correct vendor string, and based on the results create a specific Novatel,
4588+ Sierra or Ericsson modem.
4589+
4590+ In order to properly support this, the Novatel, Sierra and MBM plugins now
4591+ export their implementations into non-inst libraries that the Dell plugin will
4592+ import.
4593+
4594+ Also, for now, the Dell plugin doesn't make any difference between e.g. Sierra
4595+ or Ericsson MBIM implementations, just a generic MBIM modem is created in both
4596+ cases, as that is anyway what the Ericsson MBM and Sierra plugins do already.
4597+
4598+ https://bugs.freedesktop.org/show_bug.cgi?id=86713
4599+
4600+---
4601+ plugins/Makefile.am | 9
4602+ plugins/dell/mm-plugin-dell.c | 448 ++++++++++++++++++++++++++++++++++++
4603+ plugins/dell/mm-plugin-dell.h | 46 +++
4604+ plugins/novatel/mm-plugin-novatel.c | 4
4605+ 4 files changed, 504 insertions(+), 3 deletions(-)
4606+
4607+Index: modemmanager/plugins/Makefile.am
4608+===================================================================
4609+--- modemmanager.orig/plugins/Makefile.am
4610++++ modemmanager/plugins/Makefile.am
4611+@@ -125,6 +125,7 @@ pkglib_LTLIBRARIES = \
4612+ libmm-plugin-motorola.la \
4613+ libmm-plugin-novatel.la \
4614+ libmm-plugin-novatel-lte.la \
4615++ libmm-plugin-dell.la \
4616+ libmm-plugin-altair-lte.la \
4617+ libmm-plugin-samsung.la \
4618+ libmm-plugin-option.la \
4619+@@ -497,6 +498,14 @@ libmm_plugin_novatel_la_CPPFLAGS = $(PLU
4620+ libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
4621+ libmm_plugin_novatel_la_LIBADD = $(NOVATEL_COMMON_LIBADD_FLAGS)
4622+
4623++# Dell (e.g. Novatel or Sierra) modem
4624++libmm_plugin_dell_la_SOURCES = \
4625++ dell/mm-plugin-dell.c \
4626++ dell/mm-plugin-dell.h
4627++libmm_plugin_dell_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(NOVATEL_COMMON_COMPILER_FLAGS) $(SIERRA_COMMON_COMPILER_FLAGS) $(MBM_COMMON_COMPILER_FLAGS)
4628++libmm_plugin_dell_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
4629++libmm_plugin_dell_la_LIBADD = $(NOVATEL_COMMON_LIBADD_FLAGS) $(SIERRA_COMMON_LIBADD_FLAGS) $(MBM_COMMON_LIBADD_FLAGS)
4630++
4631+ # Altair LTE modem
4632+ libmm_plugin_altair_lte_la_SOURCES = \
4633+ altair/mm-modem-helpers-altair-lte.c \
4634+Index: modemmanager/plugins/dell/mm-plugin-dell.c
4635+===================================================================
4636+--- /dev/null
4637++++ modemmanager/plugins/dell/mm-plugin-dell.c
4638+@@ -0,0 +1,448 @@
4639++/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
4640++
4641++/*
4642++ * This program is free software; you can redistribute it and/or
4643++ * modify it under the terms of the GNU General Public License as
4644++ * published by the Free Software Foundation; either version 2 of the
4645++ * License, or (at your option) any later version.
4646++ *
4647++ * This program is distributed in the hope that it will be useful,
4648++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
4649++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
4650++ * General Public License for more details.
4651++ *
4652++ * You should have received a copy of the GNU General Public
4653++ * License along with this program; if not, write to the
4654++ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
4655++ * Boston, MA 02111-1307, USA.
4656++ *
4657++ * Copyright (C) 2015 Aleksander Morgado <aleksander@aleksander.es>
4658++ */
4659++
4660++#include <string.h>
4661++#include <gmodule.h>
4662++
4663++#define _LIBMM_INSIDE_MM
4664++#include <libmm-glib.h>
4665++
4666++#include "mm-plugin-dell.h"
4667++#include "mm-common-novatel.h"
4668++#include "mm-private-boxed-types.h"
4669++#include "mm-broadband-modem.h"
4670++#include "mm-broadband-modem-novatel.h"
4671++#include "mm-common-novatel.h"
4672++#include "mm-broadband-modem-sierra.h"
4673++#include "mm-common-sierra.h"
4674++#include "mm-log.h"
4675++
4676++#if defined WITH_QMI
4677++#include "mm-broadband-modem-qmi.h"
4678++#endif
4679++
4680++#if defined WITH_MBIM
4681++#include "mm-broadband-modem-mbim.h"
4682++#endif
4683++
4684++G_DEFINE_TYPE (MMPluginDell, mm_plugin_dell, MM_TYPE_PLUGIN)
4685++
4686++int mm_plugin_major_version = MM_PLUGIN_MAJOR_VERSION;
4687++int mm_plugin_minor_version = MM_PLUGIN_MINOR_VERSION;
4688++
4689++#define TAG_DELL_MANUFACTURER "dell-manufacturer"
4690++typedef enum {
4691++ DELL_MANUFACTURER_UNKNOWN = 0,
4692++ DELL_MANUFACTURER_NOVATEL = 1,
4693++ DELL_MANUFACTURER_SIERRA = 2,
4694++ DELL_MANUFACTURER_ERICSSON = 3
4695++} DellManufacturer;
4696++
4697++/*****************************************************************************/
4698++/* Custom init */
4699++
4700++typedef struct {
4701++ MMPortProbe *probe;
4702++ MMPortSerialAt *port;
4703++ GCancellable *cancellable;
4704++ GSimpleAsyncResult *result;
4705++ guint gmi_retries;
4706++ guint cgmi_retries;
4707++ guint ati_retries;
4708++} CustomInitContext;
4709++
4710++static void
4711++custom_init_context_complete_and_free (CustomInitContext *ctx)
4712++{
4713++ g_simple_async_result_complete_in_idle (ctx->result);
4714++
4715++ if (ctx->cancellable)
4716++ g_object_unref (ctx->cancellable);
4717++ g_object_unref (ctx->port);
4718++ g_object_unref (ctx->probe);
4719++ g_object_unref (ctx->result);
4720++ g_slice_free (CustomInitContext, ctx);
4721++}
4722++
4723++static gboolean
4724++dell_custom_init_finish (MMPortProbe *probe,
4725++ GAsyncResult *result,
4726++ GError **error)
4727++{
4728++ return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
4729++}
4730++
4731++static void
4732++novatel_custom_init_ready (MMPortProbe *probe,
4733++ GAsyncResult *res,
4734++ CustomInitContext *ctx)
4735++{
4736++ GError *error = NULL;
4737++
4738++ if (!mm_common_novatel_custom_init_finish (probe, res, &error))
4739++ g_simple_async_result_take_error (ctx->result, error);
4740++ else
4741++ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
4742++ custom_init_context_complete_and_free (ctx);
4743++}
4744++
4745++static void
4746++sierra_custom_init_ready (MMPortProbe *probe,
4747++ GAsyncResult *res,
4748++ CustomInitContext *ctx)
4749++{
4750++ GError *error = NULL;
4751++
4752++ if (!mm_common_sierra_custom_init_finish (probe, res, &error))
4753++ g_simple_async_result_take_error (ctx->result, error);
4754++ else
4755++ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
4756++ custom_init_context_complete_and_free (ctx);
4757++}
4758++
4759++static void custom_init_step (CustomInitContext *ctx);
4760++
4761++static void
4762++custom_init_step_next_command (CustomInitContext *ctx)
4763++{
4764++ if (ctx->gmi_retries > 0)
4765++ ctx->gmi_retries = 0;
4766++ else if (ctx->cgmi_retries > 0)
4767++ ctx->cgmi_retries = 0;
4768++ else if (ctx->ati_retries > 0)
4769++ ctx->ati_retries = 0;
4770++ custom_init_step (ctx);
4771++}
4772++
4773++static void
4774++response_ready (MMPortSerialAt *port,
4775++ GAsyncResult *res,
4776++ CustomInitContext *ctx)
4777++{
4778++ const gchar *response;
4779++ GError *error = NULL;
4780++ gchar *lower;
4781++ DellManufacturer manufacturer;
4782++
4783++ response = mm_port_serial_at_command_finish (port, res, &error);
4784++ if (error) {
4785++ /* Non-timeout error, jump to next command */
4786++ if (!g_error_matches (error, MM_SERIAL_ERROR, MM_SERIAL_ERROR_RESPONSE_TIMEOUT)) {
4787++ mm_dbg ("(Dell) Error probing AT port: %s", error->message);
4788++ g_error_free (error);
4789++ custom_init_step_next_command (ctx);
4790++ return;
4791++ }
4792++ /* Directly retry same command on timeout */
4793++ custom_init_step (ctx);
4794++ g_error_free (error);
4795++ return;
4796++ }
4797++
4798++ /* Guess manufacturer from response */
4799++ lower = g_ascii_strdown (response, -1);
4800++ if (strstr (lower, "novatel"))
4801++ manufacturer = DELL_MANUFACTURER_NOVATEL;
4802++ else if (strstr (lower, "sierra"))
4803++ manufacturer = DELL_MANUFACTURER_SIERRA;
4804++ else if (strstr (lower, "ericsson"))
4805++ manufacturer = DELL_MANUFACTURER_ERICSSON;
4806++ else
4807++ manufacturer = DELL_MANUFACTURER_UNKNOWN;
4808++ g_free (lower);
4809++
4810++ /* Tag based on manufacturer */
4811++ if (manufacturer != DELL_MANUFACTURER_UNKNOWN) {
4812++ g_object_set_data (G_OBJECT (ctx->probe), TAG_DELL_MANUFACTURER, GUINT_TO_POINTER (manufacturer));
4813++
4814++ /* Run additional custom init, if needed */
4815++
4816++ if (manufacturer == DELL_MANUFACTURER_NOVATEL) {
4817++ mm_common_novatel_custom_init (ctx->probe,
4818++ ctx->port,
4819++ ctx->cancellable,
4820++ (GAsyncReadyCallback) novatel_custom_init_ready,
4821++ ctx);
4822++ return;
4823++ }
4824++
4825++ if (manufacturer == DELL_MANUFACTURER_SIERRA) {
4826++ mm_common_sierra_custom_init (ctx->probe,
4827++ ctx->port,
4828++ ctx->cancellable,
4829++ (GAsyncReadyCallback) sierra_custom_init_ready,
4830++ ctx);
4831++ return;
4832++ }
4833++
4834++ /* Finish custom_init */
4835++ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
4836++ custom_init_context_complete_and_free (ctx);
4837++ return;
4838++ }
4839++
4840++ /* If we got a response, but we didn't get an expected string, try with next command */
4841++ custom_init_step_next_command (ctx);
4842++}
4843++
4844++static void
4845++custom_init_step (CustomInitContext *ctx)
4846++{
4847++ /* If cancelled, end */
4848++ if (g_cancellable_is_cancelled (ctx->cancellable)) {
4849++ mm_dbg ("(Dell) no need to keep on running custom init in (%s)",
4850++ mm_port_get_device (MM_PORT (ctx->port)));
4851++ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
4852++ custom_init_context_complete_and_free (ctx);
4853++ return;
4854++ }
4855++
4856++#if defined WITH_QMI
4857++ /* If device has a QMI port, don't run anything else, as we don't care */
4858++ if (mm_port_probe_list_has_qmi_port (mm_device_peek_port_probe_list (mm_port_probe_peek_device (ctx->probe)))) {
4859++ mm_dbg ("(Dell) no need to run custom init in (%s): device has QMI port",
4860++ mm_port_get_device (MM_PORT (ctx->port)));
4861++ mm_port_probe_set_result_at (ctx->probe, FALSE);
4862++ mm_port_probe_set_result_qcdm (ctx->probe, FALSE);
4863++ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
4864++ custom_init_context_complete_and_free (ctx);
4865++ return;
4866++ }
4867++#endif
4868++
4869++#if defined WITH_MBIM
4870++ /* If device has a MBIM port, don't run anything else, as we don't care */
4871++ if (mm_port_probe_list_has_mbim_port (mm_device_peek_port_probe_list (mm_port_probe_peek_device (ctx->probe)))) {
4872++ mm_dbg ("(Dell) no need to run custom init in (%s): device has MBIM port",
4873++ mm_port_get_device (MM_PORT (ctx->port)));
4874++ mm_port_probe_set_result_at (ctx->probe, FALSE);
4875++ mm_port_probe_set_result_qcdm (ctx->probe, FALSE);
4876++ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
4877++ custom_init_context_complete_and_free (ctx);
4878++ return;
4879++ }
4880++#endif
4881++
4882++ if (ctx->gmi_retries > 0) {
4883++ ctx->gmi_retries--;
4884++ mm_port_serial_at_command (ctx->port,
4885++ "AT+GMI",
4886++ 3,
4887++ FALSE, /* raw */
4888++ FALSE, /* allow_cached */
4889++ ctx->cancellable,
4890++ (GAsyncReadyCallback)response_ready,
4891++ ctx);
4892++ return;
4893++ }
4894++
4895++ if (ctx->cgmi_retries > 0) {
4896++ ctx->cgmi_retries--;
4897++ mm_port_serial_at_command (ctx->port,
4898++ "AT+CGMI",
4899++ 3,
4900++ FALSE, /* raw */
4901++ FALSE, /* allow_cached */
4902++ ctx->cancellable,
4903++ (GAsyncReadyCallback)response_ready,
4904++ ctx);
4905++ return;
4906++ }
4907++
4908++ if (ctx->ati_retries > 0) {
4909++ ctx->ati_retries--;
4910++ /* Note: in Ericsson devices, ATI3 seems to reply the vendor string */
4911++ mm_port_serial_at_command (ctx->port,
4912++ "ATI1I2I3",
4913++ 3,
4914++ FALSE, /* raw */
4915++ FALSE, /* allow_cached */
4916++ ctx->cancellable,
4917++ (GAsyncReadyCallback)response_ready,
4918++ ctx);
4919++ return;
4920++ }
4921++
4922++ /* Finish custom_init */
4923++ mm_dbg ("(Dell) couldn't flip secondary port to AT in (%s): all retries consumed",
4924++ mm_port_get_device (MM_PORT (ctx->port)));
4925++ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
4926++ custom_init_context_complete_and_free (ctx);
4927++}
4928++
4929++static void
4930++dell_custom_init (MMPortProbe *probe,
4931++ MMPortSerialAt *port,
4932++ GCancellable *cancellable,
4933++ GAsyncReadyCallback callback,
4934++ gpointer user_data)
4935++{
4936++ CustomInitContext *ctx;
4937++
4938++ ctx = g_slice_new (CustomInitContext);
4939++ ctx->result = g_simple_async_result_new (G_OBJECT (probe),
4940++ callback,
4941++ user_data,
4942++ dell_custom_init);
4943++ ctx->probe = g_object_ref (probe);
4944++ ctx->port = g_object_ref (port);
4945++ ctx->cancellable = cancellable ? g_object_ref (cancellable) : NULL;
4946++ ctx->gmi_retries = 3;
4947++ ctx->ati_retries = 3;
4948++
4949++ custom_init_step (ctx);
4950++}
4951++
4952++/*****************************************************************************/
4953++
4954++static gboolean
4955++port_probe_list_has_manufacturer_port (GList *probes,
4956++ DellManufacturer manufacturer)
4957++{
4958++ GList *l;
4959++
4960++ for (l = probes; l; l = g_list_next (l)) {
4961++ if (GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (l->data), TAG_DELL_MANUFACTURER)) == manufacturer)
4962++ return TRUE;
4963++ }
4964++ return FALSE;
4965++}
4966++
4967++static MMBaseModem *
4968++create_modem (MMPlugin *self,
4969++ const gchar *sysfs_path,
4970++ const gchar **drivers,
4971++ guint16 vendor,
4972++ guint16 product,
4973++ GList *probes,
4974++ GError **error)
4975++{
4976++ /* Note: at this point we don't make any difference between different
4977++ * Dell-branded QMI or MBIM modems; they may come from Novatel, Ericsson or
4978++ * Sierra. */
4979++
4980++#if defined WITH_QMI
4981++ if (mm_port_probe_list_has_qmi_port (probes)) {
4982++ mm_dbg ("QMI-powered Dell-branded modem found...");
4983++ return MM_BASE_MODEM (mm_broadband_modem_qmi_new (sysfs_path,
4984++ drivers,
4985++ mm_plugin_get_name (self),
4986++ vendor,
4987++ product));
4988++ }
4989++#endif
4990++
4991++#if defined WITH_MBIM
4992++ if (mm_port_probe_list_has_mbim_port (probes)) {
4993++ mm_dbg ("MBIM-powered Dell-branded modem found...");
4994++ return MM_BASE_MODEM (mm_broadband_modem_mbim_new (sysfs_path,
4995++ drivers,
4996++ mm_plugin_get_name (self),
4997++ vendor,
4998++ product));
4999++ }
5000++#endif
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: