Commit Graph

2444 Commits

Author SHA1 Message Date
Aleksander Morgado
1cea1e5bbe simtech: implement custom unsolicited events setup/cleanup 2012-04-14 16:04:17 +02:00
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