Aleksander Morgado
6fa3f0b0d7
build: provide pkg-config files for ModemManager, libmm-common and libmm-glib
2012-05-24 09:59:53 +02:00
Aleksander Morgado
e582a22db7
api: install common headers to ${prefix}/include/ModemManager
...
...instead of ${prefix}/include/mm
2012-05-24 09:59:53 +02:00
Aleksander Morgado
6bf277e794
libmm-glib: install missing headers
2012-05-24 09:59:52 +02:00
Aleksander Morgado
4ae13ef5d9
libmm-common: install missing header
2012-05-24 09:59:52 +02:00
Aleksander Morgado
df1f21d17f
sms: fix setting multipart specific properties
...
Don't make them construct-only, so that we can set them whenever needed.
2012-05-06 18:53:03 +02:00
Aleksander Morgado
8a47621a5c
sms,tests: new test to check for multipart support in SMS parts
2012-05-06 18:48:59 +02:00
Aleksander Morgado
97baa44b04
novatel: report error if not properly disconnected
...
When we request to disconnect, and the disconnection status check fails, return
a proper error.
2012-05-06 17:12:36 +02:00
Aleksander Morgado
b2d376696c
novatel: minor coding style fixes
2012-05-06 17:12:36 +02:00
Aleksander Morgado
caeeae2721
bearer: simplify handling of the bearer configuration
...
The base MMBearer object will receive the MMBearerProperties configuration,
which contains every generic and plugin-specific set up. Not every configuration
parameter will be used by every implementation (e.g. not every bearer needs
user/password).
The Bearer object will expose every configuration parameter received in its
`Properties' property in the interface, even if it's not really used.
2012-05-06 17:12:36 +02:00
Aleksander Morgado
1984c155ad
wavecom: plugin fully ported
2012-05-06 15:34:13 +02:00
Aleksander Morgado
6c26e90610
wavecom: implement custom band setting
2012-05-06 15:34:13 +02:00
Aleksander Morgado
8b329c1012
wavecom: setup custom serial parser
...
AT+CPIN? replies come without trailing 'OK'; which we need to handle.
2012-05-06 15:34:13 +02:00
Aleksander Morgado
43d7f4f17a
wavecom: implement custom current bands loading
2012-05-06 15:34:13 +02:00
Aleksander Morgado
513f5d5f20
wavecom: implement custom supported bands loading
2012-05-06 15:34:13 +02:00
Aleksander Morgado
aeb38e0f30
wavecom: implement custom access technology loading
2012-05-06 15:34:13 +02:00
Aleksander Morgado
3885bb365d
wavecom: implement setting allowed/preferred modes
2012-05-06 15:34:13 +02:00
Aleksander Morgado
1447dfee3c
wavecom: implement loading of initial allowed/preferred modes
2012-05-06 15:34:13 +02:00
Aleksander Morgado
7bd2ba6973
wavecom: implement custom supported mode loading
2012-05-06 15:34:13 +02:00
Aleksander Morgado
c3cc8f8410
wavecom: implement custom power up sequence
2012-05-06 15:34:13 +02:00
Aleksander Morgado
8ce1e26e1b
wavecom: implement custom flow control handling
2012-05-06 15:34:13 +02:00
Aleksander Morgado
65b92dfba5
wavecom: implement custom power down sequence
2012-05-06 15:34:12 +02:00
Aleksander Morgado
b7d423288a
wavecom: start porting the Wavecom plugin
2012-05-06 15:34:12 +02:00
Aleksander Morgado
c7d39e2c28
cinterion: simplify loop when loading 2G bands
2012-05-06 15:34:12 +02:00
Aleksander Morgado
e8bc2f41e7
simtech: implement custom allowed/preferred mode setting
2012-04-14 16:04:18 +02:00
Aleksander Morgado
b97890a012
simtech: plugin fully ported
2012-04-14 16:04:18 +02:00
Aleksander Morgado
9e89e88ce9
simtech: implement custom allowed/preferred mode loading
2012-04-14 16:04:18 +02:00
Aleksander Morgado
c9214bd54f
simtech: implement custom access technology loading
2012-04-14 16:04:17 +02:00
Aleksander Morgado
281cada39d
simtech: implement custom unsolicited events enabling/disabling
2012-04-14 16:04:17 +02:00
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
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
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
Aleksander Morgado
68421638f5
at-serial-port: new flag to define the GPS control port
2012-03-28 15:50:51 +02:00
Aleksander Morgado
79c93f4333
at-serial-port: define flags by shifting bits
...
Otherwise glib-mkenums doesn't take the enumeration as being flags.
2012-03-28 15:50:51 +02:00
Aleksander Morgado
62923f9086
serial-port: ensure we close the port when forcing to close it
2012-03-28 15:50:43 +02:00
Aleksander Morgado
b8157228eb
broadband-modem: plug memleak when uppercasing storage names
2012-03-28 15:50:43 +02:00
Aleksander Morgado
029cb2abe9
broadband-modem: plug memleak when building AT command
2012-03-28 15:50:43 +02:00
Aleksander Morgado
f0b02ce321
hso: plug small memleak when building devfile
...
Why do we need the devfile anyway?
2012-03-28 15:50:43 +02:00
Aleksander Morgado
b29eb54080
sim: plug memleak
2012-03-28 15:50:43 +02:00