Commit Graph
80 Commits
Author SHA1 Message Date
Aleksander Morgado d7fdda2247 linktop: new Linktop specific +CFUN? response parser
We handle all known CFUN? response values in the new parser, and report an error
if an unknown value is found.
2016-10-12 11:29:52 +02:00
Aleksander Morgado eade066d8a ublox: generate enum types for usb profile and networking mode 2016-10-12 11:29:51 +02:00
Aleksander Morgado 241b63304b ublox: new 'AT+UUSBCONF?' response parser 2016-10-12 11:29:51 +02:00
Aleksander Morgado 58c955f5f2 core: allow building and running without udev
Instead of relying on the udev daemon and GUDev to manage the devices reported
by the kernel, we can now run ModemManager relying solely on the kernel events
reported via the new ReportKernelEvent() API. Therefore, the '--no-auto-scan'
option is implicit for the ModemManager daemon when udev is disabled in the
build.

Additionally, a new custom implementation of the kernel device object is
provided, which uses sysfs to load the properties and attributes required in
each kernel device, instead of using a GUdevDevice.

The udev rule files are kept in place, and a simple custom parser is provided
which preloads all rules in memory once and then applies them to the different
kernel objects reported via ReportKernelEvent(), e.g. to set port type hints.
A simple unit test setup is prepared to validate the udev rules during the
`check' Makefile target.
2016-09-29 15:43:05 +02:00
Aleksander Morgado 8ac075d768 build: ignore thuraya helpers test 2016-03-13 18:01:16 +01:00
Aleksander Morgado e00fd54a20 build: bump required gettext version to 0.19.3
Otherwise:
    configure.ac:86: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged.
    configure.ac:86: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead,
    configure.ac:86: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.
2016-03-13 17:39:20 +01:00
Aleksander Morgado 7652486433 build: ignore telit unit test 2016-02-20 16:26:19 +01:00
Aleksander Morgado 553666d63a build: use absolute paths when ignoring specific files in subdirs
If paths are not prefixed with '/' they are taken as filename-ignores that apply
to the whole tree.
2015-02-16 16:48:57 +01:00
Aleksander Morgado 8b985af3b6 build: remove obsolete ignored files 2015-02-11 19:58:13 +01:00
Aleksander Morgado f4ec32e633 test: new 'mmtty' utility
The new tester allows to play with the AT-capable TTY using the same code as
ModemManager itself.

    $ sudo ./test/mmtty -d /dev/ttyHS0 --verbose
    opening serial port '/dev/ttyHS0'...
    (ttyHS0) opening serial port...
    (ttyHS0): port attributes not fully set
    (ttyHS0) device open count is 1 (open)
    flashing serial port '/dev/ttyHS0'...
    ready
    > AT+GCAP
    (ttyHS0): --> 'AT+GCAP<LF><CR>'
    (ttyHS0): <-- '<CR><LF>+GCAP: +CGSM,+DS,+ES<CR><LF><CR><LF>OK<CR><LF>'
    +GCAP: +CGSM,+DS,+ES
    > AT+GMI
    (ttyHS0): --> 'AT+GMI<LF><CR>'
    (ttyHS0): <-- '<CR><LF>Option N.V.<CR><LF><CR><LF>OK<CR><LF>'
    Option N.V.
    > ^C

    cancelling the main loop...

    (ttyHS0) device open count is 0 (close)
    (ttyHS0) closing serial port...
    (ttyHS0) serial port closed
    (ttyHS0) forced to close port
2015-02-11 19:58:12 +01:00
Jakub Sitnicki 7552030ef9 build: add code coverage support
Build all targets, except for CLI tools (mmcli, uml290), with special
flags needed for collecting code coverage information when the build has
been configured with --enable-code-coverage.

Three new targets are available in the top build directory:

 - `check-code-coverage' runs the test suite and generates a code
   coverage report,

 - `code-coverage-capture' generates a code coverage report from already
   collected data, which can come in handy when one wants to see code
   paths touched by a particular test,

 - `code-coverage-clean' removes the collected coverage data and the
   generated reports.
