Commit Graph
28 Commits
Author SHA1 Message Date
lvmaorui 07a6b6032b mmcli:add SAR command --sar-status/--sar-enable/--sar-disable/--set-power-level 2021-10-13 13:14:10 +02:00
Aleksander Morgado 2d43ea48e1 api,modem: new Modem3gpp.ProfileManager interface
This new interface allows modems to expose the list of available
connection profiles stored in the device and edit or delete them; as
long as the underlying device/protocol allows it.
2021-04-29 10:13:22 +00:00
Aleksander Morgado 342b7119c3 cli,3gpp-ussd: move actions to a separate source file
All the USSD operations together in a separate file, as they're
managed in a separate 3GPP USSD interface.
2021-03-24 15:31:13 +01:00
Aleksander Morgado 1c078531a0 build: use AX_IS_RELEASE() and AX_COMPILER_FLAGS()
The autoconf macros AX_COMPILER_FLAGS_{CFLAGS|GIR|LDFLAGS} test
for compiler and linker support of various flags, and add the flags to
the generated output.

If the command-line option '--enable-compile-warnings' is specified to
'configure', a number of additional warning options is also added to the
output. This is the default.

This update requires the presence of the GNU autoconf-archive in the
system.
2020-01-30 11:59:14 +01:00
Aleksander Morgado b0fba14b1e cli: allow multiple output format types
In addition to the standard human-friendly output, we now allow a
machine-friendly key-value pair output, much easier to parse and use
by programs that look at the mmcli output.

This new key-value pair output should be treated as API from now on, so
third-party programs can assume the output is compatible from one
release to another.
2018-11-26 16:51:35 +00: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 c4a584416a core: allow disabling auto-scan and notifying ports one by one via API
This commit enables a new core ModemManager daemon option, so that automatic
detection of available modems is totally disabled: '--no-auto-scan'. Note that
this option also replaces the previously used '--test-no-auto-scan' option,
which was only used during tests.

Along with the new ModemManager option, a new ReportKernelEvent() method in
the API is defined, which allows notifying the daemon of which interfaces it
should be accessing, as well as the main details of each interface. The only
mandatory parameters in the new method are 'action' (add/remove), 'name' (the
name of the interface) and 'subsystem' (the subsystem of the interface).

The mmcli tool has support for using the new api method via several new options:

 * The '--report-kernel-event' option allows specifying device ports one by
   one, and is a direct mapping of the ReportKernelEvent() method:
     $ sudo mmcli --report-kernel-event="action=add,name=wwan0,subsystem=net"
     $ sudo mmcli --report-kernel-event="action=add,name=cdc-wdm0,subsystem=usbmisc"

 * The '--report-kernel-event-auto-scan' option uses udev monitoring to notify
   events automatically to the daemon. This allows to operate in a way
   equivalent to the default daemon operation (with implicit auto-scan).

Worth noting that the ReportKernelEvent() method is only usable when
'--no-auto-scan' is explicitly used in the daemon. An error will be reported if
the method is tried while standard udev monitoring is enabled (implicit if
auto scan isn't explicitly disabled in the daemon).

If mmcli is going to be used only to report 'real time' events, an optional
'--initial-kernel-events=[PATH]' may be given in the ModemManager call to
automatically process a set of port kernel events one by one on boot. The file
may e.g. contain:
  action=add,name=wwan0,subsystem=net
  action=add,name=cdc-wdm0,subsystem=usbmisc
2016-09-29 15:43:05 +02:00
Aleksander Morgado eeb9e2bdcc build: end all multiline list variables with $(NULL)
So that appending a new item in the list only inserts one new line (i.e. the
last $(NULL) is the last item always).
2016-03-15 19:15:25 +01:00
Riccardo Vangelisti c3bec1537b mmcli: added Modem.Voice and Call support 2015-08-02 10:39:12 +02:00
Aleksander Morgado f9489a06be mmcli: add command completion 2015-01-25 21:49:01 +01:00
Aleksander Morgado 7751f2d6ed mmcli,oma: support for the new OMA interface 2013-09-09 10:20:40 +02:00
Aleksander Morgado d294232025 mmcli: new actions to use the 'Signal' interface 2013-08-21 12:33:09 +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 c07a3832dd cli: new --firmware-list' and --firmware-select' actions 2012-10-04 10:17:05 +02:00
Aleksander Morgado 1df1fe4f4a mmcli: new Time-specific actions 2012-03-16 14:53:22 +01:00
Aleksander Morgado 0833934f11 cli: added Messaging-specific actions 2012-03-15 14:15:01 +01:00
Aleksander Morgado 6ff1543c32 cli: added SMS-specific actions 2012-03-15 14:15:01 +01:00
Aleksander Morgado f8cb1269e3 cli: include Location-related actions 2012-03-15 14:14:52 +01:00
Aleksander Morgado bb88a63a72 cli: add CDMA-related option group, and enable activation request 2012-03-15 14:14:51 +01:00
Aleksander Morgado 21d3aed125 cli: implement actions from the Simple interface 2012-03-15 14:14:37 +01:00
Aleksander Morgado 88e8c4835b cli: implement SIM related actions 2012-03-15 14:14:36 +01:00
Aleksander Morgado 6583bd61e1 cli: implement 3GPP related actions 2012-03-15 14:14:36 +01:00
Aleksander Morgado 6081919744 libmm-common: make it installable
We'll install libmm-common and its headers, which will be used by libmm-glib
and the ModemManager daemon.
2012-03-15 14:14:34 +01:00
Aleksander Morgado 85b14b0008 cli: new Bearer related options 2012-03-15 14:14:34 +01:00
Aleksander Morgado 1257ecd136 cli: start to port Modem actions to use the new libmm-glib 2012-03-15 14:14:26 +01:00
Aleksander Morgado fcadc0f841 cli: add commands to get info from modem 2012-03-15 14:14:25 +01:00
Aleksander Morgado d8c2a63927 cli: split into different option groups, in different files 2012-03-15 14:14:25 +01:00
Aleksander Morgado 8f450d82b6 cli: initial cli implementation 2012-03-15 14:14:25 +01:00