aboutsummaryrefslogtreecommitdiff
path: root/libmm-glib/mm-modem.c
AgeCommit message (Collapse)Author
2017-03-29libmm-glib: remove explicit GDestroyNotify cast on g_object_unrefBen Chan
g_object_unref is in form of `void (*)(gpointer)`, which matches the GDestroyNotify signature. An explicit GDestroyNotify cast on g_object_unref is thus not needed.
2017-01-04libmm-glib,modem: init/clear ports mutexAleksander Morgado
2017-01-04libmm-glib: fix memleak of MMModem's portsThomas Haller
Fixes: 3206e9566392e8a9678bbd49e0de9bb21ed75291
2015-09-24libmm-glib: don't create a SIM object if empty path (/) givenAleksander Morgado
Instead, we'll return NULL and an error set.
2015-08-02libmm-glib,docs: fix missing documentationsAleksander Morgado
2014-06-03libmm-glib: fix a memory leak of GMutexBen Chan
2014-02-27libmm-glib: deep-copy ports array in ensure_internal_ports() (bgo #724900)Dan Williams
ensure_internal_ports() didn't deep-copy the ports array, which meant that anything calling mm_modem_port_info_array_free() was freeing the internal memory owned by MMModem if it retrieved the array with mm_modem_get_ports(). https://bugzilla.gnome.org/show_bug.cgi?id=724900
2013-11-22libmm-glib: add methods to retrieve 'Bearers' property in Modem interfaceBen Chan
2013-11-21introspection,api: new 'Bearers' property in the Modem interfaceAleksander Morgado
https://bugzilla.gnome.org/show_bug.cgi?id=712276
2013-10-24libmm-glib: fix some more introspection annotationsAleksander Morgado
2013-10-24libmm-glib: fix several introspection annotationsAleksander Morgado
2013-08-14libmm-glib: Fix and add introspection annotationsChristian Persch
Bug #705641.
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-05api,introspection: new 'SetCurrentCapabilities' methodAleksander Morgado
For those modems which expose a valid 'SupportedCapabilities' property with more than one item in the list, we'll allow switching between 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-05libmm-glib,modem: handle the new 'SupportedIpFamilies' propertyAleksander Morgado
2013-05-23libmm-glib,modem: avoid accessing an already freed GArrayAleksander Morgado
We cannot g_array_unref() the GArray when get()-ing bands as that will clear the contents of the GArray, even if there are references around. Instead, just dup the array contents when returning.
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-11libmm-glib,modem: new methods to handle the power stateAleksander 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-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-10-03libmm-glib,sim: `MMSim' is now a real objectAleksander Morgado
Not just a typedef of the gdbus-codegen generated `MmGdbusSim'.
2012-10-03libmm-glib,bearer: `MMBearer' is now a real objectAleksander Morgado
Not just a typedef of the gdbus-codegen generated `MmGdbusBearer'.
2012-10-01libmm-glib,modem: `MMModem' is now a real objectAleksander Morgado
Not just a typedef of the gdbus-codegen generated `MmGdbusModem'.
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-25libmm-glib: don't change default DBus timeout when running Modem.Command()Aleksander Morgado
Just warn if the default DBus timeout is shorter than the one being requested.
2012-04-13libmm-glib,modem: mm_modem_{get,dup}_own_numbers(): fix inverted logic.Nathan Williams
The string vector test was reversed, causing valid vectors not to be returned, and commands like mmcli to not display own numbers from a modem. Change-Id: Ia889f49f18511a2dfcdbc71a80ee0239a6c912e0
2012-03-16libmm-glib: add support to retrieve own numbersAleksander Morgado
2012-03-16libmm-common: `MMBearerProperties' won't be considered internal any moreAleksander Morgado
Renamed `MMCommonBearerProperties' to `MMBearerProperties', and removed the `MMBearerProperties' provided in libmm-glib. We'll just use the original one from libmm-common always.
2012-03-16api: `UnlockRetries' will reply a list of per-lock retry countsAleksander Morgado
Equivalent to `PinRetryCount' in the previous API. We don't have an additional property for the retry count of the current lock, as it really is duplicating information.
2012-03-16libmm-glib: set the gdbus timeout to a value longer than that remote ↵Nathan Williams
operation timeout Lets commands like "mmcli -m 0 --command-timeout=60 --command='+COPS=?'" work, instead of tripping over the 25-second gdbus default timeout first. Change-Id: I67034423ca5ab08a07ecf3c9e313082d4860ffb3
2012-03-16api,dbus: rename `AllowedBands' to just `Bands'Aleksander Morgado
ModemManager will load: 1) The list of supported bands. Note that this doesn't mean that any possible combination of bands is supported, as modems may support only specific combinations, but at least gives a rough idea of what the modem is capable of handling. 2) The list of CURRENT bands. There is no such "Allowed" bands, as we do with modes, modems will have a specific set of bands being currently used, which will be reported in the `Bands' property. If the modem allows modifying the list of bands to use, this can be done with the `SetBands()' method. If the modem doesn't support using a specific combination of bands, this method will report an error.
2012-03-15api,dbus: new `Command' method in the API to send arbitrary AT commandsNathan Williams
BUG=chromium-os:25348 TEST="mmcli -m 0 --command='E0'" Change-Id: I320587560fde5780f9d5a4998e32364d36a71ed7
2012-03-15libmm-glib: (trivial) fix some return typesAleksander Morgado
2012-03-15libmm-glib: no need to expose custom flags string buildersAleksander Morgado
2012-03-15libmm-glib: use g_list_free_full() when possibleAleksander Morgado
2012-03-15libmm-common,libmm-glib: new object to handle bearer creation propertiesAleksander Morgado
2012-03-15libmm-common,libmm-glib: new modes string builderAleksander Morgado
2012-03-15libmm-common, libmm-glib: new bands string builderAleksander Morgado
2012-03-15api: MMModemBand is now an enum, not flagsAleksander Morgado
We don't want to handle bands as flags, in order to avoid the need of 64-bits for the enum. This change implies that setting allowed bands will be done by giving an array of uint32 values, signature "au".
2012-03-15libmm-glib: handle new 'allow-roaming' property when creating bearersAleksander Morgado
2012-03-15libmm-glib: new helper method to build a string with access technologiesAleksander Morgado
2012-03-15api,enums: renamed `MMModemAccessTech' to `MMModemAccessTechnology'Aleksander Morgado
This one was the last enum without full name.
2012-03-15api,dbus: renamed `AccessTechnology' to `AccessTechnologies'Aleksander Morgado
We are reporting a bitmask of flags, not just one value.
2012-03-15libmm-glib: get a list of MMBearer objects when listing bearers in the MMModemAleksander Morgado
2012-03-15libmm-glib: get the MMBearer object when creating it in the MMModemAleksander Morgado
2012-03-15libmm-glib: handle bearer creation, deletion and listingAleksander Morgado