2015-01-11 19:32:43 +01:00
Aleksander Morgado f6b0fd3f7b libqcdm: new 'reset' tester
Just like 'modepref', but not doing any mode changes, just OFFLINE+RESET.
2014-07-03 16:21:31 +02:00
Aleksander Morgado 293b032149 build: ignore test files 2014-06-22 18:24:38 +02:00
Aleksander Morgado 82067915d1 cinterion: use AT^SCFG=? to parse supported bands in 3G devices 2014-02-28 16:35:18 +01:00
Aleksander Morgado bff2a8d2f2 tests: added support for DBus service tests
We can now run 'simulated' modems against a ModemManager running in its own
session bus.
2014-02-13 13:41:58 +01:00
Aleksander Morgado 46ff06ff80 service,tests: new DBus service file for tests 2014-02-13 13:41:17 +01:00
Aleksander Morgado 4827e79848 libmm-glib,tests: use gdbus-codegen to generate code for the new Test interface 2014-02-13 13:41:14 +01:00
Aleksander Morgado 0c86840dde ports: rename 'libserial' to 'libport' 2014-02-13 13:40:11 +01:00
Bjørn Mork f721c650d2 qcdm: add utility to display and set the "IPv6 enabled" variable
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2013-12-05 13:16:48 -06:00
Aleksander Morgado 9c2be510f6 build: ignore built translation files 2013-10-28 17:57:43 +01:00
Aleksander Morgado e493292b7a tests: new CDMA SMS part tester 2013-10-25 19:47:19 +02:00
Aleksander Morgado c440f121cc tests: rename 3GPP SMS part tester 2013-10-25 19:47:19 +02:00
Aleksander Morgado e529cd3212 build: ignore plugin testers 2013-10-10 08:34:52 +02:00
Christian Persch 6eec45cb73 gitignore: Updated to ignore GIR and VAPI bindings generated files
Bug #705641.
2013-08-14 13:30:35 +02:00
Aleksander Morgado 8d0ec0fc24 huawei: new helper to parse ^NDISSTATQRY responses 2013-07-11 09:39:21 +02:00
Aleksander Morgado ce6777c53b Revert "systemd: simplify unit file"
This reverts commit 91898aa8b0.

See additional comments in the following bug:

  https://bugzilla.gnome.org/show_bug.cgi?id=701229

Basically, 'mask' and 'unmask' operations are not the ones we should be using
or suggesting; and the Alias= for the DBus file is the correct way to go.
2013-06-23 11:47:41 +02:00
Aleksander Morgado a43cecb456 api,header: setup and export MM version symbols in the API 2013-06-13 10:04:49 +02:00
Aleksander Morgado 0c7265de29 build: new strict & permissive polkit policies in '--with-polkit'
The '--with-polkit' configure switch now supports more options than just yes
or no:

 * strict: Active user needs to explicitly authenticate when peforming an
   operation defined in the Device.Control, Messaging, Location or Contacts
   interfaces. Polkit policy is set to 'auth_self_keep'.

 * permissive: Active user doesn't need to explicitly authenticate when
   peforming an operation defined in the Device.Control, Messaging, Location or
   Contacts interfaces. Polkit policy is set to 'yes'.

 * none: don't use polkit.

If '--with-polkit' is not given, usage will be automatically decided based on
the presence of the Polkit headers in the system (if headers found, strict
policy will be applied, otherwise none).

Also:
 * '--with-polkit' is equivalent to '--with-polkit=strict'
 * '--with-polkit=yes' is equivalent to '--with-polkit=strict'
 * '--with-polkit=no' is equivalent to '--with-polkit=none'
 * '--without-polkit' is equivalent to '--with-polkit=none'

By default, ModemManager will always apply the strict policy, in order to
protect the user from unwanted operations in the modem (e.g. getting the PIN
locked forever after wrong PIN/PUK unlock attempts).

https://bugzilla.gnome.org/show_bug.cgi?id=701740
2013-06-13 09:21:52 +02:00
Aleksander Morgado 91898aa8b0 systemd: simplify unit file
Avoid setting up the Alias rule, which was a helper to let us 'disable' the
systemd service including dbus-activations. Without the Alias, 'disable' will
still let starting ModemManager through dbus-activation. If you really want to
fully disallow starting MM also through dbus-activation, you should 'mask' and
'unmask' the service.

