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

Proposed by Bin Li
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 Pending
Shih-Yuan Lee Pending
Sebastien Bacher 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

  * 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
=== modified file '.pc/applied-patches'
--- .pc/applied-patches 2014-09-17 08:46:25 +0000
+++ .pc/applied-patches 2015-10-09 10:06:57 +0000
@@ -2,3 +2,10 @@
2arduino-blacklist.patch2arduino-blacklist.patch
3linux-default-usb-id.patch3linux-default-usb-id.patch
4lp1229748_bluegiga_blacklist.patch4lp1229748_bluegiga_blacklist.patch
5novatel-custom-init.patch
6novatel-common-library.patch
7sierra-common-library.patch
8mbm-common-library.patch
9sierra-custom-init.patch
10new-sierra-legacy-plugin.patch
11dell-mbim-plugin.patch
512
=== added directory '.pc/dell-mbim-plugin.patch'
=== added directory '.pc/dell-mbim-plugin.patch/plugins'
=== added file '.pc/dell-mbim-plugin.patch/plugins/Makefile.am'
--- .pc/dell-mbim-plugin.patch/plugins/Makefile.am 1970-01-01 00:00:00 +0000
+++ .pc/dell-mbim-plugin.patch/plugins/Makefile.am 2015-10-09 10:06:57 +0000
@@ -0,0 +1,561 @@
1
2include $(top_srcdir)/gtester.make
3
4# Common CPPFLAGS and LDFLAGS
5
6PLUGIN_COMMON_COMPILER_FLAGS = \
7 $(MM_CFLAGS) \
8 $(GUDEV_CFLAGS) \
9 -I$(top_srcdir) \
10 -I$(top_srcdir)/src \
11 -I$(top_builddir)/src \
12 -I$(top_srcdir)/include \
13 -I$(top_builddir)/include \
14 -I$(top_srcdir)/libmm-glib \
15 -I$(top_srcdir)/libmm-glib/generated \
16 -I$(top_builddir)/libmm-glib/generated
17
18PLUGIN_COMMON_LINKER_FLAGS = \
19 $(GUDEV_LIBS) \
20 $(MM_LIBS) \
21 -module \
22 -avoid-version
23
24if WITH_QMI
25PLUGIN_COMMON_COMPILER_FLAGS += $(QMI_CFLAGS)
26PLUGIN_COMMON_LINKER_FLAGS += $(QMI_LIBS)
27endif
28
29if WITH_MBIM
30PLUGIN_COMMON_COMPILER_FLAGS += $(MBIM_CFLAGS)
31PLUGIN_COMMON_LINKER_FLAGS += $(MBIM_LIBS)
32endif
33
34# UDev rules
35udevrulesdir = $(UDEV_BASE_DIR)/rules.d
36udevrules_DATA =
37
38# Unit tests
39noinst_PROGRAMS =
40
41# Helper libs
42noinst_LTLIBRARIES =
43
44########################################
45
46# Common service test support
47
48noinst_LTLIBRARIES += libmm-test-common.la
49
50libmm_test_common_la_SOURCES = \
51 tests/test-fixture.h \
52 tests/test-fixture.c \
53 tests/test-port-context.h \
54 tests/test-port-context.c
55
56libmm_test_common_la_CPPFLAGS = \
57 $(MM_CFLAGS) \
58 -I$(top_srcdir)/include \
59 -I$(top_builddir)/include \
60 -I$(top_srcdir)/libmm-glib \
61 -I$(top_srcdir)/libmm-glib/generated \
62 -I$(top_builddir)/libmm-glib/generated \
63 -I$(top_builddir)/libmm-glib/generated/tests \
64 -DTEST_SERVICES=\""$(abs_top_builddir)/data/tests"\"
65
66libmm_test_common_la_LIBADD = \
67 ${top_builddir}/libmm-glib/generated/tests/libmm-test-generated.la \
68 $(top_builddir)/libmm-glib/libmm-glib.la
69
70TEST_COMMON_COMPILER_FLAGS = \
71 $(MM_CFLAGS) \
72 -I$(top_srcdir)/plugins/tests \
73 -I$(top_srcdir)/include \
74 -I$(top_builddir)/include \
75 -I$(top_srcdir)/libmm-glib \
76 -I$(top_srcdir)/libmm-glib/generated \
77 -I$(top_builddir)/libmm-glib/generated \
78 -I$(top_builddir)/libmm-glib/generated/tests \
79 -DCOMMON_GSM_PORT_CONF=\""$(abs_top_srcdir)/plugins/tests/gsm-port.conf"\"
80
81TEST_COMMON_LIBADD_FLAGS = \
82 $(builddir)/libmm-test-common.la \
83 $(top_builddir)/libmm-glib/libmm-glib.la
84
85
86########################################
87
88# Icera-specific support
89noinst_LTLIBRARIES += libmm-utils-icera.la
90libmm_utils_icera_la_SOURCES = \
91 icera/mm-broadband-modem-icera.h \
92 icera/mm-broadband-modem-icera.c \
93 icera/mm-broadband-bearer-icera.h \
94 icera/mm-broadband-bearer-icera.c \
95 icera/mm-modem-helpers-icera.c \
96 icera/mm-modem-helpers-icera.h
97libmm_utils_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
98libmm_utils_icera_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
99
100ICERA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/icera
101ICERA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-icera.la
102
103noinst_PROGRAMS += test-modem-helpers-icera
104test_modem_helpers_icera_SOURCES = \
105 icera/mm-modem-helpers-icera.c \
106 icera/mm-modem-helpers-icera.h \
107 icera/tests/test-modem-helpers-icera.c
108test_modem_helpers_icera_CPPFLAGS = \
109 -I$(top_srcdir)/plugins/icera \
110 $(PLUGIN_COMMON_COMPILER_FLAGS)
111test_modem_helpers_icera_LDADD = \
112 $(top_builddir)/libmm-glib/libmm-glib.la \
113 $(top_builddir)/src/libmodem-helpers.la
114test_modem_helpers_icera_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
115
116########################################
117
118pkglib_LTLIBRARIES = \
119 libmm-plugin-generic.la \
120 libmm-plugin-nokia.la \
121 libmm-plugin-nokia-icera.la \
122 libmm-plugin-cinterion.la \
123 libmm-plugin-iridium.la \
124 libmm-plugin-gobi.la \
125 libmm-plugin-motorola.la \
126 libmm-plugin-novatel.la \
127 libmm-plugin-novatel-lte.la \
128 libmm-plugin-altair-lte.la \
129 libmm-plugin-samsung.la \
130 libmm-plugin-option.la \
131 libmm-plugin-hso.la \
132 libmm-plugin-anydata.la \
133 libmm-plugin-linktop.la \
134 libmm-plugin-simtech.la \
135 libmm-plugin-wavecom.la \
136 libmm-plugin-huawei.la \
137 libmm-plugin-longcheer.la \
138 libmm-plugin-x22x.la \
139 libmm-plugin-pantech.la \
140 libmm-plugin-zte.la \
141 libmm-plugin-sierra.la \
142 libmm-plugin-sierra-legacy.la \
143 libmm-plugin-mbm.la \
144 libmm-plugin-via.la \
145 libmm-plugin-telit.la \
146 libmm-plugin-mtk.la
147
148# Generic
149libmm_plugin_generic_la_SOURCES = \
150 generic/mm-plugin-generic.c \
151 generic/mm-plugin-generic.h
152libmm_plugin_generic_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
153libmm_plugin_generic_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
154
155noinst_PROGRAMS += test-service-generic
156test_service_generic_SOURCES = generic/tests/test-service-generic.c
157test_service_generic_CPPFLAGS = $(TEST_COMMON_COMPILER_FLAGS)
158test_service_generic_LDADD = $(TEST_COMMON_LIBADD_FLAGS)
159test_service_generic_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
160
161## Motorola
162libmm_plugin_motorola_la_SOURCES = \
163 motorola/mm-plugin-motorola.c \
164 motorola/mm-plugin-motorola.h \
165 motorola/mm-broadband-modem-motorola.c \
166 motorola/mm-broadband-modem-motorola.h
167libmm_plugin_motorola_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
168libmm_plugin_motorola_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
169
170# Gobi
171libmm_plugin_gobi_la_SOURCES = \
172 gobi/mm-plugin-gobi.c \
173 gobi/mm-plugin-gobi.h \
174 gobi/mm-broadband-modem-gobi.c \
175 gobi/mm-broadband-modem-gobi.h
176libmm_plugin_gobi_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
177libmm_plugin_gobi_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
178
179# Huawei
180libmm_plugin_huawei_la_SOURCES = \
181 huawei/mm-plugin-huawei.c \
182 huawei/mm-plugin-huawei.h \
183 huawei/mm-modem-helpers-huawei.c \
184 huawei/mm-modem-helpers-huawei.h \
185 huawei/mm-sim-huawei.c \
186 huawei/mm-sim-huawei.h \
187 huawei/mm-broadband-modem-huawei.c \
188 huawei/mm-broadband-modem-huawei.h \
189 huawei/mm-broadband-bearer-huawei.c \
190 huawei/mm-broadband-bearer-huawei.h
191libmm_plugin_huawei_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
192libmm_plugin_huawei_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
193
194udevrules_DATA += huawei/77-mm-huawei-net-port-types.rules
195
196noinst_PROGRAMS += test-modem-helpers-huawei
197test_modem_helpers_huawei_SOURCES = \
198 huawei/mm-modem-helpers-huawei.c \
199 huawei/mm-modem-helpers-huawei.h \
200 huawei/tests/test-modem-helpers-huawei.c
201test_modem_helpers_huawei_CPPFLAGS = \
202 -I$(top_srcdir)/plugins/huawei \
203 $(PLUGIN_COMMON_COMPILER_FLAGS)
204test_modem_helpers_huawei_LDADD = \
205 $(top_builddir)/libmm-glib/libmm-glib.la \
206 $(top_builddir)/src/libmodem-helpers.la
207test_modem_helpers_huawei_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
208
209# Common Mbm modem support library
210noinst_LTLIBRARIES += libmm-utils-mbm.la
211libmm_utils_mbm_la_SOURCES = \
212 mbm/mm-broadband-modem-mbm.c \
213 mbm/mm-broadband-modem-mbm.h \
214 mbm/mm-broadband-bearer-mbm.c \
215 mbm/mm-broadband-bearer-mbm.h \
216 mbm/mm-modem-helpers-mbm.c \
217 mbm/mm-modem-helpers-mbm.h \
218 mbm/mm-sim-mbm.c \
219 mbm/mm-sim-mbm.h
220libmm_utils_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
221libmm_utils_mbm_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
222
223MBM_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/mbm
224MBM_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-mbm.la
225
226# MBM
227libmm_plugin_mbm_la_SOURCES = \
228 mbm/mm-plugin-mbm.c \
229 mbm/mm-plugin-mbm.h
230libmm_plugin_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(MBM_COMMON_COMPILER_FLAGS)
231libmm_plugin_mbm_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
232libmm_plugin_mbm_la_LIBADD = $(MBM_COMMON_LIBADD_FLAGS)
233
234udevrules_DATA += mbm/77-mm-ericsson-mbm.rules
235
236noinst_PROGRAMS += test-modem-helpers-mbm
237test_modem_helpers_mbm_SOURCES = \
238 mbm/mm-modem-helpers-mbm.c \
239 mbm/mm-modem-helpers-mbm.h \
240 mbm/tests/test-modem-helpers-mbm.c
241test_modem_helpers_mbm_CPPFLAGS = \
242 -I$(top_srcdir)/plugins/mbm \
243 $(PLUGIN_COMMON_COMPILER_FLAGS)
244test_modem_helpers_mbm_LDADD = \
245 $(top_builddir)/libmm-glib/libmm-glib.la \
246 $(top_builddir)/src/libmodem-helpers.la
247test_modem_helpers_mbm_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
248
249# Option
250libmm_plugin_option_la_SOURCES = \
251 option/mm-plugin-option.c \
252 option/mm-plugin-option.h \
253 option/mm-broadband-modem-option.c \
254 option/mm-broadband-modem-option.h
255libmm_plugin_option_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
256libmm_plugin_option_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
257
258# HSO
259libmm_plugin_hso_la_SOURCES = \
260 option/mm-plugin-hso.c \
261 option/mm-plugin-hso.h \
262 option/mm-broadband-modem-option.c \
263 option/mm-broadband-modem-option.h \
264 option/mm-broadband-bearer-hso.c \
265 option/mm-broadband-bearer-hso.h \
266 option/mm-broadband-modem-hso.c \
267 option/mm-broadband-modem-hso.h
268libmm_plugin_hso_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
269libmm_plugin_hso_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
270
271# Common Sierra modem support library
272noinst_LTLIBRARIES += libmm-utils-sierra.la
273libmm_utils_sierra_la_SOURCES = \
274 sierra/mm-common-sierra.c \
275 sierra/mm-common-sierra.h \
276 sierra/mm-sim-sierra.c \
277 sierra/mm-sim-sierra.h \
278 sierra/mm-broadband-bearer-sierra.c \
279 sierra/mm-broadband-bearer-sierra.h \
280 sierra/mm-broadband-modem-sierra.c \
281 sierra/mm-broadband-modem-sierra.h
282libmm_utils_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
283libmm_utils_sierra_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
284
285SIERRA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/sierra
286SIERRA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-sierra.la
287
288# Sierra (new QMI or MBIM modems)
289libmm_plugin_sierra_la_SOURCES = \
290 sierra/mm-plugin-sierra.c \
291 sierra/mm-plugin-sierra.h
292libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
293libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
294
295# Sierra (legacy)
296libmm_plugin_sierra_legacy_la_SOURCES = \
297 sierra/mm-plugin-sierra-legacy.c \
298 sierra/mm-plugin-sierra-legacy.h \
299 sierra/mm-broadband-modem-sierra-icera.c \
300 sierra/mm-broadband-modem-sierra-icera.h
301libmm_plugin_sierra_legacy_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS) $(SIERRA_COMMON_COMPILER_FLAGS)
302libmm_plugin_sierra_legacy_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
303libmm_plugin_sierra_legacy_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS) $(SIERRA_COMMON_LIBADD_FLAGS)
304
305# Wavecom (Sierra Airlink)
306libmm_plugin_wavecom_la_SOURCES = \
307 wavecom/mm-plugin-wavecom.c \
308 wavecom/mm-plugin-wavecom.h \
309 wavecom/mm-broadband-modem-wavecom.c \
310 wavecom/mm-broadband-modem-wavecom.h
311libmm_plugin_wavecom_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
312libmm_plugin_wavecom_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
313
314# Nokia
315libmm_plugin_nokia_la_SOURCES = \
316 nokia/mm-plugin-nokia.c \
317 nokia/mm-plugin-nokia.h \
318 nokia/mm-sim-nokia.c \
319 nokia/mm-sim-nokia.h \
320 nokia/mm-broadband-modem-nokia.c \
321 nokia/mm-broadband-modem-nokia.h
322libmm_plugin_nokia_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
323libmm_plugin_nokia_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
324
325# Nokia (Icera)
326libmm_plugin_nokia_icera_la_SOURCES = \
327 nokia/mm-plugin-nokia-icera.c \
328 nokia/mm-plugin-nokia-icera.h
329libmm_plugin_nokia_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
330libmm_plugin_nokia_icera_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
331libmm_plugin_nokia_icera_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
332udevrules_DATA += nokia/77-mm-nokia-port-types.rules
333
334# Zte
335libmm_plugin_zte_la_SOURCES = \
336 zte/mm-plugin-zte.c \
337 zte/mm-plugin-zte.h \
338 zte/mm-common-zte.h \
339 zte/mm-common-zte.c \
340 zte/mm-broadband-modem-zte.h \
341 zte/mm-broadband-modem-zte.c \
342 zte/mm-broadband-modem-zte-icera.h \
343 zte/mm-broadband-modem-zte-icera.c
344libmm_plugin_zte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
345libmm_plugin_zte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
346libmm_plugin_zte_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
347udevrules_DATA += zte/77-mm-zte-port-types.rules
348
349# Longcheer (and rebranded dongles)
350libmm_plugin_longcheer_la_SOURCES = \
351 longcheer/mm-plugin-longcheer.c \
352 longcheer/mm-plugin-longcheer.h \
353 longcheer/mm-broadband-modem-longcheer.h \
354 longcheer/mm-broadband-modem-longcheer.c
355libmm_plugin_longcheer_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
356libmm_plugin_longcheer_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
357udevrules_DATA += longcheer/77-mm-longcheer-port-types.rules
358
359# AnyData CDMA
360libmm_plugin_anydata_la_SOURCES = \
361 anydata/mm-plugin-anydata.c \
362 anydata/mm-plugin-anydata.h \
363 anydata/mm-broadband-modem-anydata.h \
364 anydata/mm-broadband-modem-anydata.c
365libmm_plugin_anydata_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
366libmm_plugin_anydata_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
367
368# Linktop CDMA
369libmm_plugin_linktop_la_SOURCES = \
370 linktop/mm-plugin-linktop.c \
371 linktop/mm-plugin-linktop.h \
372 linktop/mm-broadband-modem-linktop.h \
373 linktop/mm-broadband-modem-linktop.c
374libmm_plugin_linktop_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
375libmm_plugin_linktop_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
376
377# SimTech
378libmm_plugin_simtech_la_SOURCES = \
379 simtech/mm-plugin-simtech.c \
380 simtech/mm-plugin-simtech.h \
381 simtech/mm-broadband-modem-simtech.h \
382 simtech/mm-broadband-modem-simtech.c
383libmm_plugin_simtech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
384libmm_plugin_simtech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
385udevrules_DATA += simtech/77-mm-simtech-port-types.rules
386
387# Alcatel/TCT/JRD x220D and possibly others
388libmm_plugin_x22x_la_SOURCES = \
389 x22x/mm-plugin-x22x.c \
390 x22x/mm-plugin-x22x.h \
391 x22x/mm-broadband-modem-x22x.h \
392 x22x/mm-broadband-modem-x22x.c
393libmm_plugin_x22x_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
394libmm_plugin_x22x_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
395udevrules_DATA += x22x/77-mm-x22x-port-types.rules
396
397# Pantech
398libmm_plugin_pantech_la_SOURCES = \
399 pantech/mm-plugin-pantech.c \
400 pantech/mm-plugin-pantech.h \
401 pantech/mm-sim-pantech.c \
402 pantech/mm-sim-pantech.h \
403 pantech/mm-broadband-modem-pantech.c \
404 pantech/mm-broadband-modem-pantech.h
405libmm_plugin_pantech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
406libmm_plugin_pantech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
407
408# Samsung modem
409libmm_plugin_samsung_la_SOURCES = \
410 samsung/mm-plugin-samsung.c \
411 samsung/mm-plugin-samsung.h \
412 samsung/mm-broadband-modem-samsung.c \
413 samsung/mm-broadband-modem-samsung.h
414libmm_plugin_samsung_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
415libmm_plugin_samsung_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
416libmm_plugin_samsung_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
417
418# Cinterion (previously Siemens) modem
419libmm_plugin_cinterion_la_SOURCES = \
420 cinterion/mm-plugin-cinterion.c \
421 cinterion/mm-plugin-cinterion.h \
422 cinterion/mm-modem-helpers-cinterion.c \
423 cinterion/mm-modem-helpers-cinterion.h \
424 cinterion/mm-common-cinterion.c \
425 cinterion/mm-common-cinterion.h \
426 cinterion/mm-broadband-modem-cinterion.c \
427 cinterion/mm-broadband-modem-cinterion.h
428
429if WITH_QMI
430libmm_plugin_cinterion_la_SOURCES += \
431 cinterion/mm-broadband-modem-qmi-cinterion.c \
432 cinterion/mm-broadband-modem-qmi-cinterion.h
433endif
434
435libmm_plugin_cinterion_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
436libmm_plugin_cinterion_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
437
438udevrules_DATA += cinterion/77-mm-cinterion-port-types.rules
439
440noinst_PROGRAMS += test-modem-helpers-cinterion
441test_modem_helpers_cinterion_SOURCES = \
442 cinterion/mm-modem-helpers-cinterion.c \
443 cinterion/mm-modem-helpers-cinterion.h \
444 cinterion/tests/test-modem-helpers-cinterion.c
445test_modem_helpers_cinterion_CPPFLAGS = \
446 -I$(top_srcdir)/plugins/cinterion \
447 $(PLUGIN_COMMON_COMPILER_FLAGS)
448test_modem_helpers_cinterion_LDADD = \
449 $(top_builddir)/libmm-glib/libmm-glib.la \
450 $(top_builddir)/src/libmodem-helpers.la
451test_modem_helpers_cinterion_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
452
453# Iridium modem
454libmm_plugin_iridium_la_SOURCES = \
455 iridium/mm-plugin-iridium.c \
456 iridium/mm-plugin-iridium.h \
457 iridium/mm-broadband-modem-iridium.c \
458 iridium/mm-broadband-modem-iridium.h \
459 iridium/mm-bearer-iridium.c \
460 iridium/mm-bearer-iridium.h \
461 iridium/mm-sim-iridium.c \
462 iridium/mm-sim-iridium.h
463libmm_plugin_iridium_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
464libmm_plugin_iridium_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
465
466# Common Novatel modem support library
467noinst_LTLIBRARIES += libmm-utils-novatel.la
468libmm_utils_novatel_la_SOURCES = \
469 novatel/mm-common-novatel.c \
470 novatel/mm-common-novatel.h \
471 novatel/mm-broadband-modem-novatel.c \
472 novatel/mm-broadband-modem-novatel.h
473libmm_utils_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
474libmm_utils_novatel_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
475
476NOVATEL_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/novatel
477NOVATEL_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-novatel.la
478
479# Novatel LTE modem
480libmm_plugin_novatel_lte_la_SOURCES = \
481 novatel/mm-plugin-novatel-lte.c \
482 novatel/mm-plugin-novatel-lte.h \
483 novatel/mm-broadband-modem-novatel-lte.c \
484 novatel/mm-broadband-modem-novatel-lte.h \
485 novatel/mm-broadband-bearer-novatel-lte.c \
486 novatel/mm-broadband-bearer-novatel-lte.h \
487 novatel/mm-sim-novatel-lte.c \
488 novatel/mm-sim-novatel-lte.h
489libmm_plugin_novatel_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
490libmm_plugin_novatel_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
491
492# Novatel non-LTE modem
493libmm_plugin_novatel_la_SOURCES = \
494 novatel/mm-plugin-novatel.c \
495 novatel/mm-plugin-novatel.h
496libmm_plugin_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(NOVATEL_COMMON_COMPILER_FLAGS)
497libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
498libmm_plugin_novatel_la_LIBADD = $(NOVATEL_COMMON_LIBADD_FLAGS)
499
500# Altair LTE modem
501libmm_plugin_altair_lte_la_SOURCES = \
502 altair/mm-modem-helpers-altair-lte.c \
503 altair/mm-modem-helpers-altair-lte.h \
504 altair/mm-plugin-altair-lte.c \
505 altair/mm-plugin-altair-lte.h \
506 altair/mm-broadband-modem-altair-lte.c \
507 altair/mm-broadband-modem-altair-lte.h \
508 altair/mm-broadband-bearer-altair-lte.c \
509 altair/mm-broadband-bearer-altair-lte.h
510libmm_plugin_altair_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
511libmm_plugin_altair_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
512
513noinst_PROGRAMS += test-modem-helpers-altair-lte
514test_modem_helpers_altair_lte_SOURCES = \
515 altair/mm-modem-helpers-altair-lte.c \
516 altair/mm-modem-helpers-altair-lte.h \
517 altair/tests/test-modem-helpers-altair-lte.c
518test_modem_helpers_altair_lte_CPPFLAGS = \
519 -I$(top_srcdir)/plugins/altair \
520 $(PLUGIN_COMMON_COMPILER_FLAGS)
521test_modem_helpers_altair_lte_LDADD = $(top_builddir)/libmm-glib/libmm-glib.la
522test_modem_helpers_altair_lte_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
523
524
525# VIA modem
526libmm_plugin_via_la_SOURCES = \
527 via/mm-plugin-via.c \
528 via/mm-plugin-via.h \
529 via/mm-broadband-modem-via.c \
530 via/mm-broadband-modem-via.h
531libmm_plugin_via_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
532libmm_plugin_via_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
533
534# Telit modem
535libmm_plugin_telit_la_SOURCES = \
536 telit/mm-plugin-telit.c \
537 telit/mm-plugin-telit.h \
538 telit/mm-broadband-modem-telit.c \
539 telit/mm-broadband-modem-telit.h
540libmm_plugin_telit_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
541libmm_plugin_telit_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
542udevrules_DATA += telit/77-mm-telit-port-types.rules
543
544# MTK
545libmm_plugin_mtk_la_SOURCES = \
546 mtk/mm-plugin-mtk.c \
547 mtk/mm-plugin-mtk.h \
548 mtk/mm-broadband-modem-mtk.h \
549 mtk/mm-broadband-modem-mtk.c
550libmm_plugin_mtk_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
551libmm_plugin_mtk_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
552udevrules_DATA += mtk/77-mm-mtk-port-types.rules
553
554
555# Additional files to include in the distribution
556EXTRA_DIST += \
557 $(udevrules_DATA) \
558 tests/gsm-port.conf
559
560# Unit tests
561TEST_PROGS += $(noinst_PROGRAMS)
0562
=== added directory '.pc/dell-mbim-plugin.patch/plugins/dell'
=== added file '.pc/dell-mbim-plugin.patch/plugins/dell/mm-plugin-dell.c'
=== added file '.pc/dell-mbim-plugin.patch/plugins/dell/mm-plugin-dell.h'
=== added directory '.pc/dell-mbim-plugin.patch/plugins/novatel'
=== added file '.pc/dell-mbim-plugin.patch/plugins/novatel/mm-plugin-novatel.c'
--- .pc/dell-mbim-plugin.patch/plugins/novatel/mm-plugin-novatel.c 1970-01-01 00:00:00 +0000
+++ .pc/dell-mbim-plugin.patch/plugins/novatel/mm-plugin-novatel.c 2015-10-09 10:06:57 +0000
@@ -0,0 +1,127 @@
1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3/*
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation; either version 2 of the
7 * License, or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public
15 * License along with this program; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
18 *
19 * Copyright (C) 2008 - 2009 Novell, Inc.
20 * Copyright (C) 2009 - 2012 Red Hat, Inc.
21 * Copyright (C) 2012 Aleksander Morgado <aleksander@gnu.org>
22 */
23
24#include <string.h>
25#include <gmodule.h>
26
27#define _LIBMM_INSIDE_MM
28#include <libmm-glib.h>
29
30#include "mm-plugin-novatel.h"
31#include "mm-common-novatel.h"
32#include "mm-private-boxed-types.h"
33#include "mm-broadband-modem-novatel.h"
34#include "mm-log.h"
35
36#if defined WITH_QMI
37#include "mm-broadband-modem-qmi.h"
38#endif
39
40G_DEFINE_TYPE (MMPluginNovatel, mm_plugin_novatel, MM_TYPE_PLUGIN)
41
42int mm_plugin_major_version = MM_PLUGIN_MAJOR_VERSION;
43int mm_plugin_minor_version = MM_PLUGIN_MINOR_VERSION;
44
45/*****************************************************************************/
46/* Custom commands for AT probing */
47
48/* We need to explicitly flip secondary ports to AT mode.
49 * We also use this command also for checking AT support in the current port.
50 */
51static const MMPortProbeAtCommand custom_at_probe[] = {
52 { "$NWDMAT=1", 3, mm_port_probe_response_processor_is_at },
53 { "$NWDMAT=1", 3, mm_port_probe_response_processor_is_at },
54 { "$NWDMAT=1", 3, mm_port_probe_response_processor_is_at },
55 { NULL }
56};
57
58/*****************************************************************************/
59
60static MMBaseModem *
61create_modem (MMPlugin *self,
62 const gchar *sysfs_path,
63 const gchar **drivers,
64 guint16 vendor,
65 guint16 product,
66 GList *probes,
67 GError **error)
68{
69#if defined WITH_QMI
70 if (mm_port_probe_list_has_qmi_port (probes)) {
71 mm_dbg ("QMI-powered Novatel modem found...");
72 return MM_BASE_MODEM (mm_broadband_modem_qmi_new (sysfs_path,
73 drivers,
74 mm_plugin_get_name (self),
75 vendor,
76 product));
77 }
78#endif
79
80 return MM_BASE_MODEM (mm_broadband_modem_novatel_new (sysfs_path,
81 drivers,
82 mm_plugin_get_name (self),
83 vendor,
84 product));
85}
86
87/*****************************************************************************/
88
89G_MODULE_EXPORT MMPlugin *
90mm_plugin_create (void)
91{
92 static const gchar *subsystems[] = { "tty", "net", "usb", NULL };
93 static const guint16 vendors[] = { 0x1410, /* Novatel */
94 0x413c, /* Dell */
95 0 };
96 static const mm_uint16_pair forbidden_products[] = { { 0x1410, 0x9010 }, /* Novatel E362 */
97 { 0, 0 } };
98 static const MMAsyncMethod custom_init = {
99 .async = G_CALLBACK (mm_common_novatel_custom_init),
100 .finish = G_CALLBACK (mm_common_novatel_custom_init_finish),
101 };
102
103 return MM_PLUGIN (
104 g_object_new (MM_TYPE_PLUGIN_NOVATEL,
105 MM_PLUGIN_NAME, "Novatel",
106 MM_PLUGIN_ALLOWED_SUBSYSTEMS, subsystems,
107 MM_PLUGIN_ALLOWED_VENDOR_IDS, vendors,
108 MM_PLUGIN_FORBIDDEN_PRODUCT_IDS, forbidden_products,
109 MM_PLUGIN_ALLOWED_AT, TRUE,
110 MM_PLUGIN_CUSTOM_INIT, &custom_init,
111 MM_PLUGIN_ALLOWED_QCDM, TRUE,
112 MM_PLUGIN_ALLOWED_QMI, TRUE,
113 NULL));
114}
115
116static void
117mm_plugin_novatel_init (MMPluginNovatel *self)
118{
119}
120
121static void
122mm_plugin_novatel_class_init (MMPluginNovatelClass *klass)
123{
124 MMPluginClass *plugin_class = MM_PLUGIN_CLASS (klass);
125
126 plugin_class->create_modem = create_modem;
127}
0128
=== added directory '.pc/mbm-common-library.patch'
=== added directory '.pc/mbm-common-library.patch/plugins'
=== added file '.pc/mbm-common-library.patch/plugins/Makefile.am'
--- .pc/mbm-common-library.patch/plugins/Makefile.am 1970-01-01 00:00:00 +0000
+++ .pc/mbm-common-library.patch/plugins/Makefile.am 2015-10-09 10:06:57 +0000
@@ -0,0 +1,542 @@
1
2include $(top_srcdir)/gtester.make
3
4# Common CPPFLAGS and LDFLAGS
5
6PLUGIN_COMMON_COMPILER_FLAGS = \
7 $(MM_CFLAGS) \
8 $(GUDEV_CFLAGS) \
9 -I$(top_srcdir) \
10 -I$(top_srcdir)/src \
11 -I$(top_builddir)/src \
12 -I$(top_srcdir)/include \
13 -I$(top_builddir)/include \
14 -I$(top_srcdir)/libmm-glib \
15 -I$(top_srcdir)/libmm-glib/generated \
16 -I$(top_builddir)/libmm-glib/generated
17
18PLUGIN_COMMON_LINKER_FLAGS = \
19 $(GUDEV_LIBS) \
20 $(MM_LIBS) \
21 -module \
22 -avoid-version
23
24if WITH_QMI
25PLUGIN_COMMON_COMPILER_FLAGS += $(QMI_CFLAGS)
26PLUGIN_COMMON_LINKER_FLAGS += $(QMI_LIBS)
27endif
28
29if WITH_MBIM
30PLUGIN_COMMON_COMPILER_FLAGS += $(MBIM_CFLAGS)
31PLUGIN_COMMON_LINKER_FLAGS += $(MBIM_LIBS)
32endif
33
34# UDev rules
35udevrulesdir = $(UDEV_BASE_DIR)/rules.d
36udevrules_DATA =
37
38# Unit tests
39noinst_PROGRAMS =
40
41# Helper libs
42noinst_LTLIBRARIES =
43
44########################################
45
46# Common service test support
47
48noinst_LTLIBRARIES += libmm-test-common.la
49
50libmm_test_common_la_SOURCES = \
51 tests/test-fixture.h \
52 tests/test-fixture.c \
53 tests/test-port-context.h \
54 tests/test-port-context.c
55
56libmm_test_common_la_CPPFLAGS = \
57 $(MM_CFLAGS) \
58 -I$(top_srcdir)/include \
59 -I$(top_builddir)/include \
60 -I$(top_srcdir)/libmm-glib \
61 -I$(top_srcdir)/libmm-glib/generated \
62 -I$(top_builddir)/libmm-glib/generated \
63 -I$(top_builddir)/libmm-glib/generated/tests \
64 -DTEST_SERVICES=\""$(abs_top_builddir)/data/tests"\"
65
66libmm_test_common_la_LIBADD = \
67 ${top_builddir}/libmm-glib/generated/tests/libmm-test-generated.la \
68 $(top_builddir)/libmm-glib/libmm-glib.la
69
70TEST_COMMON_COMPILER_FLAGS = \
71 $(MM_CFLAGS) \
72 -I$(top_srcdir)/plugins/tests \
73 -I$(top_srcdir)/include \
74 -I$(top_builddir)/include \
75 -I$(top_srcdir)/libmm-glib \
76 -I$(top_srcdir)/libmm-glib/generated \
77 -I$(top_builddir)/libmm-glib/generated \
78 -I$(top_builddir)/libmm-glib/generated/tests \
79 -DCOMMON_GSM_PORT_CONF=\""$(abs_top_srcdir)/plugins/tests/gsm-port.conf"\"
80
81TEST_COMMON_LIBADD_FLAGS = \
82 $(builddir)/libmm-test-common.la \
83 $(top_builddir)/libmm-glib/libmm-glib.la
84
85
86########################################
87
88# Icera-specific support
89noinst_LTLIBRARIES += libmm-utils-icera.la
90libmm_utils_icera_la_SOURCES = \
91 icera/mm-broadband-modem-icera.h \
92 icera/mm-broadband-modem-icera.c \
93 icera/mm-broadband-bearer-icera.h \
94 icera/mm-broadband-bearer-icera.c \
95 icera/mm-modem-helpers-icera.c \
96 icera/mm-modem-helpers-icera.h
97libmm_utils_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
98libmm_utils_icera_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
99
100ICERA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/icera
101ICERA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-icera.la
102
103noinst_PROGRAMS += test-modem-helpers-icera
104test_modem_helpers_icera_SOURCES = \
105 icera/mm-modem-helpers-icera.c \
106 icera/mm-modem-helpers-icera.h \
107 icera/tests/test-modem-helpers-icera.c
108test_modem_helpers_icera_CPPFLAGS = \
109 -I$(top_srcdir)/plugins/icera \
110 $(PLUGIN_COMMON_COMPILER_FLAGS)
111test_modem_helpers_icera_LDADD = \
112 $(top_builddir)/libmm-glib/libmm-glib.la \
113 $(top_builddir)/src/libmodem-helpers.la
114test_modem_helpers_icera_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
115
116########################################
117
118pkglib_LTLIBRARIES = \
119 libmm-plugin-generic.la \
120 libmm-plugin-nokia.la \
121 libmm-plugin-nokia-icera.la \
122 libmm-plugin-cinterion.la \
123 libmm-plugin-iridium.la \
124 libmm-plugin-gobi.la \
125 libmm-plugin-motorola.la \
126 libmm-plugin-novatel.la \
127 libmm-plugin-novatel-lte.la \
128 libmm-plugin-altair-lte.la \
129 libmm-plugin-samsung.la \
130 libmm-plugin-option.la \
131 libmm-plugin-hso.la \
132 libmm-plugin-anydata.la \
133 libmm-plugin-linktop.la \
134 libmm-plugin-simtech.la \
135 libmm-plugin-wavecom.la \
136 libmm-plugin-huawei.la \
137 libmm-plugin-longcheer.la \
138 libmm-plugin-x22x.la \
139 libmm-plugin-pantech.la \
140 libmm-plugin-zte.la \
141 libmm-plugin-sierra.la \
142 libmm-plugin-mbm.la \
143 libmm-plugin-via.la \
144 libmm-plugin-telit.la \
145 libmm-plugin-mtk.la
146
147# Generic
148libmm_plugin_generic_la_SOURCES = \
149 generic/mm-plugin-generic.c \
150 generic/mm-plugin-generic.h
151libmm_plugin_generic_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
152libmm_plugin_generic_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
153
154noinst_PROGRAMS += test-service-generic
155test_service_generic_SOURCES = generic/tests/test-service-generic.c
156test_service_generic_CPPFLAGS = $(TEST_COMMON_COMPILER_FLAGS)
157test_service_generic_LDADD = $(TEST_COMMON_LIBADD_FLAGS)
158test_service_generic_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
159
160## Motorola
161libmm_plugin_motorola_la_SOURCES = \
162 motorola/mm-plugin-motorola.c \
163 motorola/mm-plugin-motorola.h \
164 motorola/mm-broadband-modem-motorola.c \
165 motorola/mm-broadband-modem-motorola.h
166libmm_plugin_motorola_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
167libmm_plugin_motorola_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
168
169# Gobi
170libmm_plugin_gobi_la_SOURCES = \
171 gobi/mm-plugin-gobi.c \
172 gobi/mm-plugin-gobi.h \
173 gobi/mm-broadband-modem-gobi.c \
174 gobi/mm-broadband-modem-gobi.h
175libmm_plugin_gobi_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
176libmm_plugin_gobi_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
177
178# Huawei
179libmm_plugin_huawei_la_SOURCES = \
180 huawei/mm-plugin-huawei.c \
181 huawei/mm-plugin-huawei.h \
182 huawei/mm-modem-helpers-huawei.c \
183 huawei/mm-modem-helpers-huawei.h \
184 huawei/mm-sim-huawei.c \
185 huawei/mm-sim-huawei.h \
186 huawei/mm-broadband-modem-huawei.c \
187 huawei/mm-broadband-modem-huawei.h \
188 huawei/mm-broadband-bearer-huawei.c \
189 huawei/mm-broadband-bearer-huawei.h
190libmm_plugin_huawei_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
191libmm_plugin_huawei_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
192
193udevrules_DATA += huawei/77-mm-huawei-net-port-types.rules
194
195noinst_PROGRAMS += test-modem-helpers-huawei
196test_modem_helpers_huawei_SOURCES = \
197 huawei/mm-modem-helpers-huawei.c \
198 huawei/mm-modem-helpers-huawei.h \
199 huawei/tests/test-modem-helpers-huawei.c
200test_modem_helpers_huawei_CPPFLAGS = \
201 -I$(top_srcdir)/plugins/huawei \
202 $(PLUGIN_COMMON_COMPILER_FLAGS)
203test_modem_helpers_huawei_LDADD = \
204 $(top_builddir)/libmm-glib/libmm-glib.la \
205 $(top_builddir)/src/libmodem-helpers.la
206test_modem_helpers_huawei_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
207
208# MBM
209libmm_plugin_mbm_la_SOURCES = \
210 mbm/mm-plugin-mbm.c \
211 mbm/mm-plugin-mbm.h \
212 mbm/mm-broadband-modem-mbm.c \
213 mbm/mm-broadband-modem-mbm.h \
214 mbm/mm-broadband-bearer-mbm.c \
215 mbm/mm-broadband-bearer-mbm.h \
216 mbm/mm-modem-helpers-mbm.c \
217 mbm/mm-modem-helpers-mbm.h \
218 mbm/mm-sim-mbm.c \
219 mbm/mm-sim-mbm.h
220libmm_plugin_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
221libmm_plugin_mbm_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
222udevrules_DATA += mbm/77-mm-ericsson-mbm.rules
223
224noinst_PROGRAMS += test-modem-helpers-mbm
225test_modem_helpers_mbm_SOURCES = \
226 mbm/mm-modem-helpers-mbm.c \
227 mbm/mm-modem-helpers-mbm.h \
228 mbm/tests/test-modem-helpers-mbm.c
229test_modem_helpers_mbm_CPPFLAGS = \
230 -I$(top_srcdir)/plugins/mbm \
231 $(PLUGIN_COMMON_COMPILER_FLAGS)
232test_modem_helpers_mbm_LDADD = \
233 $(top_builddir)/libmm-glib/libmm-glib.la \
234 $(top_builddir)/src/libmodem-helpers.la
235test_modem_helpers_mbm_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
236
237# Option
238libmm_plugin_option_la_SOURCES = \
239 option/mm-plugin-option.c \
240 option/mm-plugin-option.h \
241 option/mm-broadband-modem-option.c \
242 option/mm-broadband-modem-option.h
243libmm_plugin_option_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
244libmm_plugin_option_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
245
246# HSO
247libmm_plugin_hso_la_SOURCES = \
248 option/mm-plugin-hso.c \
249 option/mm-plugin-hso.h \
250 option/mm-broadband-modem-option.c \
251 option/mm-broadband-modem-option.h \
252 option/mm-broadband-bearer-hso.c \
253 option/mm-broadband-bearer-hso.h \
254 option/mm-broadband-modem-hso.c \
255 option/mm-broadband-modem-hso.h
256libmm_plugin_hso_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
257libmm_plugin_hso_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
258
259# Common Sierra modem support library
260noinst_LTLIBRARIES += libmm-utils-sierra.la
261libmm_utils_sierra_la_SOURCES = \
262 sierra/mm-common-sierra.c \
263 sierra/mm-common-sierra.h \
264 sierra/mm-sim-sierra.c \
265 sierra/mm-sim-sierra.h \
266 sierra/mm-broadband-bearer-sierra.c \
267 sierra/mm-broadband-bearer-sierra.h \
268 sierra/mm-broadband-modem-sierra.c \
269 sierra/mm-broadband-modem-sierra.h
270libmm_utils_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
271libmm_utils_sierra_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
272
273SIERRA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/sierra
274SIERRA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-sierra.la
275
276# Sierra
277libmm_plugin_sierra_la_SOURCES = \
278 sierra/mm-plugin-sierra.c \
279 sierra/mm-plugin-sierra.h \
280 sierra/mm-broadband-modem-sierra-icera.c \
281 sierra/mm-broadband-modem-sierra-icera.h
282libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS) $(SIERRA_COMMON_COMPILER_FLAGS)
283libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
284libmm_plugin_sierra_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS) $(SIERRA_COMMON_LIBADD_FLAGS)
285
286# Wavecom (Sierra Airlink)
287libmm_plugin_wavecom_la_SOURCES = \
288 wavecom/mm-plugin-wavecom.c \
289 wavecom/mm-plugin-wavecom.h \
290 wavecom/mm-broadband-modem-wavecom.c \
291 wavecom/mm-broadband-modem-wavecom.h
292libmm_plugin_wavecom_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
293libmm_plugin_wavecom_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
294
295# Nokia
296libmm_plugin_nokia_la_SOURCES = \
297 nokia/mm-plugin-nokia.c \
298 nokia/mm-plugin-nokia.h \
299 nokia/mm-sim-nokia.c \
300 nokia/mm-sim-nokia.h \
301 nokia/mm-broadband-modem-nokia.c \
302 nokia/mm-broadband-modem-nokia.h
303libmm_plugin_nokia_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
304libmm_plugin_nokia_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
305
306# Nokia (Icera)
307libmm_plugin_nokia_icera_la_SOURCES = \
308 nokia/mm-plugin-nokia-icera.c \
309 nokia/mm-plugin-nokia-icera.h
310libmm_plugin_nokia_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
311libmm_plugin_nokia_icera_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
312libmm_plugin_nokia_icera_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
313udevrules_DATA += nokia/77-mm-nokia-port-types.rules
314
315# Zte
316libmm_plugin_zte_la_SOURCES = \
317 zte/mm-plugin-zte.c \
318 zte/mm-plugin-zte.h \
319 zte/mm-common-zte.h \
320 zte/mm-common-zte.c \
321 zte/mm-broadband-modem-zte.h \
322 zte/mm-broadband-modem-zte.c \
323 zte/mm-broadband-modem-zte-icera.h \
324 zte/mm-broadband-modem-zte-icera.c
325libmm_plugin_zte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
326libmm_plugin_zte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
327libmm_plugin_zte_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
328udevrules_DATA += zte/77-mm-zte-port-types.rules
329
330# Longcheer (and rebranded dongles)
331libmm_plugin_longcheer_la_SOURCES = \
332 longcheer/mm-plugin-longcheer.c \
333 longcheer/mm-plugin-longcheer.h \
334 longcheer/mm-broadband-modem-longcheer.h \
335 longcheer/mm-broadband-modem-longcheer.c
336libmm_plugin_longcheer_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
337libmm_plugin_longcheer_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
338udevrules_DATA += longcheer/77-mm-longcheer-port-types.rules
339
340# AnyData CDMA
341libmm_plugin_anydata_la_SOURCES = \
342 anydata/mm-plugin-anydata.c \
343 anydata/mm-plugin-anydata.h \
344 anydata/mm-broadband-modem-anydata.h \
345 anydata/mm-broadband-modem-anydata.c
346libmm_plugin_anydata_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
347libmm_plugin_anydata_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
348
349# Linktop CDMA
350libmm_plugin_linktop_la_SOURCES = \
351 linktop/mm-plugin-linktop.c \
352 linktop/mm-plugin-linktop.h \
353 linktop/mm-broadband-modem-linktop.h \
354 linktop/mm-broadband-modem-linktop.c
355libmm_plugin_linktop_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
356libmm_plugin_linktop_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
357
358# SimTech
359libmm_plugin_simtech_la_SOURCES = \
360 simtech/mm-plugin-simtech.c \
361 simtech/mm-plugin-simtech.h \
362 simtech/mm-broadband-modem-simtech.h \
363 simtech/mm-broadband-modem-simtech.c
364libmm_plugin_simtech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
365libmm_plugin_simtech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
366udevrules_DATA += simtech/77-mm-simtech-port-types.rules
367
368# Alcatel/TCT/JRD x220D and possibly others
369libmm_plugin_x22x_la_SOURCES = \
370 x22x/mm-plugin-x22x.c \
371 x22x/mm-plugin-x22x.h \
372 x22x/mm-broadband-modem-x22x.h \
373 x22x/mm-broadband-modem-x22x.c
374libmm_plugin_x22x_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
375libmm_plugin_x22x_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
376udevrules_DATA += x22x/77-mm-x22x-port-types.rules
377
378# Pantech
379libmm_plugin_pantech_la_SOURCES = \
380 pantech/mm-plugin-pantech.c \
381 pantech/mm-plugin-pantech.h \
382 pantech/mm-sim-pantech.c \
383 pantech/mm-sim-pantech.h \
384 pantech/mm-broadband-modem-pantech.c \
385 pantech/mm-broadband-modem-pantech.h
386libmm_plugin_pantech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
387libmm_plugin_pantech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
388
389# Samsung modem
390libmm_plugin_samsung_la_SOURCES = \
391 samsung/mm-plugin-samsung.c \
392 samsung/mm-plugin-samsung.h \
393 samsung/mm-broadband-modem-samsung.c \
394 samsung/mm-broadband-modem-samsung.h
395libmm_plugin_samsung_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
396libmm_plugin_samsung_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
397libmm_plugin_samsung_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
398
399# Cinterion (previously Siemens) modem
400libmm_plugin_cinterion_la_SOURCES = \
401 cinterion/mm-plugin-cinterion.c \
402 cinterion/mm-plugin-cinterion.h \
403 cinterion/mm-modem-helpers-cinterion.c \
404 cinterion/mm-modem-helpers-cinterion.h \
405 cinterion/mm-common-cinterion.c \
406 cinterion/mm-common-cinterion.h \
407 cinterion/mm-broadband-modem-cinterion.c \
408 cinterion/mm-broadband-modem-cinterion.h
409
410if WITH_QMI
411libmm_plugin_cinterion_la_SOURCES += \
412 cinterion/mm-broadband-modem-qmi-cinterion.c \
413 cinterion/mm-broadband-modem-qmi-cinterion.h
414endif
415
416libmm_plugin_cinterion_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
417libmm_plugin_cinterion_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
418
419udevrules_DATA += cinterion/77-mm-cinterion-port-types.rules
420
421noinst_PROGRAMS += test-modem-helpers-cinterion
422test_modem_helpers_cinterion_SOURCES = \
423 cinterion/mm-modem-helpers-cinterion.c \
424 cinterion/mm-modem-helpers-cinterion.h \
425 cinterion/tests/test-modem-helpers-cinterion.c
426test_modem_helpers_cinterion_CPPFLAGS = \
427 -I$(top_srcdir)/plugins/cinterion \
428 $(PLUGIN_COMMON_COMPILER_FLAGS)
429test_modem_helpers_cinterion_LDADD = \
430 $(top_builddir)/libmm-glib/libmm-glib.la \
431 $(top_builddir)/src/libmodem-helpers.la
432test_modem_helpers_cinterion_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
433
434# Iridium modem
435libmm_plugin_iridium_la_SOURCES = \
436 iridium/mm-plugin-iridium.c \
437 iridium/mm-plugin-iridium.h \
438 iridium/mm-broadband-modem-iridium.c \
439 iridium/mm-broadband-modem-iridium.h \
440 iridium/mm-bearer-iridium.c \
441 iridium/mm-bearer-iridium.h \
442 iridium/mm-sim-iridium.c \
443 iridium/mm-sim-iridium.h
444libmm_plugin_iridium_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
445libmm_plugin_iridium_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
446
447# Common Novatel modem support library
448noinst_LTLIBRARIES += libmm-utils-novatel.la
449libmm_utils_novatel_la_SOURCES = \
450 novatel/mm-common-novatel.c \
451 novatel/mm-common-novatel.h \
452 novatel/mm-broadband-modem-novatel.c \
453 novatel/mm-broadband-modem-novatel.h
454libmm_utils_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
455libmm_utils_novatel_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
456
457NOVATEL_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/novatel
458NOVATEL_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-novatel.la
459
460# Novatel LTE modem
461libmm_plugin_novatel_lte_la_SOURCES = \
462 novatel/mm-plugin-novatel-lte.c \
463 novatel/mm-plugin-novatel-lte.h \
464 novatel/mm-broadband-modem-novatel-lte.c \
465 novatel/mm-broadband-modem-novatel-lte.h \
466 novatel/mm-broadband-bearer-novatel-lte.c \
467 novatel/mm-broadband-bearer-novatel-lte.h \
468 novatel/mm-sim-novatel-lte.c \
469 novatel/mm-sim-novatel-lte.h
470libmm_plugin_novatel_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
471libmm_plugin_novatel_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
472
473# Novatel non-LTE modem
474libmm_plugin_novatel_la_SOURCES = \
475 novatel/mm-plugin-novatel.c \
476 novatel/mm-plugin-novatel.h
477libmm_plugin_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(NOVATEL_COMMON_COMPILER_FLAGS)
478libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
479libmm_plugin_novatel_la_LIBADD = $(NOVATEL_COMMON_LIBADD_FLAGS)
480
481# Altair LTE modem
482libmm_plugin_altair_lte_la_SOURCES = \
483 altair/mm-modem-helpers-altair-lte.c \
484 altair/mm-modem-helpers-altair-lte.h \
485 altair/mm-plugin-altair-lte.c \
486 altair/mm-plugin-altair-lte.h \
487 altair/mm-broadband-modem-altair-lte.c \
488 altair/mm-broadband-modem-altair-lte.h \
489 altair/mm-broadband-bearer-altair-lte.c \
490 altair/mm-broadband-bearer-altair-lte.h
491libmm_plugin_altair_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
492libmm_plugin_altair_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
493
494noinst_PROGRAMS += test-modem-helpers-altair-lte
495test_modem_helpers_altair_lte_SOURCES = \
496 altair/mm-modem-helpers-altair-lte.c \
497 altair/mm-modem-helpers-altair-lte.h \
498 altair/tests/test-modem-helpers-altair-lte.c
499test_modem_helpers_altair_lte_CPPFLAGS = \
500 -I$(top_srcdir)/plugins/altair \
501 $(PLUGIN_COMMON_COMPILER_FLAGS)
502test_modem_helpers_altair_lte_LDADD = $(top_builddir)/libmm-glib/libmm-glib.la
503test_modem_helpers_altair_lte_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
504
505
506# VIA modem
507libmm_plugin_via_la_SOURCES = \
508 via/mm-plugin-via.c \
509 via/mm-plugin-via.h \
510 via/mm-broadband-modem-via.c \
511 via/mm-broadband-modem-via.h
512libmm_plugin_via_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
513libmm_plugin_via_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
514
515# Telit modem
516libmm_plugin_telit_la_SOURCES = \
517 telit/mm-plugin-telit.c \
518 telit/mm-plugin-telit.h \
519 telit/mm-broadband-modem-telit.c \
520 telit/mm-broadband-modem-telit.h
521libmm_plugin_telit_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
522libmm_plugin_telit_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
523udevrules_DATA += telit/77-mm-telit-port-types.rules
524
525# MTK
526libmm_plugin_mtk_la_SOURCES = \
527 mtk/mm-plugin-mtk.c \
528 mtk/mm-plugin-mtk.h \
529 mtk/mm-broadband-modem-mtk.h \
530 mtk/mm-broadband-modem-mtk.c
531libmm_plugin_mtk_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
532libmm_plugin_mtk_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
533udevrules_DATA += mtk/77-mm-mtk-port-types.rules
534
535
536# Additional files to include in the distribution
537EXTRA_DIST += \
538 $(udevrules_DATA) \
539 tests/gsm-port.conf
540
541# Unit tests
542TEST_PROGS += $(noinst_PROGRAMS)
0543
=== added directory '.pc/new-sierra-legacy-plugin.patch'
=== added directory '.pc/new-sierra-legacy-plugin.patch/plugins'
=== added file '.pc/new-sierra-legacy-plugin.patch/plugins/Makefile.am'
--- .pc/new-sierra-legacy-plugin.patch/plugins/Makefile.am 1970-01-01 00:00:00 +0000
+++ .pc/new-sierra-legacy-plugin.patch/plugins/Makefile.am 2015-10-09 10:06:57 +0000
@@ -0,0 +1,553 @@
1
2include $(top_srcdir)/gtester.make
3
4# Common CPPFLAGS and LDFLAGS
5
6PLUGIN_COMMON_COMPILER_FLAGS = \
7 $(MM_CFLAGS) \
8 $(GUDEV_CFLAGS) \
9 -I$(top_srcdir) \
10 -I$(top_srcdir)/src \
11 -I$(top_builddir)/src \
12 -I$(top_srcdir)/include \
13 -I$(top_builddir)/include \
14 -I$(top_srcdir)/libmm-glib \
15 -I$(top_srcdir)/libmm-glib/generated \
16 -I$(top_builddir)/libmm-glib/generated
17
18PLUGIN_COMMON_LINKER_FLAGS = \
19 $(GUDEV_LIBS) \
20 $(MM_LIBS) \
21 -module \
22 -avoid-version
23
24if WITH_QMI
25PLUGIN_COMMON_COMPILER_FLAGS += $(QMI_CFLAGS)
26PLUGIN_COMMON_LINKER_FLAGS += $(QMI_LIBS)
27endif
28
29if WITH_MBIM
30PLUGIN_COMMON_COMPILER_FLAGS += $(MBIM_CFLAGS)
31PLUGIN_COMMON_LINKER_FLAGS += $(MBIM_LIBS)
32endif
33
34# UDev rules
35udevrulesdir = $(UDEV_BASE_DIR)/rules.d
36udevrules_DATA =
37
38# Unit tests
39noinst_PROGRAMS =
40
41# Helper libs
42noinst_LTLIBRARIES =
43
44########################################
45
46# Common service test support
47
48noinst_LTLIBRARIES += libmm-test-common.la
49
50libmm_test_common_la_SOURCES = \
51 tests/test-fixture.h \
52 tests/test-fixture.c \
53 tests/test-port-context.h \
54 tests/test-port-context.c
55
56libmm_test_common_la_CPPFLAGS = \
57 $(MM_CFLAGS) \
58 -I$(top_srcdir)/include \
59 -I$(top_builddir)/include \
60 -I$(top_srcdir)/libmm-glib \
61 -I$(top_srcdir)/libmm-glib/generated \
62 -I$(top_builddir)/libmm-glib/generated \
63 -I$(top_builddir)/libmm-glib/generated/tests \
64 -DTEST_SERVICES=\""$(abs_top_builddir)/data/tests"\"
65
66libmm_test_common_la_LIBADD = \
67 ${top_builddir}/libmm-glib/generated/tests/libmm-test-generated.la \
68 $(top_builddir)/libmm-glib/libmm-glib.la
69
70TEST_COMMON_COMPILER_FLAGS = \
71 $(MM_CFLAGS) \
72 -I$(top_srcdir)/plugins/tests \
73 -I$(top_srcdir)/include \
74 -I$(top_builddir)/include \
75 -I$(top_srcdir)/libmm-glib \
76 -I$(top_srcdir)/libmm-glib/generated \
77 -I$(top_builddir)/libmm-glib/generated \
78 -I$(top_builddir)/libmm-glib/generated/tests \
79 -DCOMMON_GSM_PORT_CONF=\""$(abs_top_srcdir)/plugins/tests/gsm-port.conf"\"
80
81TEST_COMMON_LIBADD_FLAGS = \
82 $(builddir)/libmm-test-common.la \
83 $(top_builddir)/libmm-glib/libmm-glib.la
84
85
86########################################
87
88# Icera-specific support
89noinst_LTLIBRARIES += libmm-utils-icera.la
90libmm_utils_icera_la_SOURCES = \
91 icera/mm-broadband-modem-icera.h \
92 icera/mm-broadband-modem-icera.c \
93 icera/mm-broadband-bearer-icera.h \
94 icera/mm-broadband-bearer-icera.c \
95 icera/mm-modem-helpers-icera.c \
96 icera/mm-modem-helpers-icera.h
97libmm_utils_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
98libmm_utils_icera_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
99
100ICERA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/icera
101ICERA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-icera.la
102
103noinst_PROGRAMS += test-modem-helpers-icera
104test_modem_helpers_icera_SOURCES = \
105 icera/mm-modem-helpers-icera.c \
106 icera/mm-modem-helpers-icera.h \
107 icera/tests/test-modem-helpers-icera.c
108test_modem_helpers_icera_CPPFLAGS = \
109 -I$(top_srcdir)/plugins/icera \
110 $(PLUGIN_COMMON_COMPILER_FLAGS)
111test_modem_helpers_icera_LDADD = \
112 $(top_builddir)/libmm-glib/libmm-glib.la \
113 $(top_builddir)/src/libmodem-helpers.la
114test_modem_helpers_icera_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
115
116########################################
117
118pkglib_LTLIBRARIES = \
119 libmm-plugin-generic.la \
120 libmm-plugin-nokia.la \
121 libmm-plugin-nokia-icera.la \
122 libmm-plugin-cinterion.la \
123 libmm-plugin-iridium.la \
124 libmm-plugin-gobi.la \
125 libmm-plugin-motorola.la \
126 libmm-plugin-novatel.la \
127 libmm-plugin-novatel-lte.la \
128 libmm-plugin-altair-lte.la \
129 libmm-plugin-samsung.la \
130 libmm-plugin-option.la \
131 libmm-plugin-hso.la \
132 libmm-plugin-anydata.la \
133 libmm-plugin-linktop.la \
134 libmm-plugin-simtech.la \
135 libmm-plugin-wavecom.la \
136 libmm-plugin-huawei.la \
137 libmm-plugin-longcheer.la \
138 libmm-plugin-x22x.la \
139 libmm-plugin-pantech.la \
140 libmm-plugin-zte.la \
141 libmm-plugin-sierra.la \
142 libmm-plugin-mbm.la \
143 libmm-plugin-via.la \
144 libmm-plugin-telit.la \
145 libmm-plugin-mtk.la
146
147# Generic
148libmm_plugin_generic_la_SOURCES = \
149 generic/mm-plugin-generic.c \
150 generic/mm-plugin-generic.h
151libmm_plugin_generic_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
152libmm_plugin_generic_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
153
154noinst_PROGRAMS += test-service-generic
155test_service_generic_SOURCES = generic/tests/test-service-generic.c
156test_service_generic_CPPFLAGS = $(TEST_COMMON_COMPILER_FLAGS)
157test_service_generic_LDADD = $(TEST_COMMON_LIBADD_FLAGS)
158test_service_generic_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
159
160## Motorola
161libmm_plugin_motorola_la_SOURCES = \
162 motorola/mm-plugin-motorola.c \
163 motorola/mm-plugin-motorola.h \
164 motorola/mm-broadband-modem-motorola.c \
165 motorola/mm-broadband-modem-motorola.h
166libmm_plugin_motorola_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
167libmm_plugin_motorola_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
168
169# Gobi
170libmm_plugin_gobi_la_SOURCES = \
171 gobi/mm-plugin-gobi.c \
172 gobi/mm-plugin-gobi.h \
173 gobi/mm-broadband-modem-gobi.c \
174 gobi/mm-broadband-modem-gobi.h
175libmm_plugin_gobi_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
176libmm_plugin_gobi_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
177
178# Huawei
179libmm_plugin_huawei_la_SOURCES = \
180 huawei/mm-plugin-huawei.c \
181 huawei/mm-plugin-huawei.h \
182 huawei/mm-modem-helpers-huawei.c \
183 huawei/mm-modem-helpers-huawei.h \
184 huawei/mm-sim-huawei.c \
185 huawei/mm-sim-huawei.h \
186 huawei/mm-broadband-modem-huawei.c \
187 huawei/mm-broadband-modem-huawei.h \
188 huawei/mm-broadband-bearer-huawei.c \
189 huawei/mm-broadband-bearer-huawei.h
190libmm_plugin_huawei_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
191libmm_plugin_huawei_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
192
193udevrules_DATA += huawei/77-mm-huawei-net-port-types.rules
194
195noinst_PROGRAMS += test-modem-helpers-huawei
196test_modem_helpers_huawei_SOURCES = \
197 huawei/mm-modem-helpers-huawei.c \
198 huawei/mm-modem-helpers-huawei.h \
199 huawei/tests/test-modem-helpers-huawei.c
200test_modem_helpers_huawei_CPPFLAGS = \
201 -I$(top_srcdir)/plugins/huawei \
202 $(PLUGIN_COMMON_COMPILER_FLAGS)
203test_modem_helpers_huawei_LDADD = \
204 $(top_builddir)/libmm-glib/libmm-glib.la \
205 $(top_builddir)/src/libmodem-helpers.la
206test_modem_helpers_huawei_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
207
208# Common Mbm modem support library
209noinst_LTLIBRARIES += libmm-utils-mbm.la
210libmm_utils_mbm_la_SOURCES = \
211 mbm/mm-broadband-modem-mbm.c \
212 mbm/mm-broadband-modem-mbm.h \
213 mbm/mm-broadband-bearer-mbm.c \
214 mbm/mm-broadband-bearer-mbm.h \
215 mbm/mm-modem-helpers-mbm.c \
216 mbm/mm-modem-helpers-mbm.h \
217 mbm/mm-sim-mbm.c \
218 mbm/mm-sim-mbm.h
219libmm_utils_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
220libmm_utils_mbm_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
221
222MBM_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/mbm
223MBM_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-mbm.la
224
225# MBM
226libmm_plugin_mbm_la_SOURCES = \
227 mbm/mm-plugin-mbm.c \
228 mbm/mm-plugin-mbm.h
229libmm_plugin_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(MBM_COMMON_COMPILER_FLAGS)
230libmm_plugin_mbm_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
231libmm_plugin_mbm_la_LIBADD = $(MBM_COMMON_LIBADD_FLAGS)
232
233udevrules_DATA += mbm/77-mm-ericsson-mbm.rules
234
235noinst_PROGRAMS += test-modem-helpers-mbm
236test_modem_helpers_mbm_SOURCES = \
237 mbm/mm-modem-helpers-mbm.c \
238 mbm/mm-modem-helpers-mbm.h \
239 mbm/tests/test-modem-helpers-mbm.c
240test_modem_helpers_mbm_CPPFLAGS = \
241 -I$(top_srcdir)/plugins/mbm \
242 $(PLUGIN_COMMON_COMPILER_FLAGS)
243test_modem_helpers_mbm_LDADD = \
244 $(top_builddir)/libmm-glib/libmm-glib.la \
245 $(top_builddir)/src/libmodem-helpers.la
246test_modem_helpers_mbm_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
247
248# Option
249libmm_plugin_option_la_SOURCES = \
250 option/mm-plugin-option.c \
251 option/mm-plugin-option.h \
252 option/mm-broadband-modem-option.c \
253 option/mm-broadband-modem-option.h
254libmm_plugin_option_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
255libmm_plugin_option_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
256
257# HSO
258libmm_plugin_hso_la_SOURCES = \
259 option/mm-plugin-hso.c \
260 option/mm-plugin-hso.h \
261 option/mm-broadband-modem-option.c \
262 option/mm-broadband-modem-option.h \
263 option/mm-broadband-bearer-hso.c \
264 option/mm-broadband-bearer-hso.h \
265 option/mm-broadband-modem-hso.c \
266 option/mm-broadband-modem-hso.h
267libmm_plugin_hso_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
268libmm_plugin_hso_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
269
270# Common Sierra modem support library
271noinst_LTLIBRARIES += libmm-utils-sierra.la
272libmm_utils_sierra_la_SOURCES = \
273 sierra/mm-common-sierra.c \
274 sierra/mm-common-sierra.h \
275 sierra/mm-sim-sierra.c \
276 sierra/mm-sim-sierra.h \
277 sierra/mm-broadband-bearer-sierra.c \
278 sierra/mm-broadband-bearer-sierra.h \
279 sierra/mm-broadband-modem-sierra.c \
280 sierra/mm-broadband-modem-sierra.h
281libmm_utils_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
282libmm_utils_sierra_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
283
284SIERRA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/sierra
285SIERRA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-sierra.la
286
287# Sierra
288libmm_plugin_sierra_la_SOURCES = \
289 sierra/mm-plugin-sierra.c \
290 sierra/mm-plugin-sierra.h \
291 sierra/mm-broadband-modem-sierra-icera.c \
292 sierra/mm-broadband-modem-sierra-icera.h
293libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS) $(SIERRA_COMMON_COMPILER_FLAGS)
294libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
295libmm_plugin_sierra_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS) $(SIERRA_COMMON_LIBADD_FLAGS)
296
297# Wavecom (Sierra Airlink)
298libmm_plugin_wavecom_la_SOURCES = \
299 wavecom/mm-plugin-wavecom.c \
300 wavecom/mm-plugin-wavecom.h \
301 wavecom/mm-broadband-modem-wavecom.c \
302 wavecom/mm-broadband-modem-wavecom.h
303libmm_plugin_wavecom_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
304libmm_plugin_wavecom_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
305
306# Nokia
307libmm_plugin_nokia_la_SOURCES = \
308 nokia/mm-plugin-nokia.c \
309 nokia/mm-plugin-nokia.h \
310 nokia/mm-sim-nokia.c \
311 nokia/mm-sim-nokia.h \
312 nokia/mm-broadband-modem-nokia.c \
313 nokia/mm-broadband-modem-nokia.h
314libmm_plugin_nokia_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
315libmm_plugin_nokia_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
316
317# Nokia (Icera)
318libmm_plugin_nokia_icera_la_SOURCES = \
319 nokia/mm-plugin-nokia-icera.c \
320 nokia/mm-plugin-nokia-icera.h
321libmm_plugin_nokia_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
322libmm_plugin_nokia_icera_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
323libmm_plugin_nokia_icera_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
324udevrules_DATA += nokia/77-mm-nokia-port-types.rules
325
326# Zte
327libmm_plugin_zte_la_SOURCES = \
328 zte/mm-plugin-zte.c \
329 zte/mm-plugin-zte.h \
330 zte/mm-common-zte.h \
331 zte/mm-common-zte.c \
332 zte/mm-broadband-modem-zte.h \
333 zte/mm-broadband-modem-zte.c \
334 zte/mm-broadband-modem-zte-icera.h \
335 zte/mm-broadband-modem-zte-icera.c
336libmm_plugin_zte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
337libmm_plugin_zte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
338libmm_plugin_zte_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
339udevrules_DATA += zte/77-mm-zte-port-types.rules
340
341# Longcheer (and rebranded dongles)
342libmm_plugin_longcheer_la_SOURCES = \
343 longcheer/mm-plugin-longcheer.c \
344 longcheer/mm-plugin-longcheer.h \
345 longcheer/mm-broadband-modem-longcheer.h \
346 longcheer/mm-broadband-modem-longcheer.c
347libmm_plugin_longcheer_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
348libmm_plugin_longcheer_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
349udevrules_DATA += longcheer/77-mm-longcheer-port-types.rules
350
351# AnyData CDMA
352libmm_plugin_anydata_la_SOURCES = \
353 anydata/mm-plugin-anydata.c \
354 anydata/mm-plugin-anydata.h \
355 anydata/mm-broadband-modem-anydata.h \
356 anydata/mm-broadband-modem-anydata.c
357libmm_plugin_anydata_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
358libmm_plugin_anydata_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
359
360# Linktop CDMA
361libmm_plugin_linktop_la_SOURCES = \
362 linktop/mm-plugin-linktop.c \
363 linktop/mm-plugin-linktop.h \
364 linktop/mm-broadband-modem-linktop.h \
365 linktop/mm-broadband-modem-linktop.c
366libmm_plugin_linktop_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
367libmm_plugin_linktop_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
368
369# SimTech
370libmm_plugin_simtech_la_SOURCES = \
371 simtech/mm-plugin-simtech.c \
372 simtech/mm-plugin-simtech.h \
373 simtech/mm-broadband-modem-simtech.h \
374 simtech/mm-broadband-modem-simtech.c
375libmm_plugin_simtech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
376libmm_plugin_simtech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
377udevrules_DATA += simtech/77-mm-simtech-port-types.rules
378
379# Alcatel/TCT/JRD x220D and possibly others
380libmm_plugin_x22x_la_SOURCES = \
381 x22x/mm-plugin-x22x.c \
382 x22x/mm-plugin-x22x.h \
383 x22x/mm-broadband-modem-x22x.h \
384 x22x/mm-broadband-modem-x22x.c
385libmm_plugin_x22x_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
386libmm_plugin_x22x_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
387udevrules_DATA += x22x/77-mm-x22x-port-types.rules
388
389# Pantech
390libmm_plugin_pantech_la_SOURCES = \
391 pantech/mm-plugin-pantech.c \
392 pantech/mm-plugin-pantech.h \
393 pantech/mm-sim-pantech.c \
394 pantech/mm-sim-pantech.h \
395 pantech/mm-broadband-modem-pantech.c \
396 pantech/mm-broadband-modem-pantech.h
397libmm_plugin_pantech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
398libmm_plugin_pantech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
399
400# Samsung modem
401libmm_plugin_samsung_la_SOURCES = \
402 samsung/mm-plugin-samsung.c \
403 samsung/mm-plugin-samsung.h \
404 samsung/mm-broadband-modem-samsung.c \
405 samsung/mm-broadband-modem-samsung.h
406libmm_plugin_samsung_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
407libmm_plugin_samsung_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
408libmm_plugin_samsung_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
409
410# Cinterion (previously Siemens) modem
411libmm_plugin_cinterion_la_SOURCES = \
412 cinterion/mm-plugin-cinterion.c \
413 cinterion/mm-plugin-cinterion.h \
414 cinterion/mm-modem-helpers-cinterion.c \
415 cinterion/mm-modem-helpers-cinterion.h \
416 cinterion/mm-common-cinterion.c \
417 cinterion/mm-common-cinterion.h \
418 cinterion/mm-broadband-modem-cinterion.c \
419 cinterion/mm-broadband-modem-cinterion.h
420
421if WITH_QMI
422libmm_plugin_cinterion_la_SOURCES += \
423 cinterion/mm-broadband-modem-qmi-cinterion.c \
424 cinterion/mm-broadband-modem-qmi-cinterion.h
425endif
426
427libmm_plugin_cinterion_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
428libmm_plugin_cinterion_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
429
430udevrules_DATA += cinterion/77-mm-cinterion-port-types.rules
431
432noinst_PROGRAMS += test-modem-helpers-cinterion
433test_modem_helpers_cinterion_SOURCES = \
434 cinterion/mm-modem-helpers-cinterion.c \
435 cinterion/mm-modem-helpers-cinterion.h \
436 cinterion/tests/test-modem-helpers-cinterion.c
437test_modem_helpers_cinterion_CPPFLAGS = \
438 -I$(top_srcdir)/plugins/cinterion \
439 $(PLUGIN_COMMON_COMPILER_FLAGS)
440test_modem_helpers_cinterion_LDADD = \
441 $(top_builddir)/libmm-glib/libmm-glib.la \
442 $(top_builddir)/src/libmodem-helpers.la
443test_modem_helpers_cinterion_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
444
445# Iridium modem
446libmm_plugin_iridium_la_SOURCES = \
447 iridium/mm-plugin-iridium.c \
448 iridium/mm-plugin-iridium.h \
449 iridium/mm-broadband-modem-iridium.c \
450 iridium/mm-broadband-modem-iridium.h \
451 iridium/mm-bearer-iridium.c \
452 iridium/mm-bearer-iridium.h \
453 iridium/mm-sim-iridium.c \
454 iridium/mm-sim-iridium.h
455libmm_plugin_iridium_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
456libmm_plugin_iridium_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
457
458# Common Novatel modem support library
459noinst_LTLIBRARIES += libmm-utils-novatel.la
460libmm_utils_novatel_la_SOURCES = \
461 novatel/mm-common-novatel.c \
462 novatel/mm-common-novatel.h \
463 novatel/mm-broadband-modem-novatel.c \
464 novatel/mm-broadband-modem-novatel.h
465libmm_utils_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
466libmm_utils_novatel_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
467
468NOVATEL_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/novatel
469NOVATEL_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-novatel.la
470
471# Novatel LTE modem
472libmm_plugin_novatel_lte_la_SOURCES = \
473 novatel/mm-plugin-novatel-lte.c \
474 novatel/mm-plugin-novatel-lte.h \
475 novatel/mm-broadband-modem-novatel-lte.c \
476 novatel/mm-broadband-modem-novatel-lte.h \
477 novatel/mm-broadband-bearer-novatel-lte.c \
478 novatel/mm-broadband-bearer-novatel-lte.h \
479 novatel/mm-sim-novatel-lte.c \
480 novatel/mm-sim-novatel-lte.h
481libmm_plugin_novatel_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
482libmm_plugin_novatel_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
483
484# Novatel non-LTE modem
485libmm_plugin_novatel_la_SOURCES = \
486 novatel/mm-plugin-novatel.c \
487 novatel/mm-plugin-novatel.h
488libmm_plugin_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(NOVATEL_COMMON_COMPILER_FLAGS)
489libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
490libmm_plugin_novatel_la_LIBADD = $(NOVATEL_COMMON_LIBADD_FLAGS)
491
492# Altair LTE modem
493libmm_plugin_altair_lte_la_SOURCES = \
494 altair/mm-modem-helpers-altair-lte.c \
495 altair/mm-modem-helpers-altair-lte.h \
496 altair/mm-plugin-altair-lte.c \
497 altair/mm-plugin-altair-lte.h \
498 altair/mm-broadband-modem-altair-lte.c \
499 altair/mm-broadband-modem-altair-lte.h \
500 altair/mm-broadband-bearer-altair-lte.c \
501 altair/mm-broadband-bearer-altair-lte.h
502libmm_plugin_altair_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
503libmm_plugin_altair_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
504
505noinst_PROGRAMS += test-modem-helpers-altair-lte
506test_modem_helpers_altair_lte_SOURCES = \
507 altair/mm-modem-helpers-altair-lte.c \
508 altair/mm-modem-helpers-altair-lte.h \
509 altair/tests/test-modem-helpers-altair-lte.c
510test_modem_helpers_altair_lte_CPPFLAGS = \
511 -I$(top_srcdir)/plugins/altair \
512 $(PLUGIN_COMMON_COMPILER_FLAGS)
513test_modem_helpers_altair_lte_LDADD = $(top_builddir)/libmm-glib/libmm-glib.la
514test_modem_helpers_altair_lte_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
515
516
517# VIA modem
518libmm_plugin_via_la_SOURCES = \
519 via/mm-plugin-via.c \
520 via/mm-plugin-via.h \
521 via/mm-broadband-modem-via.c \
522 via/mm-broadband-modem-via.h
523libmm_plugin_via_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
524libmm_plugin_via_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
525
526# Telit modem
527libmm_plugin_telit_la_SOURCES = \
528 telit/mm-plugin-telit.c \
529 telit/mm-plugin-telit.h \
530 telit/mm-broadband-modem-telit.c \
531 telit/mm-broadband-modem-telit.h
532libmm_plugin_telit_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
533libmm_plugin_telit_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
534udevrules_DATA += telit/77-mm-telit-port-types.rules
535
536# MTK
537libmm_plugin_mtk_la_SOURCES = \
538 mtk/mm-plugin-mtk.c \
539 mtk/mm-plugin-mtk.h \
540 mtk/mm-broadband-modem-mtk.h \
541 mtk/mm-broadband-modem-mtk.c
542libmm_plugin_mtk_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
543libmm_plugin_mtk_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
544udevrules_DATA += mtk/77-mm-mtk-port-types.rules
545
546
547# Additional files to include in the distribution
548EXTRA_DIST += \
549 $(udevrules_DATA) \
550 tests/gsm-port.conf
551
552# Unit tests
553TEST_PROGS += $(noinst_PROGRAMS)
0554
=== added directory '.pc/new-sierra-legacy-plugin.patch/plugins/sierra'
=== added file '.pc/new-sierra-legacy-plugin.patch/plugins/sierra/mm-plugin-sierra-legacy.c'
=== added file '.pc/new-sierra-legacy-plugin.patch/plugins/sierra/mm-plugin-sierra-legacy.h'
=== added file '.pc/new-sierra-legacy-plugin.patch/plugins/sierra/mm-plugin-sierra.c'
--- .pc/new-sierra-legacy-plugin.patch/plugins/sierra/mm-plugin-sierra.c 1970-01-01 00:00:00 +0000
+++ .pc/new-sierra-legacy-plugin.patch/plugins/sierra/mm-plugin-sierra.c 2015-10-09 10:06:57 +0000
@@ -0,0 +1,129 @@
1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details:
12 *
13 * Copyright (C) 2008 - 2009 Novell, Inc.
14 * Copyright (C) 2009 - 2012 Red Hat, Inc.
15 * Copyright (C) 2012 Lanedo GmbH
16 */
17
18#include <stdlib.h>
19#include <gmodule.h>
20
21#define _LIBMM_INSIDE_MM
22#include <libmm-glib.h>
23
24#include "mm-log.h"
25#include "mm-plugin-sierra.h"
26#include "mm-common-sierra.h"
27#include "mm-broadband-modem-sierra.h"
28#include "mm-broadband-modem-sierra-icera.h"
29
30#if defined WITH_QMI
31#include "mm-broadband-modem-qmi.h"
32#endif
33
34#if defined WITH_MBIM
35#include "mm-broadband-modem-mbim.h"
36#endif
37
38G_DEFINE_TYPE (MMPluginSierra, mm_plugin_sierra, MM_TYPE_PLUGIN)
39
40int mm_plugin_major_version = MM_PLUGIN_MAJOR_VERSION;
41int mm_plugin_minor_version = MM_PLUGIN_MINOR_VERSION;
42
43/*****************************************************************************/
44
45static MMBaseModem *
46create_modem (MMPlugin *self,
47 const gchar *sysfs_path,
48 const gchar **drivers,
49 guint16 vendor,
50 guint16 product,
51 GList *probes,
52 GError **error)
53{
54#if defined WITH_QMI
55 if (mm_port_probe_list_has_qmi_port (probes)) {
56 mm_dbg ("QMI-powered Sierra modem found...");
57 return MM_BASE_MODEM (mm_broadband_modem_qmi_new (sysfs_path,
58 drivers,
59 mm_plugin_get_name (self),
60 vendor,
61 product));
62 }
63#endif
64
65#if defined WITH_MBIM
66 if (mm_port_probe_list_has_mbim_port (probes)) {
67 mm_dbg ("MBIM-powered Sierra modem found...");
68 return MM_BASE_MODEM (mm_broadband_modem_mbim_new (sysfs_path,
69 drivers,
70 mm_plugin_get_name (self),
71 vendor,
72 product));
73 }
74#endif
75
76 if (mm_common_sierra_port_probe_list_is_icera (probes))
77 return MM_BASE_MODEM (mm_broadband_modem_sierra_icera_new (sysfs_path,
78 drivers,
79 mm_plugin_get_name (self),
80 vendor,
81 product));
82
83 return MM_BASE_MODEM (mm_broadband_modem_sierra_new (sysfs_path,
84 drivers,
85 mm_plugin_get_name (self),
86 vendor,
87 product));
88}
89
90/*****************************************************************************/
91
92G_MODULE_EXPORT MMPlugin *
93mm_plugin_create (void)
94{
95 static const gchar *subsystems[] = { "tty", "net", "usb", NULL };
96 static const gchar *drivers[] = { "sierra", "sierra_net", NULL };
97 static const MMAsyncMethod custom_init = {
98 .async = G_CALLBACK (mm_common_sierra_custom_init),
99 .finish = G_CALLBACK (mm_common_sierra_custom_init_finish),
100 };
101
102 return MM_PLUGIN (
103 g_object_new (MM_TYPE_PLUGIN_SIERRA,
104 MM_PLUGIN_NAME, "Sierra",
105 MM_PLUGIN_ALLOWED_SUBSYSTEMS, subsystems,
106 MM_PLUGIN_ALLOWED_DRIVERS, drivers,
107 MM_PLUGIN_ALLOWED_AT, TRUE,
108 MM_PLUGIN_ALLOWED_QCDM, TRUE,
109 MM_PLUGIN_ALLOWED_QMI, TRUE,
110 MM_PLUGIN_ALLOWED_MBIM, TRUE,
111 MM_PLUGIN_CUSTOM_INIT, &custom_init,
112 MM_PLUGIN_ICERA_PROBE, TRUE,
113 MM_PLUGIN_REMOVE_ECHO, FALSE,
114 NULL));
115}
116
117static void
118mm_plugin_sierra_init (MMPluginSierra *self)
119{
120}
121
122static void
123mm_plugin_sierra_class_init (MMPluginSierraClass *klass)
124{
125 MMPluginClass *plugin_class = MM_PLUGIN_CLASS (klass);
126
127 plugin_class->create_modem = create_modem;
128 plugin_class->grab_port = mm_common_sierra_grab_port;
129}
0130
=== added directory '.pc/novatel-common-library.patch'
=== added directory '.pc/novatel-common-library.patch/plugins'
=== added file '.pc/novatel-common-library.patch/plugins/Makefile.am'
--- .pc/novatel-common-library.patch/plugins/Makefile.am 1970-01-01 00:00:00 +0000
+++ .pc/novatel-common-library.patch/plugins/Makefile.am 2015-10-09 10:06:57 +0000
@@ -0,0 +1,523 @@
1
2include $(top_srcdir)/gtester.make
3
4# Common CPPFLAGS and LDFLAGS
5
6PLUGIN_COMMON_COMPILER_FLAGS = \
7 $(MM_CFLAGS) \
8 $(GUDEV_CFLAGS) \
9 -I$(top_srcdir) \
10 -I$(top_srcdir)/src \
11 -I$(top_builddir)/src \
12 -I$(top_srcdir)/include \
13 -I$(top_builddir)/include \
14 -I$(top_srcdir)/libmm-glib \
15 -I$(top_srcdir)/libmm-glib/generated \
16 -I$(top_builddir)/libmm-glib/generated
17
18PLUGIN_COMMON_LINKER_FLAGS = \
19 $(GUDEV_LIBS) \
20 $(MM_LIBS) \
21 -module \
22 -avoid-version
23
24if WITH_QMI
25PLUGIN_COMMON_COMPILER_FLAGS += $(QMI_CFLAGS)
26PLUGIN_COMMON_LINKER_FLAGS += $(QMI_LIBS)
27endif
28
29if WITH_MBIM
30PLUGIN_COMMON_COMPILER_FLAGS += $(MBIM_CFLAGS)
31PLUGIN_COMMON_LINKER_FLAGS += $(MBIM_LIBS)
32endif
33
34# UDev rules
35udevrulesdir = $(UDEV_BASE_DIR)/rules.d
36udevrules_DATA =
37
38# Unit tests
39noinst_PROGRAMS =
40
41# Helper libs
42noinst_LTLIBRARIES =
43
44########################################
45
46# Common service test support
47
48noinst_LTLIBRARIES += libmm-test-common.la
49
50libmm_test_common_la_SOURCES = \
51 tests/test-fixture.h \
52 tests/test-fixture.c \
53 tests/test-port-context.h \
54 tests/test-port-context.c
55
56libmm_test_common_la_CPPFLAGS = \
57 $(MM_CFLAGS) \
58 -I$(top_srcdir)/include \
59 -I$(top_builddir)/include \
60 -I$(top_srcdir)/libmm-glib \
61 -I$(top_srcdir)/libmm-glib/generated \
62 -I$(top_builddir)/libmm-glib/generated \
63 -I$(top_builddir)/libmm-glib/generated/tests \
64 -DTEST_SERVICES=\""$(abs_top_builddir)/data/tests"\"
65
66libmm_test_common_la_LIBADD = \
67 ${top_builddir}/libmm-glib/generated/tests/libmm-test-generated.la \
68 $(top_builddir)/libmm-glib/libmm-glib.la
69
70TEST_COMMON_COMPILER_FLAGS = \
71 $(MM_CFLAGS) \
72 -I$(top_srcdir)/plugins/tests \
73 -I$(top_srcdir)/include \
74 -I$(top_builddir)/include \
75 -I$(top_srcdir)/libmm-glib \
76 -I$(top_srcdir)/libmm-glib/generated \
77 -I$(top_builddir)/libmm-glib/generated \
78 -I$(top_builddir)/libmm-glib/generated/tests \
79 -DCOMMON_GSM_PORT_CONF=\""$(abs_top_srcdir)/plugins/tests/gsm-port.conf"\"
80
81TEST_COMMON_LIBADD_FLAGS = \
82 $(builddir)/libmm-test-common.la \
83 $(top_builddir)/libmm-glib/libmm-glib.la
84
85
86########################################
87
88# Icera-specific support
89noinst_LTLIBRARIES += libmm-utils-icera.la
90libmm_utils_icera_la_SOURCES = \
91 icera/mm-broadband-modem-icera.h \
92 icera/mm-broadband-modem-icera.c \
93 icera/mm-broadband-bearer-icera.h \
94 icera/mm-broadband-bearer-icera.c \
95 icera/mm-modem-helpers-icera.c \
96 icera/mm-modem-helpers-icera.h
97libmm_utils_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
98libmm_utils_icera_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
99
100ICERA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/icera
101ICERA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-icera.la
102
103noinst_PROGRAMS += test-modem-helpers-icera
104test_modem_helpers_icera_SOURCES = \
105 icera/mm-modem-helpers-icera.c \
106 icera/mm-modem-helpers-icera.h \
107 icera/tests/test-modem-helpers-icera.c
108test_modem_helpers_icera_CPPFLAGS = \
109 -I$(top_srcdir)/plugins/icera \
110 $(PLUGIN_COMMON_COMPILER_FLAGS)
111test_modem_helpers_icera_LDADD = \
112 $(top_builddir)/libmm-glib/libmm-glib.la \
113 $(top_builddir)/src/libmodem-helpers.la
114test_modem_helpers_icera_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
115
116########################################
117
118pkglib_LTLIBRARIES = \
119 libmm-plugin-generic.la \
120 libmm-plugin-nokia.la \
121 libmm-plugin-nokia-icera.la \
122 libmm-plugin-cinterion.la \
123 libmm-plugin-iridium.la \
124 libmm-plugin-gobi.la \
125 libmm-plugin-motorola.la \
126 libmm-plugin-novatel.la \
127 libmm-plugin-novatel-lte.la \
128 libmm-plugin-altair-lte.la \
129 libmm-plugin-samsung.la \
130 libmm-plugin-option.la \
131 libmm-plugin-hso.la \
132 libmm-plugin-anydata.la \
133 libmm-plugin-linktop.la \
134 libmm-plugin-simtech.la \
135 libmm-plugin-wavecom.la \
136 libmm-plugin-huawei.la \
137 libmm-plugin-longcheer.la \
138 libmm-plugin-x22x.la \
139 libmm-plugin-pantech.la \
140 libmm-plugin-zte.la \
141 libmm-plugin-sierra.la \
142 libmm-plugin-mbm.la \
143 libmm-plugin-via.la \
144 libmm-plugin-telit.la \
145 libmm-plugin-mtk.la
146
147# Generic
148libmm_plugin_generic_la_SOURCES = \
149 generic/mm-plugin-generic.c \
150 generic/mm-plugin-generic.h
151libmm_plugin_generic_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
152libmm_plugin_generic_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
153
154noinst_PROGRAMS += test-service-generic
155test_service_generic_SOURCES = generic/tests/test-service-generic.c
156test_service_generic_CPPFLAGS = $(TEST_COMMON_COMPILER_FLAGS)
157test_service_generic_LDADD = $(TEST_COMMON_LIBADD_FLAGS)
158test_service_generic_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
159
160## Motorola
161libmm_plugin_motorola_la_SOURCES = \
162 motorola/mm-plugin-motorola.c \
163 motorola/mm-plugin-motorola.h \
164 motorola/mm-broadband-modem-motorola.c \
165 motorola/mm-broadband-modem-motorola.h
166libmm_plugin_motorola_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
167libmm_plugin_motorola_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
168
169# Gobi
170libmm_plugin_gobi_la_SOURCES = \
171 gobi/mm-plugin-gobi.c \
172 gobi/mm-plugin-gobi.h \
173 gobi/mm-broadband-modem-gobi.c \
174 gobi/mm-broadband-modem-gobi.h
175libmm_plugin_gobi_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
176libmm_plugin_gobi_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
177
178# Huawei
179libmm_plugin_huawei_la_SOURCES = \
180 huawei/mm-plugin-huawei.c \
181 huawei/mm-plugin-huawei.h \
182 huawei/mm-modem-helpers-huawei.c \
183 huawei/mm-modem-helpers-huawei.h \
184 huawei/mm-sim-huawei.c \
185 huawei/mm-sim-huawei.h \
186 huawei/mm-broadband-modem-huawei.c \
187 huawei/mm-broadband-modem-huawei.h \
188 huawei/mm-broadband-bearer-huawei.c \
189 huawei/mm-broadband-bearer-huawei.h
190libmm_plugin_huawei_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
191libmm_plugin_huawei_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
192
193udevrules_DATA += huawei/77-mm-huawei-net-port-types.rules
194
195noinst_PROGRAMS += test-modem-helpers-huawei
196test_modem_helpers_huawei_SOURCES = \
197 huawei/mm-modem-helpers-huawei.c \
198 huawei/mm-modem-helpers-huawei.h \
199 huawei/tests/test-modem-helpers-huawei.c
200test_modem_helpers_huawei_CPPFLAGS = \
201 -I$(top_srcdir)/plugins/huawei \
202 $(PLUGIN_COMMON_COMPILER_FLAGS)
203test_modem_helpers_huawei_LDADD = \
204 $(top_builddir)/libmm-glib/libmm-glib.la \
205 $(top_builddir)/src/libmodem-helpers.la
206test_modem_helpers_huawei_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
207
208# MBM
209libmm_plugin_mbm_la_SOURCES = \
210 mbm/mm-plugin-mbm.c \
211 mbm/mm-plugin-mbm.h \
212 mbm/mm-broadband-modem-mbm.c \
213 mbm/mm-broadband-modem-mbm.h \
214 mbm/mm-broadband-bearer-mbm.c \
215 mbm/mm-broadband-bearer-mbm.h \
216 mbm/mm-modem-helpers-mbm.c \
217 mbm/mm-modem-helpers-mbm.h \
218 mbm/mm-sim-mbm.c \
219 mbm/mm-sim-mbm.h
220libmm_plugin_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
221libmm_plugin_mbm_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
222udevrules_DATA += mbm/77-mm-ericsson-mbm.rules
223
224noinst_PROGRAMS += test-modem-helpers-mbm
225test_modem_helpers_mbm_SOURCES = \
226 mbm/mm-modem-helpers-mbm.c \
227 mbm/mm-modem-helpers-mbm.h \
228 mbm/tests/test-modem-helpers-mbm.c
229test_modem_helpers_mbm_CPPFLAGS = \
230 -I$(top_srcdir)/plugins/mbm \
231 $(PLUGIN_COMMON_COMPILER_FLAGS)
232test_modem_helpers_mbm_LDADD = \
233 $(top_builddir)/libmm-glib/libmm-glib.la \
234 $(top_builddir)/src/libmodem-helpers.la
235test_modem_helpers_mbm_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
236
237# Option
238libmm_plugin_option_la_SOURCES = \
239 option/mm-plugin-option.c \
240 option/mm-plugin-option.h \
241 option/mm-broadband-modem-option.c \
242 option/mm-broadband-modem-option.h
243libmm_plugin_option_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
244libmm_plugin_option_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
245
246# HSO
247libmm_plugin_hso_la_SOURCES = \
248 option/mm-plugin-hso.c \
249 option/mm-plugin-hso.h \
250 option/mm-broadband-modem-option.c \
251 option/mm-broadband-modem-option.h \
252 option/mm-broadband-bearer-hso.c \
253 option/mm-broadband-bearer-hso.h \
254 option/mm-broadband-modem-hso.c \
255 option/mm-broadband-modem-hso.h
256libmm_plugin_hso_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
257libmm_plugin_hso_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
258
259# Sierra
260libmm_plugin_sierra_la_SOURCES = \
261 sierra/mm-plugin-sierra.c \
262 sierra/mm-plugin-sierra.h \
263 sierra/mm-common-sierra.c \
264 sierra/mm-common-sierra.h \
265 sierra/mm-sim-sierra.c \
266 sierra/mm-sim-sierra.h \
267 sierra/mm-broadband-bearer-sierra.c \
268 sierra/mm-broadband-bearer-sierra.h \
269 sierra/mm-broadband-modem-sierra.c \
270 sierra/mm-broadband-modem-sierra.h \
271 sierra/mm-broadband-modem-sierra-icera.c \
272 sierra/mm-broadband-modem-sierra-icera.h
273libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
274libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
275libmm_plugin_sierra_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
276
277# Wavecom (Sierra Airlink)
278libmm_plugin_wavecom_la_SOURCES = \
279 wavecom/mm-plugin-wavecom.c \
280 wavecom/mm-plugin-wavecom.h \
281 wavecom/mm-broadband-modem-wavecom.c \
282 wavecom/mm-broadband-modem-wavecom.h
283libmm_plugin_wavecom_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
284libmm_plugin_wavecom_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
285
286# Nokia
287libmm_plugin_nokia_la_SOURCES = \
288 nokia/mm-plugin-nokia.c \
289 nokia/mm-plugin-nokia.h \
290 nokia/mm-sim-nokia.c \
291 nokia/mm-sim-nokia.h \
292 nokia/mm-broadband-modem-nokia.c \
293 nokia/mm-broadband-modem-nokia.h
294libmm_plugin_nokia_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
295libmm_plugin_nokia_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
296
297# Nokia (Icera)
298libmm_plugin_nokia_icera_la_SOURCES = \
299 nokia/mm-plugin-nokia-icera.c \
300 nokia/mm-plugin-nokia-icera.h
301libmm_plugin_nokia_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
302libmm_plugin_nokia_icera_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
303libmm_plugin_nokia_icera_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
304udevrules_DATA += nokia/77-mm-nokia-port-types.rules
305
306# Zte
307libmm_plugin_zte_la_SOURCES = \
308 zte/mm-plugin-zte.c \
309 zte/mm-plugin-zte.h \
310 zte/mm-common-zte.h \
311 zte/mm-common-zte.c \
312 zte/mm-broadband-modem-zte.h \
313 zte/mm-broadband-modem-zte.c \
314 zte/mm-broadband-modem-zte-icera.h \
315 zte/mm-broadband-modem-zte-icera.c
316libmm_plugin_zte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
317libmm_plugin_zte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
318libmm_plugin_zte_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
319udevrules_DATA += zte/77-mm-zte-port-types.rules
320
321# Longcheer (and rebranded dongles)
322libmm_plugin_longcheer_la_SOURCES = \
323 longcheer/mm-plugin-longcheer.c \
324 longcheer/mm-plugin-longcheer.h \
325 longcheer/mm-broadband-modem-longcheer.h \
326 longcheer/mm-broadband-modem-longcheer.c
327libmm_plugin_longcheer_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
328libmm_plugin_longcheer_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
329udevrules_DATA += longcheer/77-mm-longcheer-port-types.rules
330
331# AnyData CDMA
332libmm_plugin_anydata_la_SOURCES = \
333 anydata/mm-plugin-anydata.c \
334 anydata/mm-plugin-anydata.h \
335 anydata/mm-broadband-modem-anydata.h \
336 anydata/mm-broadband-modem-anydata.c
337libmm_plugin_anydata_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
338libmm_plugin_anydata_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
339
340# Linktop CDMA
341libmm_plugin_linktop_la_SOURCES = \
342 linktop/mm-plugin-linktop.c \
343 linktop/mm-plugin-linktop.h \
344 linktop/mm-broadband-modem-linktop.h \
345 linktop/mm-broadband-modem-linktop.c
346libmm_plugin_linktop_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
347libmm_plugin_linktop_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
348
349# SimTech
350libmm_plugin_simtech_la_SOURCES = \
351 simtech/mm-plugin-simtech.c \
352 simtech/mm-plugin-simtech.h \
353 simtech/mm-broadband-modem-simtech.h \
354 simtech/mm-broadband-modem-simtech.c
355libmm_plugin_simtech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
356libmm_plugin_simtech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
357udevrules_DATA += simtech/77-mm-simtech-port-types.rules
358
359# Alcatel/TCT/JRD x220D and possibly others
360libmm_plugin_x22x_la_SOURCES = \
361 x22x/mm-plugin-x22x.c \
362 x22x/mm-plugin-x22x.h \
363 x22x/mm-broadband-modem-x22x.h \
364 x22x/mm-broadband-modem-x22x.c
365libmm_plugin_x22x_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
366libmm_plugin_x22x_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
367udevrules_DATA += x22x/77-mm-x22x-port-types.rules
368
369# Pantech
370libmm_plugin_pantech_la_SOURCES = \
371 pantech/mm-plugin-pantech.c \
372 pantech/mm-plugin-pantech.h \
373 pantech/mm-sim-pantech.c \
374 pantech/mm-sim-pantech.h \
375 pantech/mm-broadband-modem-pantech.c \
376 pantech/mm-broadband-modem-pantech.h
377libmm_plugin_pantech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
378libmm_plugin_pantech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
379
380# Samsung modem
381libmm_plugin_samsung_la_SOURCES = \
382 samsung/mm-plugin-samsung.c \
383 samsung/mm-plugin-samsung.h \
384 samsung/mm-broadband-modem-samsung.c \
385 samsung/mm-broadband-modem-samsung.h
386libmm_plugin_samsung_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
387libmm_plugin_samsung_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
388libmm_plugin_samsung_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
389
390# Cinterion (previously Siemens) modem
391libmm_plugin_cinterion_la_SOURCES = \
392 cinterion/mm-plugin-cinterion.c \
393 cinterion/mm-plugin-cinterion.h \
394 cinterion/mm-modem-helpers-cinterion.c \
395 cinterion/mm-modem-helpers-cinterion.h \
396 cinterion/mm-common-cinterion.c \
397 cinterion/mm-common-cinterion.h \
398 cinterion/mm-broadband-modem-cinterion.c \
399 cinterion/mm-broadband-modem-cinterion.h
400
401if WITH_QMI
402libmm_plugin_cinterion_la_SOURCES += \
403 cinterion/mm-broadband-modem-qmi-cinterion.c \
404 cinterion/mm-broadband-modem-qmi-cinterion.h
405endif
406
407libmm_plugin_cinterion_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
408libmm_plugin_cinterion_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
409
410udevrules_DATA += cinterion/77-mm-cinterion-port-types.rules
411
412noinst_PROGRAMS += test-modem-helpers-cinterion
413test_modem_helpers_cinterion_SOURCES = \
414 cinterion/mm-modem-helpers-cinterion.c \
415 cinterion/mm-modem-helpers-cinterion.h \
416 cinterion/tests/test-modem-helpers-cinterion.c
417test_modem_helpers_cinterion_CPPFLAGS = \
418 -I$(top_srcdir)/plugins/cinterion \
419 $(PLUGIN_COMMON_COMPILER_FLAGS)
420test_modem_helpers_cinterion_LDADD = \
421 $(top_builddir)/libmm-glib/libmm-glib.la \
422 $(top_builddir)/src/libmodem-helpers.la
423test_modem_helpers_cinterion_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
424
425# Iridium modem
426libmm_plugin_iridium_la_SOURCES = \
427 iridium/mm-plugin-iridium.c \
428 iridium/mm-plugin-iridium.h \
429 iridium/mm-broadband-modem-iridium.c \
430 iridium/mm-broadband-modem-iridium.h \
431 iridium/mm-bearer-iridium.c \
432 iridium/mm-bearer-iridium.h \
433 iridium/mm-sim-iridium.c \
434 iridium/mm-sim-iridium.h
435libmm_plugin_iridium_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
436libmm_plugin_iridium_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
437
438# Novatel LTE modem
439libmm_plugin_novatel_lte_la_SOURCES = \
440 novatel/mm-plugin-novatel-lte.c \
441 novatel/mm-plugin-novatel-lte.h \
442 novatel/mm-broadband-modem-novatel-lte.c \
443 novatel/mm-broadband-modem-novatel-lte.h \
444 novatel/mm-broadband-bearer-novatel-lte.c \
445 novatel/mm-broadband-bearer-novatel-lte.h \
446 novatel/mm-sim-novatel-lte.c \
447 novatel/mm-sim-novatel-lte.h
448libmm_plugin_novatel_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
449libmm_plugin_novatel_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
450
451# Novatel non-LTE modem
452libmm_plugin_novatel_la_SOURCES = \
453 novatel/mm-plugin-novatel.c \
454 novatel/mm-plugin-novatel.h \
455 novatel/mm-common-novatel.c \
456 novatel/mm-common-novatel.h \
457 novatel/mm-broadband-modem-novatel.c \
458 novatel/mm-broadband-modem-novatel.h
459libmm_plugin_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
460libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
461
462# Altair LTE modem
463libmm_plugin_altair_lte_la_SOURCES = \
464 altair/mm-modem-helpers-altair-lte.c \
465 altair/mm-modem-helpers-altair-lte.h \
466 altair/mm-plugin-altair-lte.c \
467 altair/mm-plugin-altair-lte.h \
468 altair/mm-broadband-modem-altair-lte.c \
469 altair/mm-broadband-modem-altair-lte.h \
470 altair/mm-broadband-bearer-altair-lte.c \
471 altair/mm-broadband-bearer-altair-lte.h
472libmm_plugin_altair_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
473libmm_plugin_altair_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
474
475noinst_PROGRAMS += test-modem-helpers-altair-lte
476test_modem_helpers_altair_lte_SOURCES = \
477 altair/mm-modem-helpers-altair-lte.c \
478 altair/mm-modem-helpers-altair-lte.h \
479 altair/tests/test-modem-helpers-altair-lte.c
480test_modem_helpers_altair_lte_CPPFLAGS = \
481 -I$(top_srcdir)/plugins/altair \
482 $(PLUGIN_COMMON_COMPILER_FLAGS)
483test_modem_helpers_altair_lte_LDADD = $(top_builddir)/libmm-glib/libmm-glib.la
484test_modem_helpers_altair_lte_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
485
486
487# VIA modem
488libmm_plugin_via_la_SOURCES = \
489 via/mm-plugin-via.c \
490 via/mm-plugin-via.h \
491 via/mm-broadband-modem-via.c \
492 via/mm-broadband-modem-via.h
493libmm_plugin_via_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
494libmm_plugin_via_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
495
496# Telit modem
497libmm_plugin_telit_la_SOURCES = \
498 telit/mm-plugin-telit.c \
499 telit/mm-plugin-telit.h \
500 telit/mm-broadband-modem-telit.c \
501 telit/mm-broadband-modem-telit.h
502libmm_plugin_telit_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
503libmm_plugin_telit_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
504udevrules_DATA += telit/77-mm-telit-port-types.rules
505
506# MTK
507libmm_plugin_mtk_la_SOURCES = \
508 mtk/mm-plugin-mtk.c \
509 mtk/mm-plugin-mtk.h \
510 mtk/mm-broadband-modem-mtk.h \
511 mtk/mm-broadband-modem-mtk.c
512libmm_plugin_mtk_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
513libmm_plugin_mtk_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
514udevrules_DATA += mtk/77-mm-mtk-port-types.rules
515
516
517# Additional files to include in the distribution
518EXTRA_DIST += \
519 $(udevrules_DATA) \
520 tests/gsm-port.conf
521
522# Unit tests
523TEST_PROGS += $(noinst_PROGRAMS)
0524
=== added directory '.pc/novatel-custom-init.patch'
=== added directory '.pc/novatel-custom-init.patch/plugins'
=== added file '.pc/novatel-custom-init.patch/plugins/Makefile.am'
--- .pc/novatel-custom-init.patch/plugins/Makefile.am 1970-01-01 00:00:00 +0000
+++ .pc/novatel-custom-init.patch/plugins/Makefile.am 2015-10-09 10:06:57 +0000
@@ -0,0 +1,521 @@
1
2include $(top_srcdir)/gtester.make
3
4# Common CPPFLAGS and LDFLAGS
5
6PLUGIN_COMMON_COMPILER_FLAGS = \
7 $(MM_CFLAGS) \
8 $(GUDEV_CFLAGS) \
9 -I$(top_srcdir) \
10 -I$(top_srcdir)/src \
11 -I$(top_builddir)/src \
12 -I$(top_srcdir)/include \
13 -I$(top_builddir)/include \
14 -I$(top_srcdir)/libmm-glib \
15 -I$(top_srcdir)/libmm-glib/generated \
16 -I$(top_builddir)/libmm-glib/generated
17
18PLUGIN_COMMON_LINKER_FLAGS = \
19 $(GUDEV_LIBS) \
20 $(MM_LIBS) \
21 -module \
22 -avoid-version
23
24if WITH_QMI
25PLUGIN_COMMON_COMPILER_FLAGS += $(QMI_CFLAGS)
26PLUGIN_COMMON_LINKER_FLAGS += $(QMI_LIBS)
27endif
28
29if WITH_MBIM
30PLUGIN_COMMON_COMPILER_FLAGS += $(MBIM_CFLAGS)
31PLUGIN_COMMON_LINKER_FLAGS += $(MBIM_LIBS)
32endif
33
34# UDev rules
35udevrulesdir = $(UDEV_BASE_DIR)/rules.d
36udevrules_DATA =
37
38# Unit tests
39noinst_PROGRAMS =
40
41# Helper libs
42noinst_LTLIBRARIES =
43
44########################################
45
46# Common service test support
47
48noinst_LTLIBRARIES += libmm-test-common.la
49
50libmm_test_common_la_SOURCES = \
51 tests/test-fixture.h \
52 tests/test-fixture.c \
53 tests/test-port-context.h \
54 tests/test-port-context.c
55
56libmm_test_common_la_CPPFLAGS = \
57 $(MM_CFLAGS) \
58 -I$(top_srcdir)/include \
59 -I$(top_builddir)/include \
60 -I$(top_srcdir)/libmm-glib \
61 -I$(top_srcdir)/libmm-glib/generated \
62 -I$(top_builddir)/libmm-glib/generated \
63 -I$(top_builddir)/libmm-glib/generated/tests \
64 -DTEST_SERVICES=\""$(abs_top_builddir)/data/tests"\"
65
66libmm_test_common_la_LIBADD = \
67 ${top_builddir}/libmm-glib/generated/tests/libmm-test-generated.la \
68 $(top_builddir)/libmm-glib/libmm-glib.la
69
70TEST_COMMON_COMPILER_FLAGS = \
71 $(MM_CFLAGS) \
72 -I$(top_srcdir)/plugins/tests \
73 -I$(top_srcdir)/include \
74 -I$(top_builddir)/include \
75 -I$(top_srcdir)/libmm-glib \
76 -I$(top_srcdir)/libmm-glib/generated \
77 -I$(top_builddir)/libmm-glib/generated \
78 -I$(top_builddir)/libmm-glib/generated/tests \
79 -DCOMMON_GSM_PORT_CONF=\""$(abs_top_srcdir)/plugins/tests/gsm-port.conf"\"
80
81TEST_COMMON_LIBADD_FLAGS = \
82 $(builddir)/libmm-test-common.la \
83 $(top_builddir)/libmm-glib/libmm-glib.la
84
85
86########################################
87
88# Icera-specific support
89noinst_LTLIBRARIES += libmm-utils-icera.la
90libmm_utils_icera_la_SOURCES = \
91 icera/mm-broadband-modem-icera.h \
92 icera/mm-broadband-modem-icera.c \
93 icera/mm-broadband-bearer-icera.h \
94 icera/mm-broadband-bearer-icera.c \
95 icera/mm-modem-helpers-icera.c \
96 icera/mm-modem-helpers-icera.h
97libmm_utils_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
98libmm_utils_icera_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
99
100ICERA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/icera
101ICERA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-icera.la
102
103noinst_PROGRAMS += test-modem-helpers-icera
104test_modem_helpers_icera_SOURCES = \
105 icera/mm-modem-helpers-icera.c \
106 icera/mm-modem-helpers-icera.h \
107 icera/tests/test-modem-helpers-icera.c
108test_modem_helpers_icera_CPPFLAGS = \
109 -I$(top_srcdir)/plugins/icera \
110 $(PLUGIN_COMMON_COMPILER_FLAGS)
111test_modem_helpers_icera_LDADD = \
112 $(top_builddir)/libmm-glib/libmm-glib.la \
113 $(top_builddir)/src/libmodem-helpers.la
114test_modem_helpers_icera_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
115
116########################################
117
118pkglib_LTLIBRARIES = \
119 libmm-plugin-generic.la \
120 libmm-plugin-nokia.la \
121 libmm-plugin-nokia-icera.la \
122 libmm-plugin-cinterion.la \
123 libmm-plugin-iridium.la \
124 libmm-plugin-gobi.la \
125 libmm-plugin-motorola.la \
126 libmm-plugin-novatel.la \
127 libmm-plugin-novatel-lte.la \
128 libmm-plugin-altair-lte.la \
129 libmm-plugin-samsung.la \
130 libmm-plugin-option.la \
131 libmm-plugin-hso.la \
132 libmm-plugin-anydata.la \
133 libmm-plugin-linktop.la \
134 libmm-plugin-simtech.la \
135 libmm-plugin-wavecom.la \
136 libmm-plugin-huawei.la \
137 libmm-plugin-longcheer.la \
138 libmm-plugin-x22x.la \
139 libmm-plugin-pantech.la \
140 libmm-plugin-zte.la \
141 libmm-plugin-sierra.la \
142 libmm-plugin-mbm.la \
143 libmm-plugin-via.la \
144 libmm-plugin-telit.la \
145 libmm-plugin-mtk.la
146
147# Generic
148libmm_plugin_generic_la_SOURCES = \
149 generic/mm-plugin-generic.c \
150 generic/mm-plugin-generic.h
151libmm_plugin_generic_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
152libmm_plugin_generic_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
153
154noinst_PROGRAMS += test-service-generic
155test_service_generic_SOURCES = generic/tests/test-service-generic.c
156test_service_generic_CPPFLAGS = $(TEST_COMMON_COMPILER_FLAGS)
157test_service_generic_LDADD = $(TEST_COMMON_LIBADD_FLAGS)
158test_service_generic_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
159
160## Motorola
161libmm_plugin_motorola_la_SOURCES = \
162 motorola/mm-plugin-motorola.c \
163 motorola/mm-plugin-motorola.h \
164 motorola/mm-broadband-modem-motorola.c \
165 motorola/mm-broadband-modem-motorola.h
166libmm_plugin_motorola_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
167libmm_plugin_motorola_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
168
169# Gobi
170libmm_plugin_gobi_la_SOURCES = \
171 gobi/mm-plugin-gobi.c \
172 gobi/mm-plugin-gobi.h \
173 gobi/mm-broadband-modem-gobi.c \
174 gobi/mm-broadband-modem-gobi.h
175libmm_plugin_gobi_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
176libmm_plugin_gobi_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
177
178# Huawei
179libmm_plugin_huawei_la_SOURCES = \
180 huawei/mm-plugin-huawei.c \
181 huawei/mm-plugin-huawei.h \
182 huawei/mm-modem-helpers-huawei.c \
183 huawei/mm-modem-helpers-huawei.h \
184 huawei/mm-sim-huawei.c \
185 huawei/mm-sim-huawei.h \
186 huawei/mm-broadband-modem-huawei.c \
187 huawei/mm-broadband-modem-huawei.h \
188 huawei/mm-broadband-bearer-huawei.c \
189 huawei/mm-broadband-bearer-huawei.h
190libmm_plugin_huawei_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
191libmm_plugin_huawei_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
192
193udevrules_DATA += huawei/77-mm-huawei-net-port-types.rules
194
195noinst_PROGRAMS += test-modem-helpers-huawei
196test_modem_helpers_huawei_SOURCES = \
197 huawei/mm-modem-helpers-huawei.c \
198 huawei/mm-modem-helpers-huawei.h \
199 huawei/tests/test-modem-helpers-huawei.c
200test_modem_helpers_huawei_CPPFLAGS = \
201 -I$(top_srcdir)/plugins/huawei \
202 $(PLUGIN_COMMON_COMPILER_FLAGS)
203test_modem_helpers_huawei_LDADD = \
204 $(top_builddir)/libmm-glib/libmm-glib.la \
205 $(top_builddir)/src/libmodem-helpers.la
206test_modem_helpers_huawei_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
207
208# MBM
209libmm_plugin_mbm_la_SOURCES = \
210 mbm/mm-plugin-mbm.c \
211 mbm/mm-plugin-mbm.h \
212 mbm/mm-broadband-modem-mbm.c \
213 mbm/mm-broadband-modem-mbm.h \
214 mbm/mm-broadband-bearer-mbm.c \
215 mbm/mm-broadband-bearer-mbm.h \
216 mbm/mm-modem-helpers-mbm.c \
217 mbm/mm-modem-helpers-mbm.h \
218 mbm/mm-sim-mbm.c \
219 mbm/mm-sim-mbm.h
220libmm_plugin_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
221libmm_plugin_mbm_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
222udevrules_DATA += mbm/77-mm-ericsson-mbm.rules
223
224noinst_PROGRAMS += test-modem-helpers-mbm
225test_modem_helpers_mbm_SOURCES = \
226 mbm/mm-modem-helpers-mbm.c \
227 mbm/mm-modem-helpers-mbm.h \
228 mbm/tests/test-modem-helpers-mbm.c
229test_modem_helpers_mbm_CPPFLAGS = \
230 -I$(top_srcdir)/plugins/mbm \
231 $(PLUGIN_COMMON_COMPILER_FLAGS)
232test_modem_helpers_mbm_LDADD = \
233 $(top_builddir)/libmm-glib/libmm-glib.la \
234 $(top_builddir)/src/libmodem-helpers.la
235test_modem_helpers_mbm_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
236
237# Option
238libmm_plugin_option_la_SOURCES = \
239 option/mm-plugin-option.c \
240 option/mm-plugin-option.h \
241 option/mm-broadband-modem-option.c \
242 option/mm-broadband-modem-option.h
243libmm_plugin_option_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
244libmm_plugin_option_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
245
246# HSO
247libmm_plugin_hso_la_SOURCES = \
248 option/mm-plugin-hso.c \
249 option/mm-plugin-hso.h \
250 option/mm-broadband-modem-option.c \
251 option/mm-broadband-modem-option.h \
252 option/mm-broadband-bearer-hso.c \
253 option/mm-broadband-bearer-hso.h \
254 option/mm-broadband-modem-hso.c \
255 option/mm-broadband-modem-hso.h
256libmm_plugin_hso_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
257libmm_plugin_hso_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
258
259# Sierra
260libmm_plugin_sierra_la_SOURCES = \
261 sierra/mm-plugin-sierra.c \
262 sierra/mm-plugin-sierra.h \
263 sierra/mm-common-sierra.c \
264 sierra/mm-common-sierra.h \
265 sierra/mm-sim-sierra.c \
266 sierra/mm-sim-sierra.h \
267 sierra/mm-broadband-bearer-sierra.c \
268 sierra/mm-broadband-bearer-sierra.h \
269 sierra/mm-broadband-modem-sierra.c \
270 sierra/mm-broadband-modem-sierra.h \
271 sierra/mm-broadband-modem-sierra-icera.c \
272 sierra/mm-broadband-modem-sierra-icera.h
273libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
274libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
275libmm_plugin_sierra_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
276
277# Wavecom (Sierra Airlink)
278libmm_plugin_wavecom_la_SOURCES = \
279 wavecom/mm-plugin-wavecom.c \
280 wavecom/mm-plugin-wavecom.h \
281 wavecom/mm-broadband-modem-wavecom.c \
282 wavecom/mm-broadband-modem-wavecom.h
283libmm_plugin_wavecom_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
284libmm_plugin_wavecom_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
285
286# Nokia
287libmm_plugin_nokia_la_SOURCES = \
288 nokia/mm-plugin-nokia.c \
289 nokia/mm-plugin-nokia.h \
290 nokia/mm-sim-nokia.c \
291 nokia/mm-sim-nokia.h \
292 nokia/mm-broadband-modem-nokia.c \
293 nokia/mm-broadband-modem-nokia.h
294libmm_plugin_nokia_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
295libmm_plugin_nokia_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
296
297# Nokia (Icera)
298libmm_plugin_nokia_icera_la_SOURCES = \
299 nokia/mm-plugin-nokia-icera.c \
300 nokia/mm-plugin-nokia-icera.h
301libmm_plugin_nokia_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
302libmm_plugin_nokia_icera_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
303libmm_plugin_nokia_icera_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
304udevrules_DATA += nokia/77-mm-nokia-port-types.rules
305
306# Zte
307libmm_plugin_zte_la_SOURCES = \
308 zte/mm-plugin-zte.c \
309 zte/mm-plugin-zte.h \
310 zte/mm-common-zte.h \
311 zte/mm-common-zte.c \
312 zte/mm-broadband-modem-zte.h \
313 zte/mm-broadband-modem-zte.c \
314 zte/mm-broadband-modem-zte-icera.h \
315 zte/mm-broadband-modem-zte-icera.c
316libmm_plugin_zte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
317libmm_plugin_zte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
318libmm_plugin_zte_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
319udevrules_DATA += zte/77-mm-zte-port-types.rules
320
321# Longcheer (and rebranded dongles)
322libmm_plugin_longcheer_la_SOURCES = \
323 longcheer/mm-plugin-longcheer.c \
324 longcheer/mm-plugin-longcheer.h \
325 longcheer/mm-broadband-modem-longcheer.h \
326 longcheer/mm-broadband-modem-longcheer.c
327libmm_plugin_longcheer_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
328libmm_plugin_longcheer_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
329udevrules_DATA += longcheer/77-mm-longcheer-port-types.rules
330
331# AnyData CDMA
332libmm_plugin_anydata_la_SOURCES = \
333 anydata/mm-plugin-anydata.c \
334 anydata/mm-plugin-anydata.h \
335 anydata/mm-broadband-modem-anydata.h \
336 anydata/mm-broadband-modem-anydata.c
337libmm_plugin_anydata_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
338libmm_plugin_anydata_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
339
340# Linktop CDMA
341libmm_plugin_linktop_la_SOURCES = \
342 linktop/mm-plugin-linktop.c \
343 linktop/mm-plugin-linktop.h \
344 linktop/mm-broadband-modem-linktop.h \
345 linktop/mm-broadband-modem-linktop.c
346libmm_plugin_linktop_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
347libmm_plugin_linktop_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
348
349# SimTech
350libmm_plugin_simtech_la_SOURCES = \
351 simtech/mm-plugin-simtech.c \
352 simtech/mm-plugin-simtech.h \
353 simtech/mm-broadband-modem-simtech.h \
354 simtech/mm-broadband-modem-simtech.c
355libmm_plugin_simtech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
356libmm_plugin_simtech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
357udevrules_DATA += simtech/77-mm-simtech-port-types.rules
358
359# Alcatel/TCT/JRD x220D and possibly others
360libmm_plugin_x22x_la_SOURCES = \
361 x22x/mm-plugin-x22x.c \
362 x22x/mm-plugin-x22x.h \
363 x22x/mm-broadband-modem-x22x.h \
364 x22x/mm-broadband-modem-x22x.c
365libmm_plugin_x22x_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
366libmm_plugin_x22x_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
367udevrules_DATA += x22x/77-mm-x22x-port-types.rules
368
369# Pantech
370libmm_plugin_pantech_la_SOURCES = \
371 pantech/mm-plugin-pantech.c \
372 pantech/mm-plugin-pantech.h \
373 pantech/mm-sim-pantech.c \
374 pantech/mm-sim-pantech.h \
375 pantech/mm-broadband-modem-pantech.c \
376 pantech/mm-broadband-modem-pantech.h
377libmm_plugin_pantech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
378libmm_plugin_pantech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
379
380# Samsung modem
381libmm_plugin_samsung_la_SOURCES = \
382 samsung/mm-plugin-samsung.c \
383 samsung/mm-plugin-samsung.h \
384 samsung/mm-broadband-modem-samsung.c \
385 samsung/mm-broadband-modem-samsung.h
386libmm_plugin_samsung_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
387libmm_plugin_samsung_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
388libmm_plugin_samsung_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
389
390# Cinterion (previously Siemens) modem
391libmm_plugin_cinterion_la_SOURCES = \
392 cinterion/mm-plugin-cinterion.c \
393 cinterion/mm-plugin-cinterion.h \
394 cinterion/mm-modem-helpers-cinterion.c \
395 cinterion/mm-modem-helpers-cinterion.h \
396 cinterion/mm-common-cinterion.c \
397 cinterion/mm-common-cinterion.h \
398 cinterion/mm-broadband-modem-cinterion.c \
399 cinterion/mm-broadband-modem-cinterion.h
400
401if WITH_QMI
402libmm_plugin_cinterion_la_SOURCES += \
403 cinterion/mm-broadband-modem-qmi-cinterion.c \
404 cinterion/mm-broadband-modem-qmi-cinterion.h
405endif
406
407libmm_plugin_cinterion_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
408libmm_plugin_cinterion_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
409
410udevrules_DATA += cinterion/77-mm-cinterion-port-types.rules
411
412noinst_PROGRAMS += test-modem-helpers-cinterion
413test_modem_helpers_cinterion_SOURCES = \
414 cinterion/mm-modem-helpers-cinterion.c \
415 cinterion/mm-modem-helpers-cinterion.h \
416 cinterion/tests/test-modem-helpers-cinterion.c
417test_modem_helpers_cinterion_CPPFLAGS = \
418 -I$(top_srcdir)/plugins/cinterion \
419 $(PLUGIN_COMMON_COMPILER_FLAGS)
420test_modem_helpers_cinterion_LDADD = \
421 $(top_builddir)/libmm-glib/libmm-glib.la \
422 $(top_builddir)/src/libmodem-helpers.la
423test_modem_helpers_cinterion_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
424
425# Iridium modem
426libmm_plugin_iridium_la_SOURCES = \
427 iridium/mm-plugin-iridium.c \
428 iridium/mm-plugin-iridium.h \
429 iridium/mm-broadband-modem-iridium.c \
430 iridium/mm-broadband-modem-iridium.h \
431 iridium/mm-bearer-iridium.c \
432 iridium/mm-bearer-iridium.h \
433 iridium/mm-sim-iridium.c \
434 iridium/mm-sim-iridium.h
435libmm_plugin_iridium_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
436libmm_plugin_iridium_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
437
438# Novatel LTE modem
439libmm_plugin_novatel_lte_la_SOURCES = \
440 novatel/mm-plugin-novatel-lte.c \
441 novatel/mm-plugin-novatel-lte.h \
442 novatel/mm-broadband-modem-novatel-lte.c \
443 novatel/mm-broadband-modem-novatel-lte.h \
444 novatel/mm-broadband-bearer-novatel-lte.c \
445 novatel/mm-broadband-bearer-novatel-lte.h \
446 novatel/mm-sim-novatel-lte.c \
447 novatel/mm-sim-novatel-lte.h
448libmm_plugin_novatel_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
449libmm_plugin_novatel_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
450
451# Novatel non-LTE modem
452libmm_plugin_novatel_la_SOURCES = \
453 novatel/mm-plugin-novatel.c \
454 novatel/mm-plugin-novatel.h \
455 novatel/mm-broadband-modem-novatel.c \
456 novatel/mm-broadband-modem-novatel.h
457libmm_plugin_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
458libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
459
460# Altair LTE modem
461libmm_plugin_altair_lte_la_SOURCES = \
462 altair/mm-modem-helpers-altair-lte.c \
463 altair/mm-modem-helpers-altair-lte.h \
464 altair/mm-plugin-altair-lte.c \
465 altair/mm-plugin-altair-lte.h \
466 altair/mm-broadband-modem-altair-lte.c \
467 altair/mm-broadband-modem-altair-lte.h \
468 altair/mm-broadband-bearer-altair-lte.c \
469 altair/mm-broadband-bearer-altair-lte.h
470libmm_plugin_altair_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
471libmm_plugin_altair_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
472
473noinst_PROGRAMS += test-modem-helpers-altair-lte
474test_modem_helpers_altair_lte_SOURCES = \
475 altair/mm-modem-helpers-altair-lte.c \
476 altair/mm-modem-helpers-altair-lte.h \
477 altair/tests/test-modem-helpers-altair-lte.c
478test_modem_helpers_altair_lte_CPPFLAGS = \
479 -I$(top_srcdir)/plugins/altair \
480 $(PLUGIN_COMMON_COMPILER_FLAGS)
481test_modem_helpers_altair_lte_LDADD = $(top_builddir)/libmm-glib/libmm-glib.la
482test_modem_helpers_altair_lte_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
483
484
485# VIA modem
486libmm_plugin_via_la_SOURCES = \
487 via/mm-plugin-via.c \
488 via/mm-plugin-via.h \
489 via/mm-broadband-modem-via.c \
490 via/mm-broadband-modem-via.h
491libmm_plugin_via_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
492libmm_plugin_via_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
493
494# Telit modem
495libmm_plugin_telit_la_SOURCES = \
496 telit/mm-plugin-telit.c \
497 telit/mm-plugin-telit.h \
498 telit/mm-broadband-modem-telit.c \
499 telit/mm-broadband-modem-telit.h
500libmm_plugin_telit_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
501libmm_plugin_telit_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
502udevrules_DATA += telit/77-mm-telit-port-types.rules
503
504# MTK
505libmm_plugin_mtk_la_SOURCES = \
506 mtk/mm-plugin-mtk.c \
507 mtk/mm-plugin-mtk.h \
508 mtk/mm-broadband-modem-mtk.h \
509 mtk/mm-broadband-modem-mtk.c
510libmm_plugin_mtk_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
511libmm_plugin_mtk_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
512udevrules_DATA += mtk/77-mm-mtk-port-types.rules
513
514
515# Additional files to include in the distribution
516EXTRA_DIST += \
517 $(udevrules_DATA) \
518 tests/gsm-port.conf
519
520# Unit tests
521TEST_PROGS += $(noinst_PROGRAMS)
0522
=== added directory '.pc/novatel-custom-init.patch/plugins/novatel'
=== added file '.pc/novatel-custom-init.patch/plugins/novatel/mm-common-novatel.c'
=== added file '.pc/novatel-custom-init.patch/plugins/novatel/mm-common-novatel.h'
=== added file '.pc/novatel-custom-init.patch/plugins/novatel/mm-plugin-novatel.c'
--- .pc/novatel-custom-init.patch/plugins/novatel/mm-plugin-novatel.c 1970-01-01 00:00:00 +0000
+++ .pc/novatel-custom-init.patch/plugins/novatel/mm-plugin-novatel.c 2015-10-09 10:06:57 +0000
@@ -0,0 +1,267 @@
1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
3/*
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation; either version 2 of the
7 * License, or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public
15 * License along with this program; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
18 *
19 * Copyright (C) 2008 - 2009 Novell, Inc.
20 * Copyright (C) 2009 - 2012 Red Hat, Inc.
21 * Copyright (C) 2012 Aleksander Morgado <aleksander@gnu.org>
22 */
23
24#include <string.h>
25#include <gmodule.h>
26
27#define _LIBMM_INSIDE_MM
28#include <libmm-glib.h>
29
30#include "mm-plugin-novatel.h"
31#include "mm-private-boxed-types.h"
32#include "mm-broadband-modem-novatel.h"
33#include "mm-log.h"
34
35#if defined WITH_QMI
36#include "mm-broadband-modem-qmi.h"
37#endif
38
39G_DEFINE_TYPE (MMPluginNovatel, mm_plugin_novatel, MM_TYPE_PLUGIN)
40
41int mm_plugin_major_version = MM_PLUGIN_MAJOR_VERSION;
42int mm_plugin_minor_version = MM_PLUGIN_MINOR_VERSION;
43
44/*****************************************************************************/
45/* Custom commands for AT probing */
46
47/* We need to explicitly flip secondary ports to AT mode.
48 * We also use this command also for checking AT support in the current port.
49 */
50static const MMPortProbeAtCommand custom_at_probe[] = {
51 { "$NWDMAT=1", 3, mm_port_probe_response_processor_is_at },
52 { "$NWDMAT=1", 3, mm_port_probe_response_processor_is_at },
53 { "$NWDMAT=1", 3, mm_port_probe_response_processor_is_at },
54 { NULL }
55};
56
57/*****************************************************************************/
58/* Custom init */
59
60typedef struct {
61 MMPortProbe *probe;
62 MMPortSerialAt *port;
63 GCancellable *cancellable;
64 GSimpleAsyncResult *result;
65 guint nwdmat_retries;
66 guint wait_time;
67} CustomInitContext;
68
69static void
70custom_init_context_complete_and_free (CustomInitContext *ctx)
71{
72 g_simple_async_result_complete_in_idle (ctx->result);
73
74 if (ctx->cancellable)
75 g_object_unref (ctx->cancellable);
76 g_object_unref (ctx->port);
77 g_object_unref (ctx->probe);
78 g_object_unref (ctx->result);
79 g_slice_free (CustomInitContext, ctx);
80}
81
82static gboolean
83novatel_custom_init_finish (MMPortProbe *probe,
84 GAsyncResult *result,
85 GError **error)
86{
87 return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
88}
89
90static void custom_init_step (CustomInitContext *ctx);
91
92static void
93nwdmat_ready (MMPortSerialAt *port,
94 GAsyncResult *res,
95 CustomInitContext *ctx)
96{
97 const gchar *response;
98 GError *error = NULL;
99
100 response = mm_port_serial_at_command_finish (port, res, &error);
101 if (error) {
102 if (g_error_matches (error,
103 MM_SERIAL_ERROR,
104 MM_SERIAL_ERROR_RESPONSE_TIMEOUT)) {
105 custom_init_step (ctx);
106 goto out;
107 }
108
109 mm_dbg ("(Novatel) Error flipping secondary ports to AT mode: %s", error->message);
110 }
111
112 /* Finish custom_init */
113 g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
114 custom_init_context_complete_and_free (ctx);
115
116out:
117 if (error)
118 g_error_free (error);
119}
120
121static gboolean
122custom_init_wait_cb (CustomInitContext *ctx)
123{
124 custom_init_step (ctx);
125 return FALSE;
126}
127
128static void
129custom_init_step (CustomInitContext *ctx)
130{
131 /* If cancelled, end */
132 if (g_cancellable_is_cancelled (ctx->cancellable)) {
133 mm_dbg ("(Novatel) no need to keep on running custom init in (%s)",
134 mm_port_get_device (MM_PORT (ctx->port)));
135 g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
136 custom_init_context_complete_and_free (ctx);
137 return;
138 }
139
140 /* If device has a QMI port, don't run $NWDMAT */
141 if (mm_port_probe_list_has_qmi_port (mm_device_peek_port_probe_list (mm_port_probe_peek_device (ctx->probe)))) {
142 mm_dbg ("(Novatel) no need to run custom init in (%s): device has QMI port",
143 mm_port_get_device (MM_PORT (ctx->port)));
144 g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
145 custom_init_context_complete_and_free (ctx);
146 return;
147 }
148
149 if (ctx->wait_time > 0) {
150 ctx->wait_time--;
151 g_timeout_add_seconds (1, (GSourceFunc)custom_init_wait_cb, ctx);
152 return;
153 }
154
155 if (ctx->nwdmat_retries > 0) {
156 ctx->nwdmat_retries--;
157 mm_port_serial_at_command (ctx->port,
158 "$NWDMAT=1",
159 3,
160 FALSE, /* raw */
161 FALSE, /* allow_cached */
162 ctx->cancellable,
163 (GAsyncReadyCallback)nwdmat_ready,
164 ctx);
165 return;
166 }
167
168 /* Finish custom_init */
169 mm_dbg ("(Novatel) couldn't flip secondary port to AT in (%s): all retries consumed",
170 mm_port_get_device (MM_PORT (ctx->port)));
171 g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
172 custom_init_context_complete_and_free (ctx);
173}
174
175static void
176novatel_custom_init (MMPortProbe *probe,
177 MMPortSerialAt *port,
178 GCancellable *cancellable,
179 GAsyncReadyCallback callback,
180 gpointer user_data)
181{
182 CustomInitContext *ctx;
183
184 ctx = g_slice_new (CustomInitContext);
185 ctx->result = g_simple_async_result_new (G_OBJECT (probe),
186 callback,
187 user_data,
188 novatel_custom_init);
189 ctx->probe = g_object_ref (probe);
190 ctx->port = g_object_ref (port);
191 ctx->cancellable = cancellable ? g_object_ref (cancellable) : NULL;
192 ctx->nwdmat_retries = 3;
193 ctx->wait_time = 2;
194
195 custom_init_step (ctx);
196}
197
198/*****************************************************************************/
199
200static MMBaseModem *
201create_modem (MMPlugin *self,
202 const gchar *sysfs_path,
203 const gchar **drivers,
204 guint16 vendor,
205 guint16 product,
206 GList *probes,
207 GError **error)
208{
209#if defined WITH_QMI
210 if (mm_port_probe_list_has_qmi_port (probes)) {
211 mm_dbg ("QMI-powered Novatel modem found...");
212 return MM_BASE_MODEM (mm_broadband_modem_qmi_new (sysfs_path,
213 drivers,
214 mm_plugin_get_name (self),
215 vendor,
216 product));
217 }
218#endif
219
220 return MM_BASE_MODEM (mm_broadband_modem_novatel_new (sysfs_path,
221 drivers,
222 mm_plugin_get_name (self),
223 vendor,
224 product));
225}
226
227/*****************************************************************************/
228
229G_MODULE_EXPORT MMPlugin *
230mm_plugin_create (void)
231{
232 static const gchar *subsystems[] = { "tty", "net", "usb", NULL };
233 static const guint16 vendors[] = { 0x1410, /* Novatel */
234 0x413c, /* Dell */
235 0 };
236 static const mm_uint16_pair forbidden_products[] = { { 0x1410, 0x9010 }, /* Novatel E362 */
237 { 0, 0 } };
238 static const MMAsyncMethod custom_init = {
239 .async = G_CALLBACK (novatel_custom_init),
240 .finish = G_CALLBACK (novatel_custom_init_finish),
241 };
242
243 return MM_PLUGIN (
244 g_object_new (MM_TYPE_PLUGIN_NOVATEL,
245 MM_PLUGIN_NAME, "Novatel",
246 MM_PLUGIN_ALLOWED_SUBSYSTEMS, subsystems,
247 MM_PLUGIN_ALLOWED_VENDOR_IDS, vendors,
248 MM_PLUGIN_FORBIDDEN_PRODUCT_IDS, forbidden_products,
249 MM_PLUGIN_ALLOWED_AT, TRUE,
250 MM_PLUGIN_CUSTOM_INIT, &custom_init,
251 MM_PLUGIN_ALLOWED_QCDM, TRUE,
252 MM_PLUGIN_ALLOWED_QMI, TRUE,
253 NULL));
254}
255
256static void
257mm_plugin_novatel_init (MMPluginNovatel *self)
258{
259}
260
261static void
262mm_plugin_novatel_class_init (MMPluginNovatelClass *klass)
263{
264 MMPluginClass *plugin_class = MM_PLUGIN_CLASS (klass);
265
266 plugin_class->create_modem = create_modem;
267}
0268
=== added directory '.pc/sierra-common-library.patch'
=== added directory '.pc/sierra-common-library.patch/plugins'
=== added file '.pc/sierra-common-library.patch/plugins/Makefile.am'
--- .pc/sierra-common-library.patch/plugins/Makefile.am 1970-01-01 00:00:00 +0000
+++ .pc/sierra-common-library.patch/plugins/Makefile.am 2015-10-09 10:06:57 +0000
@@ -0,0 +1,533 @@
1
2include $(top_srcdir)/gtester.make
3
4# Common CPPFLAGS and LDFLAGS
5
6PLUGIN_COMMON_COMPILER_FLAGS = \
7 $(MM_CFLAGS) \
8 $(GUDEV_CFLAGS) \
9 -I$(top_srcdir) \
10 -I$(top_srcdir)/src \
11 -I$(top_builddir)/src \
12 -I$(top_srcdir)/include \
13 -I$(top_builddir)/include \
14 -I$(top_srcdir)/libmm-glib \
15 -I$(top_srcdir)/libmm-glib/generated \
16 -I$(top_builddir)/libmm-glib/generated
17
18PLUGIN_COMMON_LINKER_FLAGS = \
19 $(GUDEV_LIBS) \
20 $(MM_LIBS) \
21 -module \
22 -avoid-version
23
24if WITH_QMI
25PLUGIN_COMMON_COMPILER_FLAGS += $(QMI_CFLAGS)
26PLUGIN_COMMON_LINKER_FLAGS += $(QMI_LIBS)
27endif
28
29if WITH_MBIM
30PLUGIN_COMMON_COMPILER_FLAGS += $(MBIM_CFLAGS)
31PLUGIN_COMMON_LINKER_FLAGS += $(MBIM_LIBS)
32endif
33
34# UDev rules
35udevrulesdir = $(UDEV_BASE_DIR)/rules.d
36udevrules_DATA =
37
38# Unit tests
39noinst_PROGRAMS =
40
41# Helper libs
42noinst_LTLIBRARIES =
43
44########################################
45
46# Common service test support
47
48noinst_LTLIBRARIES += libmm-test-common.la
49
50libmm_test_common_la_SOURCES = \
51 tests/test-fixture.h \
52 tests/test-fixture.c \
53 tests/test-port-context.h \
54 tests/test-port-context.c
55
56libmm_test_common_la_CPPFLAGS = \
57 $(MM_CFLAGS) \
58 -I$(top_srcdir)/include \
59 -I$(top_builddir)/include \
60 -I$(top_srcdir)/libmm-glib \
61 -I$(top_srcdir)/libmm-glib/generated \
62 -I$(top_builddir)/libmm-glib/generated \
63 -I$(top_builddir)/libmm-glib/generated/tests \
64 -DTEST_SERVICES=\""$(abs_top_builddir)/data/tests"\"
65
66libmm_test_common_la_LIBADD = \
67 ${top_builddir}/libmm-glib/generated/tests/libmm-test-generated.la \
68 $(top_builddir)/libmm-glib/libmm-glib.la
69
70TEST_COMMON_COMPILER_FLAGS = \
71 $(MM_CFLAGS) \
72 -I$(top_srcdir)/plugins/tests \
73 -I$(top_srcdir)/include \
74 -I$(top_builddir)/include \
75 -I$(top_srcdir)/libmm-glib \
76 -I$(top_srcdir)/libmm-glib/generated \
77 -I$(top_builddir)/libmm-glib/generated \
78 -I$(top_builddir)/libmm-glib/generated/tests \
79 -DCOMMON_GSM_PORT_CONF=\""$(abs_top_srcdir)/plugins/tests/gsm-port.conf"\"
80
81TEST_COMMON_LIBADD_FLAGS = \
82 $(builddir)/libmm-test-common.la \
83 $(top_builddir)/libmm-glib/libmm-glib.la
84
85
86########################################
87
88# Icera-specific support
89noinst_LTLIBRARIES += libmm-utils-icera.la
90libmm_utils_icera_la_SOURCES = \
91 icera/mm-broadband-modem-icera.h \
92 icera/mm-broadband-modem-icera.c \
93 icera/mm-broadband-bearer-icera.h \
94 icera/mm-broadband-bearer-icera.c \
95 icera/mm-modem-helpers-icera.c \
96 icera/mm-modem-helpers-icera.h
97libmm_utils_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
98libmm_utils_icera_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
99
100ICERA_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/icera
101ICERA_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-icera.la
102
103noinst_PROGRAMS += test-modem-helpers-icera
104test_modem_helpers_icera_SOURCES = \
105 icera/mm-modem-helpers-icera.c \
106 icera/mm-modem-helpers-icera.h \
107 icera/tests/test-modem-helpers-icera.c
108test_modem_helpers_icera_CPPFLAGS = \
109 -I$(top_srcdir)/plugins/icera \
110 $(PLUGIN_COMMON_COMPILER_FLAGS)
111test_modem_helpers_icera_LDADD = \
112 $(top_builddir)/libmm-glib/libmm-glib.la \
113 $(top_builddir)/src/libmodem-helpers.la
114test_modem_helpers_icera_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
115
116########################################
117
118pkglib_LTLIBRARIES = \
119 libmm-plugin-generic.la \
120 libmm-plugin-nokia.la \
121 libmm-plugin-nokia-icera.la \
122 libmm-plugin-cinterion.la \
123 libmm-plugin-iridium.la \
124 libmm-plugin-gobi.la \
125 libmm-plugin-motorola.la \
126 libmm-plugin-novatel.la \
127 libmm-plugin-novatel-lte.la \
128 libmm-plugin-altair-lte.la \
129 libmm-plugin-samsung.la \
130 libmm-plugin-option.la \
131 libmm-plugin-hso.la \
132 libmm-plugin-anydata.la \
133 libmm-plugin-linktop.la \
134 libmm-plugin-simtech.la \
135 libmm-plugin-wavecom.la \
136 libmm-plugin-huawei.la \
137 libmm-plugin-longcheer.la \
138 libmm-plugin-x22x.la \
139 libmm-plugin-pantech.la \
140 libmm-plugin-zte.la \
141 libmm-plugin-sierra.la \
142 libmm-plugin-mbm.la \
143 libmm-plugin-via.la \
144 libmm-plugin-telit.la \
145 libmm-plugin-mtk.la
146
147# Generic
148libmm_plugin_generic_la_SOURCES = \
149 generic/mm-plugin-generic.c \
150 generic/mm-plugin-generic.h
151libmm_plugin_generic_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
152libmm_plugin_generic_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
153
154noinst_PROGRAMS += test-service-generic
155test_service_generic_SOURCES = generic/tests/test-service-generic.c
156test_service_generic_CPPFLAGS = $(TEST_COMMON_COMPILER_FLAGS)
157test_service_generic_LDADD = $(TEST_COMMON_LIBADD_FLAGS)
158test_service_generic_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
159
160## Motorola
161libmm_plugin_motorola_la_SOURCES = \
162 motorola/mm-plugin-motorola.c \
163 motorola/mm-plugin-motorola.h \
164 motorola/mm-broadband-modem-motorola.c \
165 motorola/mm-broadband-modem-motorola.h
166libmm_plugin_motorola_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
167libmm_plugin_motorola_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
168
169# Gobi
170libmm_plugin_gobi_la_SOURCES = \
171 gobi/mm-plugin-gobi.c \
172 gobi/mm-plugin-gobi.h \
173 gobi/mm-broadband-modem-gobi.c \
174 gobi/mm-broadband-modem-gobi.h
175libmm_plugin_gobi_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
176libmm_plugin_gobi_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
177
178# Huawei
179libmm_plugin_huawei_la_SOURCES = \
180 huawei/mm-plugin-huawei.c \
181 huawei/mm-plugin-huawei.h \
182 huawei/mm-modem-helpers-huawei.c \
183 huawei/mm-modem-helpers-huawei.h \
184 huawei/mm-sim-huawei.c \
185 huawei/mm-sim-huawei.h \
186 huawei/mm-broadband-modem-huawei.c \
187 huawei/mm-broadband-modem-huawei.h \
188 huawei/mm-broadband-bearer-huawei.c \
189 huawei/mm-broadband-bearer-huawei.h
190libmm_plugin_huawei_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
191libmm_plugin_huawei_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
192
193udevrules_DATA += huawei/77-mm-huawei-net-port-types.rules
194
195noinst_PROGRAMS += test-modem-helpers-huawei
196test_modem_helpers_huawei_SOURCES = \
197 huawei/mm-modem-helpers-huawei.c \
198 huawei/mm-modem-helpers-huawei.h \
199 huawei/tests/test-modem-helpers-huawei.c
200test_modem_helpers_huawei_CPPFLAGS = \
201 -I$(top_srcdir)/plugins/huawei \
202 $(PLUGIN_COMMON_COMPILER_FLAGS)
203test_modem_helpers_huawei_LDADD = \
204 $(top_builddir)/libmm-glib/libmm-glib.la \
205 $(top_builddir)/src/libmodem-helpers.la
206test_modem_helpers_huawei_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
207
208# MBM
209libmm_plugin_mbm_la_SOURCES = \
210 mbm/mm-plugin-mbm.c \
211 mbm/mm-plugin-mbm.h \
212 mbm/mm-broadband-modem-mbm.c \
213 mbm/mm-broadband-modem-mbm.h \
214 mbm/mm-broadband-bearer-mbm.c \
215 mbm/mm-broadband-bearer-mbm.h \
216 mbm/mm-modem-helpers-mbm.c \
217 mbm/mm-modem-helpers-mbm.h \
218 mbm/mm-sim-mbm.c \
219 mbm/mm-sim-mbm.h
220libmm_plugin_mbm_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
221libmm_plugin_mbm_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
222udevrules_DATA += mbm/77-mm-ericsson-mbm.rules
223
224noinst_PROGRAMS += test-modem-helpers-mbm
225test_modem_helpers_mbm_SOURCES = \
226 mbm/mm-modem-helpers-mbm.c \
227 mbm/mm-modem-helpers-mbm.h \
228 mbm/tests/test-modem-helpers-mbm.c
229test_modem_helpers_mbm_CPPFLAGS = \
230 -I$(top_srcdir)/plugins/mbm \
231 $(PLUGIN_COMMON_COMPILER_FLAGS)
232test_modem_helpers_mbm_LDADD = \
233 $(top_builddir)/libmm-glib/libmm-glib.la \
234 $(top_builddir)/src/libmodem-helpers.la
235test_modem_helpers_mbm_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
236
237# Option
238libmm_plugin_option_la_SOURCES = \
239 option/mm-plugin-option.c \
240 option/mm-plugin-option.h \
241 option/mm-broadband-modem-option.c \
242 option/mm-broadband-modem-option.h
243libmm_plugin_option_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
244libmm_plugin_option_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
245
246# HSO
247libmm_plugin_hso_la_SOURCES = \
248 option/mm-plugin-hso.c \
249 option/mm-plugin-hso.h \
250 option/mm-broadband-modem-option.c \
251 option/mm-broadband-modem-option.h \
252 option/mm-broadband-bearer-hso.c \
253 option/mm-broadband-bearer-hso.h \
254 option/mm-broadband-modem-hso.c \
255 option/mm-broadband-modem-hso.h
256libmm_plugin_hso_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
257libmm_plugin_hso_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
258
259# Sierra
260libmm_plugin_sierra_la_SOURCES = \
261 sierra/mm-plugin-sierra.c \
262 sierra/mm-plugin-sierra.h \
263 sierra/mm-common-sierra.c \
264 sierra/mm-common-sierra.h \
265 sierra/mm-sim-sierra.c \
266 sierra/mm-sim-sierra.h \
267 sierra/mm-broadband-bearer-sierra.c \
268 sierra/mm-broadband-bearer-sierra.h \
269 sierra/mm-broadband-modem-sierra.c \
270 sierra/mm-broadband-modem-sierra.h \
271 sierra/mm-broadband-modem-sierra-icera.c \
272 sierra/mm-broadband-modem-sierra-icera.h
273libmm_plugin_sierra_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
274libmm_plugin_sierra_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
275libmm_plugin_sierra_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
276
277# Wavecom (Sierra Airlink)
278libmm_plugin_wavecom_la_SOURCES = \
279 wavecom/mm-plugin-wavecom.c \
280 wavecom/mm-plugin-wavecom.h \
281 wavecom/mm-broadband-modem-wavecom.c \
282 wavecom/mm-broadband-modem-wavecom.h
283libmm_plugin_wavecom_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
284libmm_plugin_wavecom_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
285
286# Nokia
287libmm_plugin_nokia_la_SOURCES = \
288 nokia/mm-plugin-nokia.c \
289 nokia/mm-plugin-nokia.h \
290 nokia/mm-sim-nokia.c \
291 nokia/mm-sim-nokia.h \
292 nokia/mm-broadband-modem-nokia.c \
293 nokia/mm-broadband-modem-nokia.h
294libmm_plugin_nokia_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
295libmm_plugin_nokia_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
296
297# Nokia (Icera)
298libmm_plugin_nokia_icera_la_SOURCES = \
299 nokia/mm-plugin-nokia-icera.c \
300 nokia/mm-plugin-nokia-icera.h
301libmm_plugin_nokia_icera_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
302libmm_plugin_nokia_icera_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
303libmm_plugin_nokia_icera_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
304udevrules_DATA += nokia/77-mm-nokia-port-types.rules
305
306# Zte
307libmm_plugin_zte_la_SOURCES = \
308 zte/mm-plugin-zte.c \
309 zte/mm-plugin-zte.h \
310 zte/mm-common-zte.h \
311 zte/mm-common-zte.c \
312 zte/mm-broadband-modem-zte.h \
313 zte/mm-broadband-modem-zte.c \
314 zte/mm-broadband-modem-zte-icera.h \
315 zte/mm-broadband-modem-zte-icera.c
316libmm_plugin_zte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
317libmm_plugin_zte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
318libmm_plugin_zte_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
319udevrules_DATA += zte/77-mm-zte-port-types.rules
320
321# Longcheer (and rebranded dongles)
322libmm_plugin_longcheer_la_SOURCES = \
323 longcheer/mm-plugin-longcheer.c \
324 longcheer/mm-plugin-longcheer.h \
325 longcheer/mm-broadband-modem-longcheer.h \
326 longcheer/mm-broadband-modem-longcheer.c
327libmm_plugin_longcheer_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
328libmm_plugin_longcheer_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
329udevrules_DATA += longcheer/77-mm-longcheer-port-types.rules
330
331# AnyData CDMA
332libmm_plugin_anydata_la_SOURCES = \
333 anydata/mm-plugin-anydata.c \
334 anydata/mm-plugin-anydata.h \
335 anydata/mm-broadband-modem-anydata.h \
336 anydata/mm-broadband-modem-anydata.c
337libmm_plugin_anydata_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
338libmm_plugin_anydata_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
339
340# Linktop CDMA
341libmm_plugin_linktop_la_SOURCES = \
342 linktop/mm-plugin-linktop.c \
343 linktop/mm-plugin-linktop.h \
344 linktop/mm-broadband-modem-linktop.h \
345 linktop/mm-broadband-modem-linktop.c
346libmm_plugin_linktop_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
347libmm_plugin_linktop_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
348
349# SimTech
350libmm_plugin_simtech_la_SOURCES = \
351 simtech/mm-plugin-simtech.c \
352 simtech/mm-plugin-simtech.h \
353 simtech/mm-broadband-modem-simtech.h \
354 simtech/mm-broadband-modem-simtech.c
355libmm_plugin_simtech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
356libmm_plugin_simtech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
357udevrules_DATA += simtech/77-mm-simtech-port-types.rules
358
359# Alcatel/TCT/JRD x220D and possibly others
360libmm_plugin_x22x_la_SOURCES = \
361 x22x/mm-plugin-x22x.c \
362 x22x/mm-plugin-x22x.h \
363 x22x/mm-broadband-modem-x22x.h \
364 x22x/mm-broadband-modem-x22x.c
365libmm_plugin_x22x_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
366libmm_plugin_x22x_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
367udevrules_DATA += x22x/77-mm-x22x-port-types.rules
368
369# Pantech
370libmm_plugin_pantech_la_SOURCES = \
371 pantech/mm-plugin-pantech.c \
372 pantech/mm-plugin-pantech.h \
373 pantech/mm-sim-pantech.c \
374 pantech/mm-sim-pantech.h \
375 pantech/mm-broadband-modem-pantech.c \
376 pantech/mm-broadband-modem-pantech.h
377libmm_plugin_pantech_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
378libmm_plugin_pantech_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
379
380# Samsung modem
381libmm_plugin_samsung_la_SOURCES = \
382 samsung/mm-plugin-samsung.c \
383 samsung/mm-plugin-samsung.h \
384 samsung/mm-broadband-modem-samsung.c \
385 samsung/mm-broadband-modem-samsung.h
386libmm_plugin_samsung_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(ICERA_COMMON_COMPILER_FLAGS)
387libmm_plugin_samsung_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
388libmm_plugin_samsung_la_LIBADD = $(ICERA_COMMON_LIBADD_FLAGS)
389
390# Cinterion (previously Siemens) modem
391libmm_plugin_cinterion_la_SOURCES = \
392 cinterion/mm-plugin-cinterion.c \
393 cinterion/mm-plugin-cinterion.h \
394 cinterion/mm-modem-helpers-cinterion.c \
395 cinterion/mm-modem-helpers-cinterion.h \
396 cinterion/mm-common-cinterion.c \
397 cinterion/mm-common-cinterion.h \
398 cinterion/mm-broadband-modem-cinterion.c \
399 cinterion/mm-broadband-modem-cinterion.h
400
401if WITH_QMI
402libmm_plugin_cinterion_la_SOURCES += \
403 cinterion/mm-broadband-modem-qmi-cinterion.c \
404 cinterion/mm-broadband-modem-qmi-cinterion.h
405endif
406
407libmm_plugin_cinterion_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
408libmm_plugin_cinterion_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
409
410udevrules_DATA += cinterion/77-mm-cinterion-port-types.rules
411
412noinst_PROGRAMS += test-modem-helpers-cinterion
413test_modem_helpers_cinterion_SOURCES = \
414 cinterion/mm-modem-helpers-cinterion.c \
415 cinterion/mm-modem-helpers-cinterion.h \
416 cinterion/tests/test-modem-helpers-cinterion.c
417test_modem_helpers_cinterion_CPPFLAGS = \
418 -I$(top_srcdir)/plugins/cinterion \
419 $(PLUGIN_COMMON_COMPILER_FLAGS)
420test_modem_helpers_cinterion_LDADD = \
421 $(top_builddir)/libmm-glib/libmm-glib.la \
422 $(top_builddir)/src/libmodem-helpers.la
423test_modem_helpers_cinterion_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
424
425# Iridium modem
426libmm_plugin_iridium_la_SOURCES = \
427 iridium/mm-plugin-iridium.c \
428 iridium/mm-plugin-iridium.h \
429 iridium/mm-broadband-modem-iridium.c \
430 iridium/mm-broadband-modem-iridium.h \
431 iridium/mm-bearer-iridium.c \
432 iridium/mm-bearer-iridium.h \
433 iridium/mm-sim-iridium.c \
434 iridium/mm-sim-iridium.h
435libmm_plugin_iridium_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
436libmm_plugin_iridium_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
437
438# Common Novatel modem support library
439noinst_LTLIBRARIES += libmm-utils-novatel.la
440libmm_utils_novatel_la_SOURCES = \
441 novatel/mm-common-novatel.c \
442 novatel/mm-common-novatel.h \
443 novatel/mm-broadband-modem-novatel.c \
444 novatel/mm-broadband-modem-novatel.h
445libmm_utils_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
446libmm_utils_novatel_la_LIBADD = $(GUDEV_LIBS) $(MM_LIBS)
447
448NOVATEL_COMMON_COMPILER_FLAGS = -I$(top_srcdir)/plugins/novatel
449NOVATEL_COMMON_LIBADD_FLAGS = $(builddir)/libmm-utils-novatel.la
450
451# Novatel LTE modem
452libmm_plugin_novatel_lte_la_SOURCES = \
453 novatel/mm-plugin-novatel-lte.c \
454 novatel/mm-plugin-novatel-lte.h \
455 novatel/mm-broadband-modem-novatel-lte.c \
456 novatel/mm-broadband-modem-novatel-lte.h \
457 novatel/mm-broadband-bearer-novatel-lte.c \
458 novatel/mm-broadband-bearer-novatel-lte.h \
459 novatel/mm-sim-novatel-lte.c \
460 novatel/mm-sim-novatel-lte.h
461libmm_plugin_novatel_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
462libmm_plugin_novatel_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
463
464# Novatel non-LTE modem
465libmm_plugin_novatel_la_SOURCES = \
466 novatel/mm-plugin-novatel.c \
467 novatel/mm-plugin-novatel.h
468libmm_plugin_novatel_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(NOVATEL_COMMON_COMPILER_FLAGS)
469libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
470libmm_plugin_novatel_la_LIBADD = $(NOVATEL_COMMON_LIBADD_FLAGS)
471
472# Altair LTE modem
473libmm_plugin_altair_lte_la_SOURCES = \
474 altair/mm-modem-helpers-altair-lte.c \
475 altair/mm-modem-helpers-altair-lte.h \
476 altair/mm-plugin-altair-lte.c \
477 altair/mm-plugin-altair-lte.h \
478 altair/mm-broadband-modem-altair-lte.c \
479 altair/mm-broadband-modem-altair-lte.h \
480 altair/mm-broadband-bearer-altair-lte.c \
481 altair/mm-broadband-bearer-altair-lte.h
482libmm_plugin_altair_lte_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
483libmm_plugin_altair_lte_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
484
485noinst_PROGRAMS += test-modem-helpers-altair-lte
486test_modem_helpers_altair_lte_SOURCES = \
487 altair/mm-modem-helpers-altair-lte.c \
488 altair/mm-modem-helpers-altair-lte.h \
489 altair/tests/test-modem-helpers-altair-lte.c
490test_modem_helpers_altair_lte_CPPFLAGS = \
491 -I$(top_srcdir)/plugins/altair \
492 $(PLUGIN_COMMON_COMPILER_FLAGS)
493test_modem_helpers_altair_lte_LDADD = $(top_builddir)/libmm-glib/libmm-glib.la
494test_modem_helpers_altair_lte_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
495
496
497# VIA modem
498libmm_plugin_via_la_SOURCES = \
499 via/mm-plugin-via.c \
500 via/mm-plugin-via.h \
501 via/mm-broadband-modem-via.c \
502 via/mm-broadband-modem-via.h
503libmm_plugin_via_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
504libmm_plugin_via_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
505
506# Telit modem
507libmm_plugin_telit_la_SOURCES = \
508 telit/mm-plugin-telit.c \
509 telit/mm-plugin-telit.h \
510 telit/mm-broadband-modem-telit.c \
511 telit/mm-broadband-modem-telit.h
512libmm_plugin_telit_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
513libmm_plugin_telit_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
514udevrules_DATA += telit/77-mm-telit-port-types.rules
515
516# MTK
517libmm_plugin_mtk_la_SOURCES = \
518 mtk/mm-plugin-mtk.c \
519 mtk/mm-plugin-mtk.h \
520 mtk/mm-broadband-modem-mtk.h \
521 mtk/mm-broadband-modem-mtk.c
522libmm_plugin_mtk_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS)
523libmm_plugin_mtk_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
524udevrules_DATA += mtk/77-mm-mtk-port-types.rules
525
526
527# Additional files to include in the distribution
528EXTRA_DIST += \
529 $(udevrules_DATA) \
530 tests/gsm-port.conf
531
532# Unit tests
533TEST_PROGS += $(noinst_PROGRAMS)
0534
=== added directory '.pc/sierra-custom-init.patch'
=== added directory '.pc/sierra-custom-init.patch/plugins'
=== added directory '.pc/sierra-custom-init.patch/plugins/sierra'
=== added file '.pc/sierra-custom-init.patch/plugins/sierra/mm-common-sierra.c'
--- .pc/sierra-custom-init.patch/plugins/sierra/mm-common-sierra.c 1970-01-01 00:00:00 +0000
+++ .pc/sierra-custom-init.patch/plugins/sierra/mm-common-sierra.c 2015-10-09 10:06:57 +0000
@@ -0,0 +1,308 @@
1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details:
12 *
13 * Copyright (C) 2008 - 2009 Novell, Inc.
14 * Copyright (C) 2009 - 2012 Red Hat, Inc.
15 * Copyright (C) 2012 Lanedo GmbH
16 */
17
18#include "mm-common-sierra.h"
19#include "mm-base-modem-at.h"
20#include "mm-log.h"
21#include "mm-modem-helpers.h"
22#include "mm-sim-sierra.h"
23
24static MMIfaceModem *iface_modem_parent;
25
26/*****************************************************************************/
27/* Modem power up (Modem interface) */
28
29gboolean
30mm_common_sierra_modem_power_up_finish (MMIfaceModem *self,
31 GAsyncResult *res,
32 GError **error)
33{
34 return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res), error);
35}
36
37static gboolean
38sierra_power_up_wait_cb (GSimpleAsyncResult *result)
39{
40 g_simple_async_result_set_op_res_gboolean (result, TRUE);
41 g_simple_async_result_complete (result);
42 g_object_unref (result);
43 return FALSE;
44}
45
46static void
47cfun_enable_ready (MMBaseModem *self,
48 GAsyncResult *res,
49 GSimpleAsyncResult *simple)
50{
51 GError *error = NULL;
52 guint i;
53 const gchar **drivers;
54 gboolean is_new_sierra = FALSE;
55
56 if (!mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, &error)) {
57 g_simple_async_result_take_error (simple, error);
58 g_simple_async_result_complete (simple);
59 g_object_unref (simple);
60 return;
61 }
62
63 /* Many Sierra devices return OK immediately in response to CFUN=1 but
64 * need some time to finish powering up, otherwise subsequent commands
65 * may return failure or even crash the modem. Give more time for older
66 * devices like the AC860 and C885, which aren't driven by the 'sierra_net'
67 * driver. Assume any DirectIP (ie, sierra_net) device is new enough
68 * to allow a lower timeout.
69 */
70 drivers = mm_base_modem_get_drivers (MM_BASE_MODEM (self));
71 for (i = 0; drivers[i]; i++) {
72 if (g_str_equal (drivers[i], "sierra_net")) {
73 is_new_sierra = TRUE;
74 break;
75 }
76 }
77
78 /* The modem object will be valid in the callback as 'result' keeps a
79 * reference to it. */
80 g_timeout_add_seconds (is_new_sierra ? 5 : 10, (GSourceFunc)sierra_power_up_wait_cb, simple);
81}
82
83static void
84pcstate_enable_ready (MMBaseModem *self,
85 GAsyncResult *res,
86 GSimpleAsyncResult *simple)
87{
88 /* Ignore errors for now; we're not sure if all Sierra CDMA devices support
89 * at!pcstate.
90 */
91 mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, NULL);
92
93 g_simple_async_result_set_op_res_gboolean (simple, TRUE);
94 g_simple_async_result_complete (simple);
95 g_object_unref (simple);
96}
97
98void
99mm_common_sierra_modem_power_up (MMIfaceModem *self,
100 GAsyncReadyCallback callback,
101 gpointer user_data)
102{
103 GSimpleAsyncResult *result;
104
105 result = g_simple_async_result_new (G_OBJECT (self),
106 callback,
107 user_data,
108 mm_common_sierra_modem_power_up);
109
110 /* For CDMA modems, run !pcstate */
111 if (mm_iface_modem_is_cdma_only (self)) {
112 mm_base_modem_at_command (MM_BASE_MODEM (self),
113 "!pcstate=1",
114 5,
115 FALSE,
116 (GAsyncReadyCallback)pcstate_enable_ready,
117 result);
118 return;
119 }
120
121 mm_warn ("Not in full functionality status, power-up command is needed. "
122 "Note that it may reboot the modem.");
123
124 /* Try to go to full functionality mode without rebooting the system.
125 * Works well if we previously switched off the power with CFUN=4
126 */
127 mm_base_modem_at_command (MM_BASE_MODEM (self),
128 "+CFUN=1,0", /* ",0" requests no reset */
129 10,
130 FALSE,
131 (GAsyncReadyCallback)cfun_enable_ready,
132 result);
133}
134
135/*****************************************************************************/
136/* Power state loading (Modem interface) */
137
138MMModemPowerState
139mm_common_sierra_load_power_state_finish (MMIfaceModem *self,
140 GAsyncResult *res,
141 GError **error)
142{
143 if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (res), error))
144 return MM_MODEM_POWER_STATE_UNKNOWN;
145
146 return (MMModemPowerState)GPOINTER_TO_UINT (g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (res)));
147}
148
149static void
150parent_load_power_state_ready (MMIfaceModem *self,
151 GAsyncResult *res,
152 GSimpleAsyncResult *simple)
153{
154 GError *error = NULL;
155 MMModemPowerState state;
156
157 state = iface_modem_parent->load_power_state_finish (self, res, &error);
158 if (error)
159 g_simple_async_result_take_error (simple, error);
160 else
161 g_simple_async_result_set_op_res_gpointer (simple, GUINT_TO_POINTER (state), NULL);
162 g_simple_async_result_complete (simple);
163 g_object_unref (simple);
164}
165
166static void
167pcstate_query_ready (MMBaseModem *self,
168 GAsyncResult *res,
169 GSimpleAsyncResult *simple)
170{
171 const gchar *result;
172 guint state;
173 GError *error = NULL;
174
175 result = mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, &error);
176 if (!result) {
177 g_simple_async_result_take_error (simple, error);
178 g_simple_async_result_complete (simple);
179 g_object_unref (simple);
180 return;
181 }
182
183 /* Parse power state reply */
184 result = mm_strip_tag (result, "!PCSTATE:");
185 if (!mm_get_uint_from_str (result, &state)) {
186 g_simple_async_result_set_error (simple,
187 MM_CORE_ERROR,
188 MM_CORE_ERROR_FAILED,
189 "Failed to parse !PCSTATE response '%s'",
190 result);
191 } else {
192 switch (state) {
193 case 0:
194 g_simple_async_result_set_op_res_gpointer (simple, GUINT_TO_POINTER (MM_MODEM_POWER_STATE_LOW), NULL);
195 break;
196 case 1:
197 g_simple_async_result_set_op_res_gpointer (simple, GUINT_TO_POINTER (MM_MODEM_POWER_STATE_ON), NULL);
198 break;
199 default:
200 g_simple_async_result_set_error (simple,
201 MM_CORE_ERROR,
202 MM_CORE_ERROR_FAILED,
203 "Unhandled power state: '%u'",
204 state);
205 break;
206 }
207 }
208
209 g_simple_async_result_complete (simple);
210 g_object_unref (simple);
211}
212
213void
214mm_common_sierra_load_power_state (MMIfaceModem *self,
215 GAsyncReadyCallback callback,
216 gpointer user_data)
217{
218 GSimpleAsyncResult *result;
219
220 result = g_simple_async_result_new (G_OBJECT (self),
221 callback,
222 user_data,
223 mm_common_sierra_load_power_state);
224
225 /* Check power state with AT!PCSTATE? */
226 if (mm_iface_modem_is_cdma_only (self)) {
227 mm_base_modem_at_command (MM_BASE_MODEM (self),
228 "!pcstate?",
229 3,
230 FALSE,
231 (GAsyncReadyCallback)pcstate_query_ready,
232 result);
233 return;
234 }
235
236 /* Otherwise run parent's */
237 iface_modem_parent->load_power_state (self,
238 (GAsyncReadyCallback)parent_load_power_state_ready,
239 result);
240}
241
242/*****************************************************************************/
243/* Create SIM (Modem interface) */
244
245MMBaseSim *
246mm_common_sierra_create_sim_finish (MMIfaceModem *self,
247 GAsyncResult *res,
248 GError **error)
249{
250 return mm_sim_sierra_new_finish (res, error);
251}
252
253void
254mm_common_sierra_create_sim (MMIfaceModem *self,
255 GAsyncReadyCallback callback,
256 gpointer user_data)
257{
258 /* New Sierra SIM */
259 mm_sim_sierra_new (MM_BASE_MODEM (self),
260 NULL, /* cancellable */
261 callback,
262 user_data);
263}
264
265/*****************************************************************************/
266/* Setup ports */
267
268void
269mm_common_sierra_setup_ports (MMBroadbandModem *self)
270{
271 MMPortSerialAt *ports[2];
272 guint i;
273 GRegex *pacsp_regex;
274
275 pacsp_regex = g_regex_new ("\\r\\n\\+PACSP.*\\r\\n", G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, NULL);
276
277 ports[0] = mm_base_modem_peek_port_primary (MM_BASE_MODEM (self));
278 ports[1] = mm_base_modem_peek_port_secondary (MM_BASE_MODEM (self));
279
280 for (i = 0; i < 2; i++) {
281 if (!ports[i])
282 continue;
283
284 if (i == 1) {
285 /* Built-in echo removal conflicts with the APP1 port's limited AT
286 * parser, which doesn't always prefix responses with <CR><LF>.
287 */
288 g_object_set (ports[i],
289 MM_PORT_SERIAL_AT_REMOVE_ECHO, FALSE,
290 NULL);
291 }
292
293 mm_port_serial_at_add_unsolicited_msg_handler (
294 ports[i],
295 pacsp_regex,
296 NULL, NULL, NULL);
297 }
298
299 g_regex_unref (pacsp_regex);
300}
301
302/*****************************************************************************/
303
304void
305mm_common_sierra_peek_parent_interfaces (MMIfaceModem *iface)
306{
307 iface_modem_parent = g_type_interface_peek_parent (iface);
308}
0309
=== added file '.pc/sierra-custom-init.patch/plugins/sierra/mm-common-sierra.h'
--- .pc/sierra-custom-init.patch/plugins/sierra/mm-common-sierra.h 1970-01-01 00:00:00 +0000
+++ .pc/sierra-custom-init.patch/plugins/sierra/mm-common-sierra.h 2015-10-09 10:06:57 +0000
@@ -0,0 +1,50 @@
1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details:
12 *
13 * Copyright (C) 2008 - 2009 Novell, Inc.
14 * Copyright (C) 2009 - 2012 Red Hat, Inc.
15 * Copyright (C) 2012 Lanedo GmbH
16 */
17
18#ifndef MM_COMMON_SIERRA_H
19#define MM_COMMON_SIERRA_H
20
21#include "mm-broadband-modem.h"
22#include "mm-iface-modem.h"
23#include "mm-base-sim.h"
24
25void mm_common_sierra_load_power_state (MMIfaceModem *self,
26 GAsyncReadyCallback callback,
27 gpointer user_data);
28MMModemPowerState mm_common_sierra_load_power_state_finish (MMIfaceModem *self,
29 GAsyncResult *res,
30 GError **error);
31
32void mm_common_sierra_modem_power_up (MMIfaceModem *self,
33 GAsyncReadyCallback callback,
34 gpointer user_data);
35gboolean mm_common_sierra_modem_power_up_finish (MMIfaceModem *self,
36 GAsyncResult *res,
37 GError **error);
38
39void mm_common_sierra_create_sim (MMIfaceModem *self,
40 GAsyncReadyCallback callback,
41 gpointer user_data);
42MMBaseSim *mm_common_sierra_create_sim_finish (MMIfaceModem *self,
43 GAsyncResult *res,
44 GError **error);
45
46void mm_common_sierra_setup_ports (MMBroadbandModem *self);
47
48void mm_common_sierra_peek_parent_interfaces (MMIfaceModem *iface);
49
50#endif /* MM_COMMON_SIERRA_H */
051
=== added file '.pc/sierra-custom-init.patch/plugins/sierra/mm-plugin-sierra.c'
--- .pc/sierra-custom-init.patch/plugins/sierra/mm-plugin-sierra.c 1970-01-01 00:00:00 +0000
+++ .pc/sierra-custom-init.patch/plugins/sierra/mm-plugin-sierra.c 2015-10-09 10:06:57 +0000
@@ -0,0 +1,343 @@
1/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details:
12 *
13 * Copyright (C) 2008 - 2009 Novell, Inc.
14 * Copyright (C) 2009 - 2012 Red Hat, Inc.
15 * Copyright (C) 2012 Lanedo GmbH
16 */
17
18#include <string.h>
19#include <stdlib.h>
20#include <gmodule.h>
21
22#define _LIBMM_INSIDE_MM
23#include <libmm-glib.h>
24
25#include "mm-log.h"
26#include "mm-plugin-sierra.h"
27#include "mm-broadband-modem-sierra.h"
28#include "mm-broadband-modem-sierra-icera.h"
29
30#if defined WITH_QMI
31#include "mm-broadband-modem-qmi.h"
32#endif
33
34#if defined WITH_MBIM
35#include "mm-broadband-modem-mbim.h"
36#endif
37
38G_DEFINE_TYPE (MMPluginSierra, mm_plugin_sierra, MM_TYPE_PLUGIN)
39
40int mm_plugin_major_version = MM_PLUGIN_MAJOR_VERSION;
41int mm_plugin_minor_version = MM_PLUGIN_MINOR_VERSION;
42
43/*****************************************************************************/
44/* Custom init */
45
46#define TAG_SIERRA_APP_PORT "sierra-app-port"
47#define TAG_SIERRA_APP1_PPP_OK "sierra-app1-ppp-ok"
48
49typedef struct {
50 MMPortProbe *probe;
51 MMPortSerialAt *port;
52 GCancellable *cancellable;
53 GSimpleAsyncResult *result;
54 guint retries;
55} SierraCustomInitContext;
56
57static void
58sierra_custom_init_context_complete_and_free (SierraCustomInitContext *ctx)
59{
60 g_simple_async_result_complete_in_idle (ctx->result);
61
62 if (ctx->cancellable)
63 g_object_unref (ctx->cancellable);
64 g_object_unref (ctx->port);
65 g_object_unref (ctx->probe);
66 g_object_unref (ctx->result);
67 g_slice_free (SierraCustomInitContext, ctx);
68}
69
70static gboolean
71sierra_custom_init_finish (MMPortProbe *probe,
72 GAsyncResult *result,
73 GError **error)
74{
75 return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
76}
77
78static void sierra_custom_init_step (SierraCustomInitContext *ctx);
79
80static void
81gcap_ready (MMPortSerialAt *port,
82 GAsyncResult *res,
83 SierraCustomInitContext *ctx)
84{
85 const gchar *response;
86 GError *error = NULL;
87
88 response = mm_port_serial_at_command_finish (port, res, &error);
89 if (error) {
90 /* If consumed all tries and the last error was a timeout, assume the
91 * port is not AT */
92 if (ctx->retries == 0 &&
93 g_error_matches (error, MM_SERIAL_ERROR, MM_SERIAL_ERROR_RESPONSE_TIMEOUT)) {
94 mm_port_probe_set_result_at (ctx->probe, FALSE);
95 }
96 /* If reported a hard parse error, this port is definitely not an AT
97 * port, skip trying. */
98 else if (g_error_matches (error, MM_SERIAL_ERROR, MM_SERIAL_ERROR_PARSE_FAILED)) {
99 mm_port_probe_set_result_at (ctx->probe, FALSE);
100 ctx->retries = 0;
101 }
102 /* Some Icera-based devices (eg, USB305) have an AT-style port that
103 * replies to everything with ERROR, so tag as unsupported; sometimes
104 * the real AT ports do this too, so let a retry tag the port as
105 * supported if it responds correctly later. */
106 else if (g_error_matches (error, MM_MOBILE_EQUIPMENT_ERROR, MM_MOBILE_EQUIPMENT_ERROR_UNKNOWN)) {
107 mm_port_probe_set_result_at (ctx->probe, FALSE);
108 }
109
110 /* Just retry... */
111 sierra_custom_init_step (ctx);
112 goto out;
113 }
114
115 /* A valid reply to ATI tells us this is an AT port already */
116 mm_port_probe_set_result_at (ctx->probe, TRUE);
117
118 /* Sierra APPx ports have limited AT command parsers that just reply with
119 * "OK" to most commands. These can sometimes be used for PPP while the
120 * main port is used for status and control, but older modems tend to crash
121 * or fail PPP. So we whitelist modems that are known to allow PPP on the
122 * secondary APP ports.
123 */
124 if (strstr (response, "APP1")) {
125 g_object_set_data (G_OBJECT (ctx->probe), TAG_SIERRA_APP_PORT, GUINT_TO_POINTER (TRUE));
126
127 /* PPP-on-APP1-port whitelist */
128 if (strstr (response, "C885") ||
129 strstr (response, "USB 306") ||
130 strstr (response, "MC8790"))
131 g_object_set_data (G_OBJECT (ctx->probe), TAG_SIERRA_APP1_PPP_OK, GUINT_TO_POINTER (TRUE));
132
133 /* For debugging: let users figure out if their device supports PPP
134 * on the APP1 port or not.
135 */
136 if (getenv ("MM_SIERRA_APP1_PPP_OK")) {
137 mm_dbg ("Sierra: APP1 PPP OK '%s'", response);
138 g_object_set_data (G_OBJECT (ctx->probe), TAG_SIERRA_APP1_PPP_OK, GUINT_TO_POINTER (TRUE));
139 }
140 } else if (strstr (response, "APP2") ||
141 strstr (response, "APP3") ||
142 strstr (response, "APP4")) {
143 /* Additional APP ports don't support most AT commands, so they cannot
144 * be used as the primary port.
145 */
146 g_object_set_data (G_OBJECT (ctx->probe), TAG_SIERRA_APP_PORT, GUINT_TO_POINTER (TRUE));
147 }
148
149 g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
150 sierra_custom_init_context_complete_and_free (ctx);
151
152out:
153 if (error)
154 g_error_free (error);
155}
156
157static void
158sierra_custom_init_step (SierraCustomInitContext *ctx)
159{
160 /* If cancelled, end */
161 if (g_cancellable_is_cancelled (ctx->cancellable)) {
162 mm_dbg ("(Sierra) no need to keep on running custom init in '%s'",
163 mm_port_get_device (MM_PORT (ctx->port)));
164 g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
165 sierra_custom_init_context_complete_and_free (ctx);
166 return;
167 }
168
169 if (ctx->retries == 0) {
170 mm_dbg ("(Sierra) Couldn't get port type hints from '%s'",
171 mm_port_get_device (MM_PORT (ctx->port)));
172 g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
173 sierra_custom_init_context_complete_and_free (ctx);
174 return;
175 }
176
177 ctx->retries--;
178 mm_port_serial_at_command (
179 ctx->port,
180 "ATI",
181 3,
182 FALSE, /* raw */
183 FALSE, /* allow_cached */
184 ctx->cancellable,
185 (GAsyncReadyCallback)gcap_ready,
186 ctx);
187}
188
189static void
190sierra_custom_init (MMPortProbe *probe,
191 MMPortSerialAt *port,
192 GCancellable *cancellable,
193 GAsyncReadyCallback callback,
194 gpointer user_data)
195{
196 SierraCustomInitContext *ctx;
197
198 ctx = g_slice_new (SierraCustomInitContext);
199 ctx->result = g_simple_async_result_new (G_OBJECT (probe),
200 callback,
201 user_data,
202 sierra_custom_init);
203 ctx->probe = g_object_ref (probe);
204 ctx->port = g_object_ref (port);
205 ctx->cancellable = cancellable ? g_object_ref (cancellable) : NULL;
206 ctx->retries = 3;
207
208 sierra_custom_init_step (ctx);
209}
210
211/*****************************************************************************/
212
213static gboolean
214sierra_port_probe_list_is_icera (GList *probes)
215{
216 GList *l;
217
218 for (l = probes; l; l = g_list_next (l)) {
219 /* Only assume the Icera probing check is valid IF the port is not
220 * secondary. This will skip the stupid ports which reply OK to every
221 * AT command, even the one we use to check for Icera support */
222 if (mm_port_probe_is_icera (MM_PORT_PROBE (l->data)) &&
223 !g_object_get_data (G_OBJECT (l->data), TAG_SIERRA_APP_PORT))
224 return TRUE;
225 }
226
227 return FALSE;
228}
229
230static MMBaseModem *
231create_modem (MMPlugin *self,
232 const gchar *sysfs_path,
233 const gchar **drivers,
234 guint16 vendor,
235 guint16 product,
236 GList *probes,
237 GError **error)
238{
239#if defined WITH_QMI
240 if (mm_port_probe_list_has_qmi_port (probes)) {
241 mm_dbg ("QMI-powered Sierra modem found...");
242 return MM_BASE_MODEM (mm_broadband_modem_qmi_new (sysfs_path,
243 drivers,
244 mm_plugin_get_name (self),
245 vendor,
246 product));
247 }
248#endif
249
250#if defined WITH_MBIM
251 if (mm_port_probe_list_has_mbim_port (probes)) {
252 mm_dbg ("MBIM-powered Sierra modem found...");
253 return MM_BASE_MODEM (mm_broadband_modem_mbim_new (sysfs_path,
254 drivers,
255 mm_plugin_get_name (self),
256 vendor,
257 product));
258 }
259#endif
260
261 if (sierra_port_probe_list_is_icera (probes))
262 return MM_BASE_MODEM (mm_broadband_modem_sierra_icera_new (sysfs_path,
263 drivers,
264 mm_plugin_get_name (self),
265 vendor,
266 product));
267
268 return MM_BASE_MODEM (mm_broadband_modem_sierra_new (sysfs_path,
269 drivers,
270 mm_plugin_get_name (self),
271 vendor,
272 product));
273}
274
275static gboolean
276grab_port (MMPlugin *self,
277 MMBaseModem *modem,
278 MMPortProbe *probe,
279 GError **error)
280{
281 MMPortSerialAtFlag pflags = MM_PORT_SERIAL_AT_FLAG_NONE;
282 MMPortType ptype;
283
284 ptype = mm_port_probe_get_port_type (probe);
285
286 /* Is it a GSM secondary port? */
287 if (g_object_get_data (G_OBJECT (probe), TAG_SIERRA_APP_PORT)) {
288 if (g_object_get_data (G_OBJECT (probe), TAG_SIERRA_APP1_PPP_OK))
289 pflags = MM_PORT_SERIAL_AT_FLAG_PPP;
290 else
291 pflags = MM_PORT_SERIAL_AT_FLAG_SECONDARY;
292 } else if (ptype == MM_PORT_TYPE_AT)
293 pflags = MM_PORT_SERIAL_AT_FLAG_PRIMARY;
294
295 return mm_base_modem_grab_port (modem,
296 mm_port_probe_get_port_subsys (probe),
297 mm_port_probe_get_port_name (probe),
298 mm_port_probe_get_parent_path (probe),
299 ptype,
300 pflags,
301 error);
302}
303
304/*****************************************************************************/
305
306G_MODULE_EXPORT MMPlugin *
307mm_plugin_create (void)
308{
309 static const gchar *subsystems[] = { "tty", "net", "usb", NULL };
310 static const gchar *drivers[] = { "sierra", "sierra_net", NULL };
311 static const MMAsyncMethod custom_init = {
312 .async = G_CALLBACK (sierra_custom_init),
313 .finish = G_CALLBACK (sierra_custom_init_finish),
314 };
315
316 return MM_PLUGIN (
317 g_object_new (MM_TYPE_PLUGIN_SIERRA,
318 MM_PLUGIN_NAME, "Sierra",
319 MM_PLUGIN_ALLOWED_SUBSYSTEMS, subsystems,
320 MM_PLUGIN_ALLOWED_DRIVERS, drivers,
321 MM_PLUGIN_ALLOWED_AT, TRUE,
322 MM_PLUGIN_ALLOWED_QCDM, TRUE,
323 MM_PLUGIN_ALLOWED_QMI, TRUE,
324 MM_PLUGIN_ALLOWED_MBIM, TRUE,
325 MM_PLUGIN_CUSTOM_INIT, &custom_init,
326 MM_PLUGIN_ICERA_PROBE, TRUE,
327 MM_PLUGIN_REMOVE_ECHO, FALSE,
328 NULL));
329}
330
331static void
332mm_plugin_sierra_init (MMPluginSierra *self)
333{
334}
335
336static void
337mm_plugin_sierra_class_init (MMPluginSierraClass *klass)
338{
339 MMPluginClass *plugin_class = MM_PLUGIN_CLASS (klass);
340
341 plugin_class->create_modem = create_modem;
342 plugin_class->grab_port = grab_port;
343}
0344
=== modified file 'debian/changelog'
--- debian/changelog 2014-09-17 08:46:25 +0000
+++ debian/changelog 2015-10-09 10:06:57 +0000
@@ -1,3 +1,10 @@
1modemmanager (1.4.0-2) vivid-proposed; urgency=medium
2
3 * New hardware enablement: Support the new MBIM devices from Dell.
4 (LP: #1441095)
5
6 -- Bin Li <bin.li@canonical.com> Fri, 09 Oct 2015 15:46:46 +0800
7
1modemmanager (1.4.0-1) unstable; urgency=medium8modemmanager (1.4.0-1) unstable; urgency=medium
29
3 * New upstream release.10 * New upstream release.
411
=== added file 'debian/patches/dell-mbim-plugin.patch'
--- debian/patches/dell-mbim-plugin.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/dell-mbim-plugin.patch 2015-10-09 10:06:57 +0000
@@ -0,0 +1,576 @@
1commit 93d6e4f102da51e72ecd2fbfcfa096cd2fd2e02e
2Author: Aleksander Morgado <aleksander@aleksander.es>
3Date: Fri Feb 6 16:35:52 2015 +0100
4
5 dell: new Dell plugin
6
7 For Dell-branded Novatel, Sierra and Ericsson modems.
8
9 The Novatel plugin will no longer accept every Dell-branded modem, which was
10 the current situation. Instead, a new Dell plugin will take care of probing for
11 the correct vendor string, and based on the results create a specific Novatel,
12 Sierra or Ericsson modem.
13
14 In order to properly support this, the Novatel, Sierra and MBM plugins now
15 export their implementations into non-inst libraries that the Dell plugin will
16 import.
17
18 Also, for now, the Dell plugin doesn't make any difference between e.g. Sierra
19 or Ericsson MBIM implementations, just a generic MBIM modem is created in both
20 cases, as that is anyway what the Ericsson MBM and Sierra plugins do already.
21
22 https://bugs.freedesktop.org/show_bug.cgi?id=86713
23
24---
25 plugins/Makefile.am | 9
26 plugins/dell/mm-plugin-dell.c | 448 ++++++++++++++++++++++++++++++++++++
27 plugins/dell/mm-plugin-dell.h | 46 +++
28 plugins/novatel/mm-plugin-novatel.c | 4
29 4 files changed, 504 insertions(+), 3 deletions(-)
30
31Index: modemmanager/plugins/Makefile.am
32===================================================================
33--- modemmanager.orig/plugins/Makefile.am
34+++ modemmanager/plugins/Makefile.am
35@@ -125,6 +125,7 @@ pkglib_LTLIBRARIES = \
36 libmm-plugin-motorola.la \
37 libmm-plugin-novatel.la \
38 libmm-plugin-novatel-lte.la \
39+ libmm-plugin-dell.la \
40 libmm-plugin-altair-lte.la \
41 libmm-plugin-samsung.la \
42 libmm-plugin-option.la \
43@@ -497,6 +498,14 @@ libmm_plugin_novatel_la_CPPFLAGS = $(PLU
44 libmm_plugin_novatel_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
45 libmm_plugin_novatel_la_LIBADD = $(NOVATEL_COMMON_LIBADD_FLAGS)
46
47+# Dell (e.g. Novatel or Sierra) modem
48+libmm_plugin_dell_la_SOURCES = \
49+ dell/mm-plugin-dell.c \
50+ dell/mm-plugin-dell.h
51+libmm_plugin_dell_la_CPPFLAGS = $(PLUGIN_COMMON_COMPILER_FLAGS) $(NOVATEL_COMMON_COMPILER_FLAGS) $(SIERRA_COMMON_COMPILER_FLAGS) $(MBM_COMMON_COMPILER_FLAGS)
52+libmm_plugin_dell_la_LDFLAGS = $(PLUGIN_COMMON_LINKER_FLAGS)
53+libmm_plugin_dell_la_LIBADD = $(NOVATEL_COMMON_LIBADD_FLAGS) $(SIERRA_COMMON_LIBADD_FLAGS) $(MBM_COMMON_LIBADD_FLAGS)
54+
55 # Altair LTE modem
56 libmm_plugin_altair_lte_la_SOURCES = \
57 altair/mm-modem-helpers-altair-lte.c \
58Index: modemmanager/plugins/dell/mm-plugin-dell.c
59===================================================================
60--- /dev/null
61+++ modemmanager/plugins/dell/mm-plugin-dell.c
62@@ -0,0 +1,448 @@
63+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
64+
65+/*
66+ * This program is free software; you can redistribute it and/or
67+ * modify it under the terms of the GNU General Public License as
68+ * published by the Free Software Foundation; either version 2 of the
69+ * License, or (at your option) any later version.
70+ *
71+ * This program is distributed in the hope that it will be useful,
72+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
73+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
74+ * General Public License for more details.
75+ *
76+ * You should have received a copy of the GNU General Public
77+ * License along with this program; if not, write to the
78+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
79+ * Boston, MA 02111-1307, USA.
80+ *
81+ * Copyright (C) 2015 Aleksander Morgado <aleksander@aleksander.es>
82+ */
83+
84+#include <string.h>
85+#include <gmodule.h>
86+
87+#define _LIBMM_INSIDE_MM
88+#include <libmm-glib.h>
89+
90+#include "mm-plugin-dell.h"
91+#include "mm-common-novatel.h"
92+#include "mm-private-boxed-types.h"
93+#include "mm-broadband-modem.h"
94+#include "mm-broadband-modem-novatel.h"
95+#include "mm-common-novatel.h"
96+#include "mm-broadband-modem-sierra.h"
97+#include "mm-common-sierra.h"
98+#include "mm-log.h"
99+
100+#if defined WITH_QMI
101+#include "mm-broadband-modem-qmi.h"
102+#endif
103+
104+#if defined WITH_MBIM
105+#include "mm-broadband-modem-mbim.h"
106+#endif
107+
108+G_DEFINE_TYPE (MMPluginDell, mm_plugin_dell, MM_TYPE_PLUGIN)
109+
110+int mm_plugin_major_version = MM_PLUGIN_MAJOR_VERSION;
111+int mm_plugin_minor_version = MM_PLUGIN_MINOR_VERSION;
112+
113+#define TAG_DELL_MANUFACTURER "dell-manufacturer"
114+typedef enum {
115+ DELL_MANUFACTURER_UNKNOWN = 0,
116+ DELL_MANUFACTURER_NOVATEL = 1,
117+ DELL_MANUFACTURER_SIERRA = 2,
118+ DELL_MANUFACTURER_ERICSSON = 3
119+} DellManufacturer;
120+
121+/*****************************************************************************/
122+/* Custom init */
123+
124+typedef struct {
125+ MMPortProbe *probe;
126+ MMPortSerialAt *port;
127+ GCancellable *cancellable;
128+ GSimpleAsyncResult *result;
129+ guint gmi_retries;
130+ guint cgmi_retries;
131+ guint ati_retries;
132+} CustomInitContext;
133+
134+static void
135+custom_init_context_complete_and_free (CustomInitContext *ctx)
136+{
137+ g_simple_async_result_complete_in_idle (ctx->result);
138+
139+ if (ctx->cancellable)
140+ g_object_unref (ctx->cancellable);
141+ g_object_unref (ctx->port);
142+ g_object_unref (ctx->probe);
143+ g_object_unref (ctx->result);
144+ g_slice_free (CustomInitContext, ctx);
145+}
146+
147+static gboolean
148+dell_custom_init_finish (MMPortProbe *probe,
149+ GAsyncResult *result,
150+ GError **error)
151+{
152+ return !g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error);
153+}
154+
155+static void
156+novatel_custom_init_ready (MMPortProbe *probe,
157+ GAsyncResult *res,
158+ CustomInitContext *ctx)
159+{
160+ GError *error = NULL;
161+
162+ if (!mm_common_novatel_custom_init_finish (probe, res, &error))
163+ g_simple_async_result_take_error (ctx->result, error);
164+ else
165+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
166+ custom_init_context_complete_and_free (ctx);
167+}
168+
169+static void
170+sierra_custom_init_ready (MMPortProbe *probe,
171+ GAsyncResult *res,
172+ CustomInitContext *ctx)
173+{
174+ GError *error = NULL;
175+
176+ if (!mm_common_sierra_custom_init_finish (probe, res, &error))
177+ g_simple_async_result_take_error (ctx->result, error);
178+ else
179+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
180+ custom_init_context_complete_and_free (ctx);
181+}
182+
183+static void custom_init_step (CustomInitContext *ctx);
184+
185+static void
186+custom_init_step_next_command (CustomInitContext *ctx)
187+{
188+ if (ctx->gmi_retries > 0)
189+ ctx->gmi_retries = 0;
190+ else if (ctx->cgmi_retries > 0)
191+ ctx->cgmi_retries = 0;
192+ else if (ctx->ati_retries > 0)
193+ ctx->ati_retries = 0;
194+ custom_init_step (ctx);
195+}
196+
197+static void
198+response_ready (MMPortSerialAt *port,
199+ GAsyncResult *res,
200+ CustomInitContext *ctx)
201+{
202+ const gchar *response;
203+ GError *error = NULL;
204+ gchar *lower;
205+ DellManufacturer manufacturer;
206+
207+ response = mm_port_serial_at_command_finish (port, res, &error);
208+ if (error) {
209+ /* Non-timeout error, jump to next command */
210+ if (!g_error_matches (error, MM_SERIAL_ERROR, MM_SERIAL_ERROR_RESPONSE_TIMEOUT)) {
211+ mm_dbg ("(Dell) Error probing AT port: %s", error->message);
212+ g_error_free (error);
213+ custom_init_step_next_command (ctx);
214+ return;
215+ }
216+ /* Directly retry same command on timeout */
217+ custom_init_step (ctx);
218+ g_error_free (error);
219+ return;
220+ }
221+
222+ /* Guess manufacturer from response */
223+ lower = g_ascii_strdown (response, -1);
224+ if (strstr (lower, "novatel"))
225+ manufacturer = DELL_MANUFACTURER_NOVATEL;
226+ else if (strstr (lower, "sierra"))
227+ manufacturer = DELL_MANUFACTURER_SIERRA;
228+ else if (strstr (lower, "ericsson"))
229+ manufacturer = DELL_MANUFACTURER_ERICSSON;
230+ else
231+ manufacturer = DELL_MANUFACTURER_UNKNOWN;
232+ g_free (lower);
233+
234+ /* Tag based on manufacturer */
235+ if (manufacturer != DELL_MANUFACTURER_UNKNOWN) {
236+ g_object_set_data (G_OBJECT (ctx->probe), TAG_DELL_MANUFACTURER, GUINT_TO_POINTER (manufacturer));
237+
238+ /* Run additional custom init, if needed */
239+
240+ if (manufacturer == DELL_MANUFACTURER_NOVATEL) {
241+ mm_common_novatel_custom_init (ctx->probe,
242+ ctx->port,
243+ ctx->cancellable,
244+ (GAsyncReadyCallback) novatel_custom_init_ready,
245+ ctx);
246+ return;
247+ }
248+
249+ if (manufacturer == DELL_MANUFACTURER_SIERRA) {
250+ mm_common_sierra_custom_init (ctx->probe,
251+ ctx->port,
252+ ctx->cancellable,
253+ (GAsyncReadyCallback) sierra_custom_init_ready,
254+ ctx);
255+ return;
256+ }
257+
258+ /* Finish custom_init */
259+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
260+ custom_init_context_complete_and_free (ctx);
261+ return;
262+ }
263+
264+ /* If we got a response, but we didn't get an expected string, try with next command */
265+ custom_init_step_next_command (ctx);
266+}
267+
268+static void
269+custom_init_step (CustomInitContext *ctx)
270+{
271+ /* If cancelled, end */
272+ if (g_cancellable_is_cancelled (ctx->cancellable)) {
273+ mm_dbg ("(Dell) no need to keep on running custom init in (%s)",
274+ mm_port_get_device (MM_PORT (ctx->port)));
275+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
276+ custom_init_context_complete_and_free (ctx);
277+ return;
278+ }
279+
280+#if defined WITH_QMI
281+ /* If device has a QMI port, don't run anything else, as we don't care */
282+ if (mm_port_probe_list_has_qmi_port (mm_device_peek_port_probe_list (mm_port_probe_peek_device (ctx->probe)))) {
283+ mm_dbg ("(Dell) no need to run custom init in (%s): device has QMI port",
284+ mm_port_get_device (MM_PORT (ctx->port)));
285+ mm_port_probe_set_result_at (ctx->probe, FALSE);
286+ mm_port_probe_set_result_qcdm (ctx->probe, FALSE);
287+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
288+ custom_init_context_complete_and_free (ctx);
289+ return;
290+ }
291+#endif
292+
293+#if defined WITH_MBIM
294+ /* If device has a MBIM port, don't run anything else, as we don't care */
295+ if (mm_port_probe_list_has_mbim_port (mm_device_peek_port_probe_list (mm_port_probe_peek_device (ctx->probe)))) {
296+ mm_dbg ("(Dell) no need to run custom init in (%s): device has MBIM port",
297+ mm_port_get_device (MM_PORT (ctx->port)));
298+ mm_port_probe_set_result_at (ctx->probe, FALSE);
299+ mm_port_probe_set_result_qcdm (ctx->probe, FALSE);
300+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
301+ custom_init_context_complete_and_free (ctx);
302+ return;
303+ }
304+#endif
305+
306+ if (ctx->gmi_retries > 0) {
307+ ctx->gmi_retries--;
308+ mm_port_serial_at_command (ctx->port,
309+ "AT+GMI",
310+ 3,
311+ FALSE, /* raw */
312+ FALSE, /* allow_cached */
313+ ctx->cancellable,
314+ (GAsyncReadyCallback)response_ready,
315+ ctx);
316+ return;
317+ }
318+
319+ if (ctx->cgmi_retries > 0) {
320+ ctx->cgmi_retries--;
321+ mm_port_serial_at_command (ctx->port,
322+ "AT+CGMI",
323+ 3,
324+ FALSE, /* raw */
325+ FALSE, /* allow_cached */
326+ ctx->cancellable,
327+ (GAsyncReadyCallback)response_ready,
328+ ctx);
329+ return;
330+ }
331+
332+ if (ctx->ati_retries > 0) {
333+ ctx->ati_retries--;
334+ /* Note: in Ericsson devices, ATI3 seems to reply the vendor string */
335+ mm_port_serial_at_command (ctx->port,
336+ "ATI1I2I3",
337+ 3,
338+ FALSE, /* raw */
339+ FALSE, /* allow_cached */
340+ ctx->cancellable,
341+ (GAsyncReadyCallback)response_ready,
342+ ctx);
343+ return;
344+ }
345+
346+ /* Finish custom_init */
347+ mm_dbg ("(Dell) couldn't flip secondary port to AT in (%s): all retries consumed",
348+ mm_port_get_device (MM_PORT (ctx->port)));
349+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
350+ custom_init_context_complete_and_free (ctx);
351+}
352+
353+static void
354+dell_custom_init (MMPortProbe *probe,
355+ MMPortSerialAt *port,
356+ GCancellable *cancellable,
357+ GAsyncReadyCallback callback,
358+ gpointer user_data)
359+{
360+ CustomInitContext *ctx;
361+
362+ ctx = g_slice_new (CustomInitContext);
363+ ctx->result = g_simple_async_result_new (G_OBJECT (probe),
364+ callback,
365+ user_data,
366+ dell_custom_init);
367+ ctx->probe = g_object_ref (probe);
368+ ctx->port = g_object_ref (port);
369+ ctx->cancellable = cancellable ? g_object_ref (cancellable) : NULL;
370+ ctx->gmi_retries = 3;
371+ ctx->ati_retries = 3;
372+
373+ custom_init_step (ctx);
374+}
375+
376+/*****************************************************************************/
377+
378+static gboolean
379+port_probe_list_has_manufacturer_port (GList *probes,
380+ DellManufacturer manufacturer)
381+{
382+ GList *l;
383+
384+ for (l = probes; l; l = g_list_next (l)) {
385+ if (GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (l->data), TAG_DELL_MANUFACTURER)) == manufacturer)
386+ return TRUE;
387+ }
388+ return FALSE;
389+}
390+
391+static MMBaseModem *
392+create_modem (MMPlugin *self,
393+ const gchar *sysfs_path,
394+ const gchar **drivers,
395+ guint16 vendor,
396+ guint16 product,
397+ GList *probes,
398+ GError **error)
399+{
400+ /* Note: at this point we don't make any difference between different
401+ * Dell-branded QMI or MBIM modems; they may come from Novatel, Ericsson or
402+ * Sierra. */
403+
404+#if defined WITH_QMI
405+ if (mm_port_probe_list_has_qmi_port (probes)) {
406+ mm_dbg ("QMI-powered Dell-branded modem found...");
407+ return MM_BASE_MODEM (mm_broadband_modem_qmi_new (sysfs_path,
408+ drivers,
409+ mm_plugin_get_name (self),
410+ vendor,
411+ product));
412+ }
413+#endif
414+
415+#if defined WITH_MBIM
416+ if (mm_port_probe_list_has_mbim_port (probes)) {
417+ mm_dbg ("MBIM-powered Dell-branded modem found...");
418+ return MM_BASE_MODEM (mm_broadband_modem_mbim_new (sysfs_path,
419+ drivers,
420+ mm_plugin_get_name (self),
421+ vendor,
422+ product));
423+ }
424+#endif
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: