aboutsummaryrefslogtreecommitdiff
path: root/cli/mmcli-modem.c
AgeCommit message (Collapse)Author
2023-09-18api,modem: new 'Physdev' propertyLukas Voegl
Signed-off-by: Lukas Voegl <lvoegl@tdt.de>
2022-05-25cli: don't print signal quality unless modem is enabledAleksander Morgado
We don't have a clear way to report "unknown" signal quality, so for now just skip printing it altogether in the mmcli human output if the modem is not yet enabled.
2022-01-18mmcli,modem: new '--get-cell-info' actionAleksander Morgado
2021-12-24cli,modem: add 5GNR registration settings in modem info outputAleksander Morgado
2021-11-02api,3gpp: new 'PacketServiceState' propertyAleksander Morgado
This property allows the user to know whether the device is attached or detached from the packet domain service.
2020-08-28api,modem: new 'SetPrimarySimSlot' methodAleksander Morgado
This new method allows changing the SIM slot considered as primary, when the modem supports multiple SIM slots. The generic handling of this method will make sure that the modem object and all its SIM objects are re-probed from scratch as soon as a successful SIM slot switch happens. Implementations may report MM_CORE_ERROR_EXISTS when the switch doesn't need to happen (e.g. if the requested SIM slot is already the active one).
2020-08-28api,modem: new 'SimSlots' and 'PrimarySimSlot' propertiesAleksander Morgado
The 'SimSlots' property exposes an array of SIM object paths, with one array item for each available SIM slot in the system. If a valid SIM card is found in a given slot, the path of the SIM object will be exposed in the array item; if no valid SIM card is found, the empty object path ("/") will be exposed instead. The 'PrimarySimSlot' property exposes which of the SIM slots available in the system is the one configured as being primary. In a Multi-SIM Single-Standby setup, the primary slot will be the one corresponding to the single active SIM in the system. In a Multi-SIM Multi-Standby setup, the primary slot will be the one configured to act as primary (e.g. the one that will be used for the data connection) among all the active SIM cards found.
2020-04-09api: deprecate MM_MODEM_CAPABILITY_LTE_ADVANCEDAleksander Morgado
It's not used anywhere.
2020-03-21cli: context: add ':' to the section titlesAleksander Morgado
So that --help-all print all sections in the same way as the Help and Application option groups.
2020-01-31cli: fix warnings with -WshadowAleksander Morgado
mmcli-manager.c: In function ‘context_free’: mmcli-manager.c:167:24: error: declaration of ‘ctx’ shadows a global declaration [-Werror=shadow] 167 | context_free (Context *ctx) | ~~~~~~~~~^~~ mmcli-manager.c:51:17: note: shadowed declaration is here 51 | static Context *ctx; | ^~~ ...
2019-11-15cli,modem: avoid using deprecated mm_pco_list_free()Aleksander Morgado
2019-04-02api,modem: new 'CarrierConfigurationRevision' propertyAleksander Morgado
Which reports the version of the currently active carrier configuration. We also update the firmware 'version' reported in the firmware settings so that carrier-specific upgrades can be performed (e.g. when the firmware stays the same but the MCFG is updated).
2019-04-02iface-modem: new carrier config supportAleksander Morgado
During initialization phase we will allow querying the modem for the details of which carrier-specific configuration is being used, and will expose a description string in the API. In addition to showing the current configuration, we will also allow automatically switching the configuration based on the SIM card detected in the device. In order to allow this, plugins/modems will need to provide the expected mapping between carrier config description and MCCMNC. This mapping cannot be generic, because different manufacturers may use different description strings.
2019-02-11cli: report modem removal in --monitor-stateAleksander Morgado
If the modem ends up not being managed by ModemManager, detect it during the '--monitor-state' mmcli operation and report it. https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/106
2019-01-03mmcli,modem: new `--inhibit` action on the modem objectAleksander Morgado
Modem device inhibition is really a manager action for which we provide the full modem device 'uid'. This new operation allows to perform device inhibition using the modem object as reference, which is more handy than first looking at the device 'uid' and then running the manager action. $ sudo mmcli -m 0 --inhibit successfully inhibited device with uid '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-12/1-12.2' type Ctrl+C to abort this program and remove the inhibition ^C cancelling the operation... successfully uninhibited device with uid '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-12/1-12.2'
2018-12-07cli,modem: output should include all 3GPP EPS fields alwaysAleksander Morgado
Even if some fields wouldn't apply to some modem, we're always including all in the output so that clients can assume the fields are always given. Fix adding the 3GPP EPS related fields unconditionally.
2018-12-07api,modem-3gpp: new 'InitialEpsBearerSettings' propertyAleksander Morgado
This property shows the settings stored in the device to be used during the initial LTE attach procedure.
2018-12-07api,modem-3gpp: new 'InitialEpsBearer' propertyAleksander Morgado
This property contains the DBus path of a Bearer object of type MM_BEARER_TYPE_DEFAULT_ATTACH, which is automatically exposed by the modem when registered in the LTE network. Unlike standard bearer objects created by the user, this bearer won't allow any connection/disconnection request, as its status is bound to the LTE registration exclusively. The bearer settings exposed by the object include the APN details that have been used during the initial packet network attach, which may be defined by modem settings (e.g. if previously configured in the firmware which APN to use for the given SIM card operator) or by the network itself (e.g. if none configured, or if a network override is required as when roaming). The bearer object will be created as soon as the LTE attach status details are known, and only while the modem is enabled. The implementation allows modems to update the LTE attach status details during runtime, so the bearer object with the settings may be recreated during runtime as well.
2018-11-26cli: allow multiple output format typesAleksander Morgado
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-26api,modem: deprecate ListBearers() methodAleksander Morgado
This method is completely unnecessary as we have the readable Bearers property already in place, so let's deprecate it. Worth noting that the mm_modem_list_bearers() async/sync methods in libmm-glib were not really using the ListBearers() method anyway, they are using the property directly. These methods are NOT deprecated, because they allow us to get a list of MMBearer objects, instead of just the list of DBus paths that we get when reading the Bearers property directly. We also remove --list-bearers from the mmcli operation list as we have already the same information in the standard modem output.
2018-10-06cli,modem: print PCO as 'n/a' if not availableAleksander Morgado
2018-08-18cli: print 'Pco' property in Modem3gpp interfaceBen Chan
2018-01-20modem-3gpp: allow loading and changing EPS UE mode of operationAleksander Morgado
The UE modes of operation for LTE are defined in 3GPP TS 24.301 (e.g. section 4.3 in v10.3.0): * PS mode 1: EPS only, 'voice centric' * PS mode 2: EPS only, 'data centric' * CS/PS mode 1: EPS and non-EPS, 'voice centric' * CS/PS mode 2: EPS and non-EPS, 'data centric' The mode specifies, among other things, how the UE should behave w.r.t CS fallback depending on the capabilities reported by the network.
2017-09-20cli: show hardware revision property of Modem interfaceBen Chan
2015-12-07license: mmcli is GPLv2+, not GPLv3+Aleksander Morgado
mmcli is GPLv2+; that's what --version has always said and that's what the README in ModemManager sources specifies: License. The ModemManager and mmcli binaries are both GPLv2+. The libmm-glib library is LGPLv2+.
2014-05-20cli: consistently use spaces for indentationBen Chan
2014-02-20cli: new '--set-power-state-off' commandAleksander Morgado
2014-01-30mmcli: allow passing bearer index in --delete-bearerAleksander Morgado
2013-11-22cli: print 'Bearers' property in Modem interfaceBen Chan
2013-10-09iface-modem-3gpp: add SubscriptionState propertyThieu Le
2013-06-24api,introspection: new 'Ports' property in the Modem interfaceAleksander Morgado
We will expose a new 'Ports' property listing all ports currently known by a given modem. Ports which are not used but are detected as being part of the modem will be listed with an 'unknown' port type. This change uses the new 'MMModemPortType' enum and the new 'MMModemPortInfo' helper struct to handle these values in libmm-glib. The already available 'MMPortType' enum hasn't been re-used for the interface because it contains values that we don't need (e.g. IGNORED). The port list is now also included in the modem information command of mmcli: $ sudo mmcli -m 0 /org/freedesktop/ModemManager1/Modem/0 (device id '97b7b99e3e2bea103880545b619fb05a3cc81b26') ------------------------- System | device: '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4' | drivers: 'qcserial, qmi_wwan' | plugin: 'Gobi' | primary port: 'cdc-wdm0' | ports: 'ttyUSB0 (qcdm), ttyUSB1 (at), cdc-wdm0 (qmi), wwp0s29u1u4 (net)' https://bugzilla.gnome.org/show_bug.cgi?id=702678
2013-06-05mmcli: new '--set-current-capabilities' commandAleksander Morgado
New command to allow changing modem capabilities, if supported. The modem will power cycle automatically after having changed them.
2013-06-05api,introspection: rename 'ModemCapabilities' to 'SupportedCapabilities'Aleksander Morgado
And also make it a list of masks, specifying which are the specific combinations supported, not just one mask with all. E.g.: ------------------------- Hardware | manufacturer: 'Sierra Wireless, Incorporated' | model: 'MC7710' | revision: 'SWI9200X_03.05.19.04ap r5475 carmd-en-10527 2012/09/17 17:57:14' | supported: 'gsm-umts | gsm-umts, lte' | current: 'gsm-umts, lte' | equipment id: '358178040668164'
2013-06-05api,introspection: merge 'AllowedModes' and 'SupportedMode' into 'CurrentModes'Aleksander Morgado
We now have a single 'CurrentModes' property which contains both values in a tuple with signature "(uu)". Also, rename 'SetAllowedModes()' to 'SetCurrentModes()', and update the list of arguments expected to have a single "(uu)" tuple.
2013-06-05api,introspection: 'SupportedModes' is now a list of possible combinationsAleksander Morgado
Instead of just a mask of MMModemMode values, we now provide a list of the allowed and preferred mode combinations supported by the modem. E.g.: $> sudo mmcli -m 0 ------------------------- Modes | supported: 'allowed: 2g; preferred: none | allowed: 3g; preferred: none | allowed: 2g, 3g; preferred: none | allowed: 2g, 3g; preferred: 2g | allowed: 2g, 3g; preferred: 3g | allowed: 4g; preferred: none | allowed: 2g, 3g, 4g; preferred: none'
2013-06-05api,instrospection: rename 'Bands' to 'CurrentBands'Aleksander Morgado
... and 'SetBands()' to 'SetCurrentBands()'. We'll keep the 'Current' keyword in those properties which also have 'Supported' values.
2013-06-05mmcli,modem: show supported IP families in modem infoAleksander Morgado
2013-03-22cli: show CDMA activation state infoAleksander Morgado
2013-02-22api: notify in the interface about the reason why the modem is FAILEDAleksander Morgado
We currently implement 'SIM missing' and 'SIM error', which are probably the most common ones.
2013-01-11cli: show current power state in the modem status informationAleksander Morgado
2013-01-11cli: new '--set-power-state-on' and '--set-power-state-low' commandsAleksander Morgado
2012-10-19api,modem: new 'PrimaryPort' propertyAleksander Morgado
We do need to specify which is the primary port being used for controlling the modem. This allows us to match the device with an already existing bluetooth device in NetworkManager.
2012-10-15cli: avoid segfault when revision info is not givenAleksander Morgado
2012-10-05cli: include signal quality information in modem status infoAleksander Morgado
2012-10-04libmm-glib: remove the `libmm-common.h' headerAleksander Morgado
Both the ModemManager daemon and the mmcli will now include `libmm-glib.h' only. We also handle two new special `_LIBMM_INSIDE_MM' and `LIBMM_INSIDE_MMCLI' symbols, which if included before the `libmm-glib.h' library allow us to: * Don't include the libmm-glib high level API in the ModemManager daemon, as the object names would clash with those in the core. * Define some of the methods of helper objects to be included only if compiling ModemManager daemon or the mmcli.
2012-09-07cli: include both current and modem capabilities in modem reportAleksander Morgado
2012-08-24api,introspection: report list of drivers, not just oneAleksander Morgado
Different ports of the same modem may get handled by different drivers. We therefore need to provide a list of drivers (new `Modem.Drivers' property with signature 'as') instead of just one (removed `Modem.Driver' property with signature 's'). $ sudo mmcli -m 0 | grep drivers | drivers: 'qcserial, qmi_wwan'
2012-07-25cli: get AT command timeout directly from our default operation timeoutAleksander Morgado
We remove the `--command-timeout' option, as the AT command timeout is now directly computed from our default DBus timeout (modifiable with `--timeout').
2012-07-25cli: allow modifying default DBus timeout with `--timeout'Aleksander Morgado
By default 30s will be used for every operation.
2012-07-25cli: fix showing CDMA related info in sync modeAleksander Morgado