Commit Graph
96 Commits
Author SHA1 Message Date
Aleksander Morgado 22193e2f3a license: add LGPLv2+ license in addition to the GPLv2+ one
This is not a license change; the daemon and command line tool are still GPLv2+,
and the libmm-glib library LGPLv2+.

For reference, see libqmi bug:
  https://bugs.freedesktop.org/show_bug.cgi?id=74220
2014-03-05 11:49:09 +01:00
Aleksander Morgado f3ded99af1 cinterion: implement unlock retries loading 2014-03-03 16:33:51 +01:00
Aleksander Morgado 191168e3ef cinterion: after SIM unlock, query SIM status until ready 2014-03-03 14:33:12 +01:00
Aleksander Morgado 17bf3f8578 cinterion: request to force refresh access tech after current bands update 2014-02-28 16:38:05 +01:00
Aleksander Morgado 019d038c17 cinterion: force band preference update to be applied immediately 2014-02-28 16:37:49 +01:00
Aleksander Morgado f2024b78b2 cinterion: consolidate setting current bands in 2G and 3G devices 2014-02-28 16:37:32 +01:00
Aleksander Morgado c1e2a3a5bc cinterion: consolidate current bands loading for 2G and 3G devices 2014-02-28 16:35:18 +01:00
Aleksander Morgado 0877f68a84 cinterion: consolidate supported bands loading for 2G and 3G devices 2014-02-28 16:35:18 +01:00
Aleksander Morgado 65eda92ceb broadband-modem: allow querying current charset
So that plugins can use it.
2014-02-28 16:35:18 +01:00
Aleksander Morgado 87d867c8ae cinterion: add helper to build Cinterion band mask 2014-02-28 16:35:18 +01:00
Aleksander Morgado e6430acaaa cinterion: add helper to parse AT^SCFG="Radio/Band" response in 3G devices 2014-02-28 16:35:18 +01:00
Aleksander Morgado 82067915d1 cinterion: use AT^SCFG=? to parse supported bands in 3G devices 2014-02-28 16:35:18 +01:00
Aleksander Morgado e6cfa57c60 cinterion: request access tech update after allowed mode change 2014-02-28 16:35:18 +01:00
Aleksander Morgado 8a47dce5fb iface-modem-3gpp: request access tech update after registration attempt 2014-02-28 16:35:18 +01:00
Aleksander Morgado 73dad3d899 iface-modem: allow requesting the refresh of the access tech
For periodic updates, we may want to request an explicit re-check at some point,
instead of waiting for the next scheduled update.
2014-02-28 16:35:18 +01:00
Aleksander Morgado 82340cd5f7 cinterion: add support for HSUPA+HSDPA reported access tech 2014-02-28 16:35:17 +01:00
Aleksander Morgado a9a4a2a337 cinterion: allow recovering automatic mode
When automatic mode (i.e. 2G+3G+none preferred) is selected, we need to
explicitly request it by giving the AT+COPS write command with values (i.e. not
just empty fields).
2014-02-28 16:35:17 +01:00
Aleksander Morgado 177f15f295 cinterion: cache operator id if manual selection attempted
We'll need it afterwards for proper mode switching
2014-02-28 16:34:59 +01:00
Aleksander Morgado 914caf0f3b cinterion: unsupported modes are already filtered out
So no need to try to handle error cases or fallbacks to support them.
2014-02-28 16:34:59 +01:00
Aleksander Morgado ece4f0f014 cinterion: increase AT command timeout when changing modes 2014-02-28 16:34:59 +01:00
Aleksander Morgado accb611e1f base-modem: if no AT primary given, try to use data port
The Cinterion PHS8 reports a single AT port to be used as data port, and no
other port as primary. In this case, recover the tty as primary AT port, instead
of failing with an error.
2014-02-26 11:52:50 +01:00
Aleksander Morgado e3c4dec3d7 wavecom: implement power off
Powering off Wavecom devices is done via the AT^CPOF=1 command. These devices
seem to not only power-off, but also power-cycle when this command is received,
which means that the user needs to make sure to fully cut the power to the
device when the SetPowerState() method replies.
2014-02-20 11:18:22 +01:00
Aleksander Morgado f9b9f25cd1 cinterion: implement power off
Powering off Cinterion modems is done with the AT^SMSO command. Once this
command is sent to the device, ModemManager still needs to wait to get an
unsolicited ^SHUTDOWN message from the modem, which is when the shutdown
is considered complete.

