Commit Graph
2393 Commits
Author SHA1 Message Date
Aleksander Morgado 8cd4b29fde simtech: new `MMBroadbandModemSimtech' object 2012-04-14 16:04:17 +02:00
Aleksander Morgado ba7761f664 simtech: include udev rules 2012-04-14 16:04:17 +02:00
Aleksander Morgado 43be521ef6 build: split includes for plugin specific udev rules
Let each plugin block include its own udev rules, instead of having them all
together at the end of the Makefile.
2012-04-14 16:04:17 +02:00
Aleksander Morgado 7183216d9d simtech: start porting the SimTech plugin 2012-04-14 16:04:17 +02:00
Nathan Williams 01a17f5c6c helpers: adjust parsing of +CNUM response to permit spaces in the alphanumeric descriptor.
This permits matching a response such as '"Line 1","+19999999999",145',
which previously did not match.

Change-Id: I666af8774507c6c3b3e214b820449542065dd8b4
2012-04-13 23:35:13 +02:00
Nathan Williams a07220650b libmm-glib,modem: mm_modem_{get,dup}_own_numbers(): fix inverted logic.
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-04-13 23:33:25 +02:00
Aleksander Morgado d379b9ea2a bearer: allow subclasses to report disconnection
The new `mm_bearer_report_disconnection()' allows subclasses to notify about
being disconnected, so that every layer of inheritance can chain its own code
to reset the connection status.