E.g.:
 $ sudo systemctl mask ModemManager
ln -s '/dev/null' '/etc/systemd/system/ModemManager.service'

 $ sudo mmcli -L
error: couldn't find the ModemManager process in the bus

 $ sudo systemctl unmask ModemManager
rm '/etc/systemd/system/ModemManager.service'

 $ sudo mmcli -L
No modems were found

https://bugzilla.gnome.org/show_bug.cgi?id=701229
2013-06-06 10:07:17 +02:00
Aleksander Morgado 162d96b116 test-modem-helpers-qmi: new unit tests to check the 'current-capabilities' logic
Based on Dan's tests with QMI modems.
2013-04-11 09:17:13 +02:00
Aleksander Morgado bee388098c build: ignore 'modepref' test 2013-03-13 11:17:45 +01:00
Aleksander Morgado 222825d642 systemd: include systemd unit file support
Allow having systemd handling the life cycle of the ModemManager process.
2013-02-06 17:32:59 +01:00
Martyn Russell 89723c7ef2 docs,ModemManager: include the missing manpage
(aleksander) I messed up the integration of commit bc49794848, this should fix
it.
2012-10-24 10:44:58 +02:00
Aleksander Morgado 3228ca10be docs: don't rebuild types every time 2012-10-04 10:17:13 +02:00
Aleksander Morgado b6d628b3a1 build: merge libmm-common into libmm-glib
It's pointless to have libmm-common around, just merge it into libmm-glib and
make ModemManager depend on libmm-glib directly. At the end, the non-common
stuff in libmm-glib is really minimal.
2012-10-04 10:17:05 +02:00
Aleksander Morgado ca14de0605 doc: setup gtk-doc generation for libmm-glib 2012-10-01 23:44:47 +02:00
Aleksander Morgado cb881a2653 uml290: git-ignore generated program 2012-06-26 12:15:59 +02:00
Aleksander Morgado 6fa3f0b0d7 build: provide pkg-config files for ModemManager, libmm-common and libmm-glib 2012-05-24 09:59:53 +02:00
Aleksander Morgado 961290ddd7 build: autogenerate `mm-errors-quarks.c'
We define custom nicks for each error enum, matching the DBus error entry that
we want to have with each of them.
2012-03-16 14:53:23 +01:00
Aleksander Morgado c4581af5d9 docs: set ModemManager' as module name instead of mm' 2012-03-16 14:53:17 +01:00
Aleksander Morgado ca9104dcb4 build: generate PNG files automatically from DIA files 2012-03-16 14:53:17 +01:00
Aleksander Morgado 7d9d003324 build: rename the binary from modem-manager' to ModemManager' 2012-03-16 14:53:17 +01:00
Aleksander Morgado c55b5d097e marshallers: integrate them into the daemon compilation 2012-03-16 14:53:16 +01:00
Aleksander Morgado 2522acf899 tests,sms: refactor SMS part related tests
Now using the MMSmsPart setup.
2012-03-16 14:28:15 +01:00
Aleksander Morgado a9c406e3c0 cinterion: new Cinterion-specific source directory 2012-03-16 14:28:13 +01:00
Aleksander Morgado ec98955362 build: ignore built files 2012-03-15 14:15:04 +01:00
Aleksander Morgado b7938448ea libmm-common,tests: new tests for the key/value parser 2012-03-15 14:15:04 +01:00
Aleksander Morgado dcecb94631 libmm-common,libmm-glib: new object to handle properties in simple Connect()
Instead of using type unsafe properties passed to the connect() call, we build
a new object which does the handling of the properties to be passed.
2012-03-15 14:14:37 +01:00
Aleksander Morgado 9962f5cbde bearer: new `bearer-state' property 2012-03-15 14:14:35 +01:00
Aleksander Morgado 8f450d82b6 cli: initial cli implementation 2012-03-15 14:14:25 +01:00