Newer Cinterion devices, though, don't seem to follow this rule and just
reply OK to AT^SMSO (i.e. no ^SHUTDOWN), but instead, they will remove the
tty ports.
2014-02-20 11:15:32 +01:00
Aleksander Morgado 00a924617c broadband-modem-qmi: implement full power off
The power off command will transition the device to the OFFLINE state. After
this, the modem will not be able to go online again unless it is power-cycled,
either externally (cut power and re-establish power) or through another
transition to QMI_DMES_OPERATING_MODE_RESET (which ModemManager will not
implement for this case).
2014-02-20 11:15:03 +01:00
Aleksander Morgado fe9f3a6553 cli: new '--set-power-state-off' command 2014-02-20 11:15:03 +01:00
Aleksander Morgado 9239fbcd7a iface-modem: allow transitioning to the OFF power state
There are systems in which the modem power source can be controlled externally,
e.g. to switch it on or off. In these cases, it is sometimes advisable to be
able to tell the modem to cleanly shut off completely before the power is cut.
So, allow transitioning to the OFF power state if the modem supports it, even if
afterwards the modem could be completely unreachable.
2014-02-20 11:15:03 +01:00
Aleksander Morgado fbb35628d5 po: don't translate test files 2014-02-13 13:42:01 +01:00
Aleksander Morgado bff2a8d2f2 tests: added support for DBus service tests
We can now run 'simulated' modems against a ModemManager running in its own
session bus.
2014-02-13 13:41:58 +01:00
Aleksander Morgado ba58aa42f2 base-modem: don't apply auth checks if running in the SESSION bus 2014-02-13 13:41:55 +01:00
Aleksander Morgado f85e345a9e manager: as soon as we know we're going to stop, clear DBus connection
So that the ObjectManager interface doesn't try to signal about e.g. interface
removals; see:

  https://bugzilla.gnome.org/show_bug.cgi?id=715157.