This commit partially disables the logic included in commit 981222. Now
subclasses (actually, no one) are not allowed to g_object_set() the
MM_BEARER_STATUS property.
2012-04-10 23:27:25 +02:00
Aleksander Morgado dac1021e4c cinterion: no need for custom supported modes loading 2012-04-10 18:28:33 +02:00
Aleksander Morgado 83afd3ddc9 iface-modem: new helpers to query supported modes 2012-04-10 18:28:33 +02:00
Aleksander Morgado e89a8a42a9 novatel: no need for custom supported modes loading 2012-04-10 18:28:33 +02:00
Aleksander Morgado bc0d9ddf5f broadband-modem: query supported networks to get a better supported modes value
If we base our supported modes default guessing only on capabilities listed by
AT+GCAP, we find that we don't know how to differenciate between 2G and 3G 3GPP
modems. So, if supported, we will try to query the list of supported networks
with AT+WS46=?, which explicitly tells us if the modem supports GERAN and/or
UTRAN and/or E-UTRAN. Note that plugins need to request this new behaviour by
setting the `MM_BROADBAND_MODEM_USE_WS46' property to TRUE when creating the
modem object.
2012-04-10 18:27:17 +02:00
Aleksander Morgado b49ddfe930 iface-modem: skip handling the CURRENT_CAPABILITIES property
It is an unnecessary complication, as long as we can keep the helpers in the interface.
2012-04-10 17:47:43 +02:00
Aleksander Morgado 9812225d93 bearer: always reset interface state when going into disconnected status
Custom bearer implementations in Plugins are allowed to g_object_set() the
MM_BEARER_STATUS property to DISCONNECTED in order to notify that the bearer got
disconnected. We need to always reset the interface state (remove IP config, set
connected=FALSE,...) also in that case.

Also consolidated in some helper private functions the way the bearer status is
updated.
2012-04-10 10:46:10 +02:00
Aleksander Morgado 8d4a549e61 TODO: GPS location implemented already 2012-04-02 15:39:48 +02:00
Aleksander Morgado f183a5d73d iridium: remove previous modem implementation 2012-03-31 14:56:54 +02:00
Aleksander Morgado c2a096f9a1 linktop: plugin fully ported 2012-03-31 14:54:27 +02:00
Aleksander Morgado cfeebcd63a manager: no need to remove modems in idle
There is no problem in getting the modem removed just after finishing the
disabling sequence.
2012-03-30 16:18:48 +02:00
Aleksander Morgado 3094e3f26b manager: try to get all modems disabled before while shutting down 2012-03-30 16:11:55 +02:00
Aleksander Morgado 8c84aea3f0 base-modem: disconnect internal cancellable handler while disposing 2012-03-30 16:11:14 +02:00
Aleksander Morgado b68461c417 base-modem: plug small leaks 2012-03-30 16:09:27 +02:00
Aleksander Morgado a416f6eaea docs: document MM_PLUGIN_BASE_ALLOWED_SINGLE_AT 2012-03-30 13:53:24 +02:00
Aleksander Morgado b03541b1fe plugin-base: don't setup udev client notifications 2012-03-30 13:47:00 +02:00
Aleksander Morgado 0372e73abd port-probe-cache: ensure we cleanup every possible leftover 2012-03-30 13:47:00 +02:00
Aleksander Morgado 94d46a4387 plugin-base: plug memleak 2012-03-30 13:47:00 +02:00
Aleksander Morgado 7518772d4b core: fatal errors in iface initializations force the modem into a FAILED state
Modems which end up being found unusable (e.g. no SIM, fatal SIM error, no
capabilities) will be exposed in DBus, but just with the Modem interface and
in a FAILED state which allows no actions.
2012-03-30 13:47:00 +02:00
Aleksander Morgado 3b366118b6 simple: need to wait to get fully initialized before trying to enable 2012-03-30 10:25:33 +02:00
Aleksander Morgado 374c028b16 broadband: reload operator and registration info only when enabling 3GPP location source 2012-03-30 08:20:38 +02:00
Aleksander Morgado 0d8cf160e5 broadband: ensure 3GPP location info gets updated when enabling the source
Whenever 3GPP location source gets enabled, we'll launch new registration status
checks (to get updated LAC/CI) and new operator code/name checks (to get updated
MCC/MNC).

Additional changes were needed in the HSO plugin, so that the specific location
gathering enabling implemented by the HSO modem chains up parent's one first.
2012-03-29 17:20:37 +02:00
Aleksander Morgado 3cea187a94 location: update the status before running enabling/disabling sequences
This will allow implementations of location source enabling to actually update
the location information during the enabling phase.
2012-03-29 17:17:52 +02:00
Aleksander Morgado 43bd3f95ae 3gpp: let operator name/code reloading be requested by implementations 2012-03-29 17:16:38 +02:00
Aleksander Morgado dc376bb725 3gpp: errors when reloading operator name/code will reset the values in the interface 2012-03-29 17:15:48 +02:00
Aleksander Morgado bb2f9b672c broadband-modem: remove unused variable 2012-03-29 16:10:07 +02:00
Aleksander Morgado b80fdfdaa8 iface-modem-location: plug memleak and reference count mismatch 2012-03-29 09:18:04 +02:00
Aleksander Morgado f1d4e0fb63 mmcli: prefix all NMEA traces in order to get a pretty print 2012-03-29 09:18:04 +02:00
Aleksander Morgado 422ed7b633 libmm-common,location-gps-nmea: ensure traces get separated with \r\n 2012-03-29 09:18:04 +02:00
Aleksander Morgado 4bc990ce76 mmcli: new actions to request gps-specific or all available locations 2012-03-29 09:18:04 +02:00
Aleksander Morgado 3dd0034560 libmm-glib: provide extended getters for location information objects
The user can now query for all location information with
`mm_modem_location_get_full()', or just for specific location sources with
`mm_modem_location_get_3gpp()', `mm_modem_location_get_gps_nmea()' or
`mm_modem_location_get_gps_raw()'.
2012-03-29 09:18:04 +02:00
Aleksander Morgado 3f7a6fe31b libmm-common,location-gps-raw: fix check looking for mandatory parameters 2012-03-29 09:18:04 +02:00
Aleksander Morgado 19d53751a2 libmm-common,location-gps-raw: don't build dictionary if mandatory parameters missing 2012-03-29 09:18:04 +02:00
Aleksander Morgado 9116a58eb6 mmcli: allow multiple location source enabling/disabling commands
For example, we do allow:
 mmcli -m 0 --enable-location-gps-nmea --disable-location-gps-raw

All the options get merged into a single Setup() call in the Location interface.
2012-03-29 09:18:04 +02:00
Aleksander Morgado ad8a40f8aa api,dbus: update the fields retrievable in the raw GPS location source
Currently just provide the time of measurement, latitude, longitude and
altitude.
2012-03-29 09:18:04 +02:00
Aleksander Morgado 2bf61649d8 libmm-common,tests: new unit tests for the numeric field parsers 2012-03-29 09:18:04 +02:00
Aleksander Morgado e00705c203 libmm-common,helpers: additional checks in the string to number converters
We won't allow NULL, empty, or strings with non-digits.
2012-03-29 09:18:04 +02:00
Aleksander Morgado 71e108fd64 hso: include support for the raw GPS location source 2012-03-29 09:18:04 +02:00
Aleksander Morgado 33e569bbab iface-modem-location: handle the raw GPS location source 2012-03-29 09:18:03 +02:00
Aleksander Morgado 423c4a9d67 libmm-common: new helper `MMModemLocationGpsRaw' object 2012-03-29 09:18:03 +02:00
Aleksander Morgado bf42082466 libmm-common: new helpers to parse doubles from strings or match infos 2012-03-29 09:18:03 +02:00
Aleksander Morgado ee8afd8034 libmm-common,location-gps-nmea: allow sequences of traces
Some traces, e.g. $GPGSV, are part of a sequence. For those traces, we'll try
to always keep the whole sequence around, not just the last received trace.
2012-03-29 09:18:03 +02:00
Aleksander Morgado 614a547316 hso: report received NMEA traces 2012-03-29 09:18:03 +02:00
Aleksander Morgado 53b500c11d iface-modem-location: handle the NMEA-based GPS location source 2012-03-29 09:18:03 +02:00