Commit Graph

2377 Commits

Author SHA1 Message Date
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
Aleksander Morgado
0012b71186 libmm-common: new helper `MMModemLocationGpsNmea' object 2012-03-29 09:18:03 +02:00
Aleksander Morgado
2072190691 hso: open/close the raw GPS port when we enable/disable GPS gathering 2012-03-29 09:17:53 +02:00
Aleksander Morgado
97f779df1e hso: ensure GPS is disabled when we initialize the modem 2012-03-29 09:17:53 +02:00
Aleksander Morgado
1cfab89719 base-modem: use new `MMGpsSerialPort' type for the raw GPS port 2012-03-29 09:17:53 +02:00
Aleksander Morgado
a0b3663274 gps-serial-port: new type to handle read-only serial ports with GPS traces 2012-03-29 09:17:53 +02:00
Aleksander Morgado
2bd321489d mmcli: new --location-enable-gps' and --location-disable-gps' actions 2012-03-29 09:17:53 +02:00
Aleksander Morgado
ab9363011a hso: enable/disable GPS location gathering 2012-03-29 09:17:53 +02:00
Aleksander Morgado
335ba97f48 hso: include custom location capabilities loading
Will check for GPS location sources.
2012-03-29 09:17:53 +02:00
Aleksander Morgado
6d50e5195f serial-port: forced close only to be done once 2012-03-29 09:17:53 +02:00
Aleksander Morgado
a69b4d2451 mmcli: new `--location-status' to show supported and enabled location sources 2012-03-29 09:17:53 +02:00
Aleksander Morgado
ceefa2c356 location: rework to allow multiple location sources
Location sources can now be enabled or disabled by using the mask of sources
given in Setup() (similar previous Enable()).
2012-03-29 09:17:53 +02:00
Aleksander Morgado
090e349209 hso: grab GPS-specific ports 2012-03-28 15:50:51 +02:00
Aleksander Morgado
be633fd66b base-modem: handle GPS control and data ports
Plugin may specify GPS-specific port tyeps when requesting to grab the port.
These could either be an AT-based GPS control port, or the raw GPS serial port
which emits the NMEA traces.
2012-03-28 15:50:51 +02:00
Aleksander Morgado
b19f97ae7d port: new `MM_PORT_TYPE_NET' for pure net devices
Net devices will be MMPorts of type MM_PORT_TYPE_NET.
2012-03-28 15:50:51 +02:00
Aleksander Morgado
3b481cf17f base-modem: no need for `port_grabbed()'
Subclasses can configure additional stuff in the ports just after all have been
organized, in the SETUP_PORTS initialization step in MMBroadbandModem.
2012-03-28 15:50:51 +02:00
Aleksander Morgado
8dfbf195c1 port: skip LAST enums in glib-mkenums processing 2012-03-28 15:50:51 +02:00