2014-02-13 13:41:52 +01:00
Aleksander Morgado 247a945950 context: new '--test-plugin-dir' to allow specifying where the plugins are 2014-02-13 13:41:50 +01:00
Aleksander Morgado ea362ce18e service,tests: run in MM in debug mode in service tests 2014-02-13 13:41:47 +01:00
Aleksander Morgado 6810aff864 manager: allow to remotely setup test profiles with 'virtual' ports 2014-02-13 13:41:44 +01:00
Aleksander Morgado 2d9d15f892 plugin: allow creating 'virtual' modems with 'virtual' ports 2014-02-13 13:41:41 +01:00
Aleksander Morgado c182a04f64 base-modem: allow grabbing 'virtual' AT ports 2014-02-13 13:41:39 +01:00
Aleksander Morgado abb88a5e0a plugin-manager: allow looking plugins by name 2014-02-13 13:41:36 +01:00
Aleksander Morgado 9641d27518 device: allow creating 'virtual' devices 2014-02-13 13:41:33 +01:00
Aleksander Morgado b7fa48dd22 device: new 'hotplugged' property 2014-02-13 13:41:31 +01:00
Aleksander Morgado 84ab92d85a port-serial: allow ports based on Unix sockets 2014-02-13 13:41:28 +01:00
Aleksander Morgado 65f87561c5 context: new '--test-enable' to enable the Test interface 2014-02-13 13:41:25 +01:00
Aleksander Morgado 243720414e context: new '--test-no-auto-scan' to avoid automatic scanning for devices 2014-02-13 13:41:23 +01:00
Aleksander Morgado bf57da537d context: new '--test-session' allows launching the MM daemon in the session bus 2014-02-13 13:41:20 +01:00
Aleksander Morgado 46ff06ff80 service,tests: new DBus service file for tests 2014-02-13 13:41:17 +01:00
Aleksander Morgado 4827e79848 libmm-glib,tests: use gdbus-codegen to generate code for the new Test interface 2014-02-13 13:41:14 +01:00
Aleksander Morgado 1eaa416f22 introspection,tests: add new 'Test' interface 2014-02-13 13:41:12 +01:00
Aleksander Morgado e684851698 huawei: use shortened version of NDISDUP when possible
Adds support for the Huawei E3276 by sending the shortened form of the
AT^NDISDUP command where possible, as the E3276 fails with an '+CME ERROR:
Incorrect parameters' if encoded_auth is set to 0. This behaviour is slightly
different to the E1820 and K4605 (E372) which will happily establish a
connection with encoded_auth set to 0, 1 or 2.
2014-02-13 13:41:09 +01:00
Aleksander Morgado b28230411a port-serial: always set the forced_close flag if forced to close 2014-02-13 13:41:06 +01:00
Aleksander Morgado 0d0f5de161 base-modem: allow looking for a subset of the available ports 2014-02-13 13:41:03 +01:00
Aleksander Morgado 2b46f65879 base-modem: allow grabbing non-tty AT ports 2014-02-13 13:41:01 +01:00
Aleksander Morgado 070f4938f3 plugin: allow probing non-tty AT ports 2014-02-13 13:40:58 +01:00
Aleksander Morgado 38ebf7c95b port-serial-at: allow specifying subsystem when creating a 'MMPortSerialAt'
Don't just assume that all AT ports are TTYs.
2014-02-13 13:40:55 +01:00
Aleksander Morgado 9432674087 port-serial: use the GIOChannel also for writing data 2014-02-13 13:40:52 +01:00
Aleksander Morgado 3ef71e4541 port-serial: allow non-tty 'MMPortSerial' objects
Allow having 'MMPortSerial' objects for non-tty devices. This will allow us e.g.
handling /dev/cdc-wdm ports speaking the AT protocol.
2014-02-13 13:40:50 +01:00
Aleksander Morgado 6fc14f6611 port-serial: remove unneeded method 2014-02-13 13:40:47 +01:00
Aleksander Morgado a2f4fbe373 port-serial-qcdm: commands are never cached
The QCDM port commands are never cached, so remove the option from the command()
method. Will also simplify command caching afterwards as it will be an AT-only
thing.
2014-02-13 13:40:44 +01:00
Aleksander Morgado 5792bcc876 port: remove 'constructor' checking for property validity
A constructor cannot return NULL, specially when there are subclasses, as it
would segfault. Just remove it, as it doesn't really do anything useful.
2014-02-13 13:40:42 +01:00
Aleksander Morgado ef77e35a7f port: use a 'priv' pointer to handle the private info 2014-02-13 13:40:39 +01:00
Aleksander Morgado 3f8f88499e port-serial: use a 'priv' pointer to handle the private info 2014-02-13 13:40:36 +01:00
Aleksander Morgado dbe13520ee port-serial-at: use a 'priv' pointer to handle the private info 2014-02-13 13:40:33 +01:00
Aleksander Morgado e909edcf1f port-serial: use GIO Async API like method for command() 2014-02-13 13:40:30 +01:00
Aleksander Morgado 8122153a88 port-serial: use GIO Async API like method for flash() 2014-02-13 13:40:27 +01:00
Aleksander Morgado 6e35f0a888 port-serial: use GIO Async API like method for reopen() 2014-02-13 13:40:24 +01:00
Aleksander Morgado d4dfd661b9 port-serial-at: use GIO Async API like methods 2014-02-13 13:40:21 +01:00
Aleksander Morgado 81ee07832d port-serial-qcdm: use GIO Async API like methods 2014-02-13 13:40:17 +01:00
Aleksander Morgado 1d57a008df port-serial-qcdm: remove unneeded private info 2014-02-13 13:40:14 +01:00
Aleksander Morgado 0c86840dde ports: rename 'libserial' to 'libport' 2014-02-13 13:40:11 +01:00
Aleksander Morgado c236e18692 ports: rename 'MMMbimPort' to 'MMPortMbim' 2014-02-13 13:40:07 +01:00
Aleksander Morgado 403e013f15 ports: rename 'MMQmiPort' to 'MMPortQmi' 2014-02-13 13:40:04 +01:00
Aleksander Morgado 6f235b9948 ports: rename 'MMAtSerialPort' to 'MMPortSerialAt' 2014-02-13 13:40:01 +01:00
Aleksander Morgado 0d1602bf0f ports: rename 'MMQcdmSerialPort' to 'MMPortSerialQcdm' 2014-02-13 13:39:57 +01:00
Aleksander Morgado e505ea0a58 ports: rename 'MMGpsSerialPort' to 'MMPortSerialGps' 2014-02-13 13:39:54 +01:00
Aleksander Morgado 9cde02111b ports: rename 'MMSerialPort' to 'MMPortSerial' 2014-02-13 13:39:51 +01:00
Aleksander Morgado c9e2b46b21 cinterion: try to gather port type for devices with multiple tty ports
The new PHS8 or PXS8 devices may expose multiple tty ports, but only one is
supposed to be used for PPP. So, query which port that is and flag it before
grabbing it in the modem.
2014-02-13 11:56:09 +01:00
Aleksander Morgado e60485a4aa wavecom: implement after-sim-unlock step
Just give some time to the SIM to get properly initialized, so that we avoid
errors when reloading e.g. facility lock status.
2014-02-12 17:18:24 +01:00
Aleksander Morgado 121fbd91e7 docs,api: fix section reference to the Messaging interface 2014-02-06 11:05:13 +01:00
Aleksander Morgado 94bf076f28 docs: update email address 2014-01-30 18:03:10 +01:00
Aleksander Morgado d81dd74452 build: post release version bump to 1.3.0 (development) 2014-01-30 17:57:11 +01:00
Aleksander Morgado 2c53c664d8 release: bump version to 1.2.0 2014-01-30 17:17:45 +01:00
Aleksander Morgado 38501a06bf mmcli: allow passing SMS index in --messaging-delete-sms 2014-01-30 13:10:54 +01:00
Aleksander Morgado 513248a2b7 mmcli: allow passing bearer index in --delete-bearer 2014-01-30 12:51:20 +01:00
Aleksander Morgado fdba981f8e huawei: fix leaked string 2014-01-26 19:56:58 +01:00
Aleksander Morgado 48585c250b udev: apply udev rules upon 'move' events as well
Otherwise, we may end up losing the tags we expect if the device gets a 'move'
event just after the initial 'add'.
2014-01-26 19:33:45 +01:00
Aleksander Morgado b7adbf97a5 port-probe: the 'buffer-full' signal is only used during AT probing
Make sure we cleanup the 'buffer-full' signal handler when moving from AT
probing to QCDM probing, so that we don't try to remove a signal handler from
a QCDM port in which we haven't set it.

E.g. avoids:

ModemManager[1493]: <debug> [1390731359.108502] [mm-port-probe.c:239] mm_port_probe_set_result_qcdm(): (tty/ttyHS2) port is QCDM-capable

(ModemManager:1493): GLib-GObject-WARNING **: gsignal.c:2585: instance '0x7431b0' has no handler with id '16'
2014-01-26 11:25:06 +01:00
Aleksander Morgado 72d83898da huawei: fix some leaked 'GStrv' arrays 2014-01-26 11:01:42 +01:00
Aleksander Morgado 0cfc825e11 huawei: fix leaked 'GUdevDevice' 2014-01-26 10:55:43 +01:00
Aleksander Morgado a282237ae5 port-probe: buffer_full_id is a signal handler, not a GSource 2014-01-25 20:56:01 +01:00
Aleksander Morgado 93108fdb60 novatel: fix leaked 'GSimpleAsyncResult' 2014-01-25 20:45:34 +01:00
Aleksander Morgado 95249239a2 sierra: fix leaked 'GStrv' with CDMA modems 2014-01-25 20:01:32 +01:00
Aleksander Morgado 529e94b039 broadband-modem: fix leaked 'QcdmResult' 2014-01-25 19:34:57 +01:00
Aleksander Morgado 561c8b715e bearer-mbim: fix leaked 'MMBearerIpConfig' objects 2014-01-24 21:26:46 +01:00
Aleksander Morgado ae86ce1cbb bearer-mbim: fix leaked 'MMBearerProperties' 2014-01-24 21:10:28 +01:00
Aleksander Morgado 1547be5181 bearer-mbim: fix several leaked 'MbimMessage' objects
mbim_device_command_finish() returns always a new reference to the response.
2014-01-24 21:09:10 +01:00
Aleksander Morgado 26793e10d6 release: update NEWS 2014-01-24 19:15:46 +01:00
Aleksander Morgado 19b0a7e28f altair-lte: add 'mm' prefix in the exported helper methods 2014-01-18 14:16:59 +01:00
Aleksander Morgado afabde0f2c build: fix linker flags when building plugins
MM_LIBS was missing in PLUGIN_COMMON_LINKER_FLAGS, and replace GUDEV_LDFLAGS
with GUDEV_LIBS.
2014-01-17 11:58:18 +01:00
Aleksander Morgado 0ddbbaab17 sms-mbim: increase timeout when sending SMS part to 30s
Aligned to the value used also in QMI, and likely a much better value than the
original 10s.

See:
  http://lists.freedesktop.org/archives/libmbim-devel/2013-December/000079.html
2014-01-03 12:38:01 +01:00