Commit Graph
2283 Commits
Author SHA1 Message Date
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
Ben Chan 5d88c2ff8f broadband-modem-mbim: handle if unlock retries info is not available
By setting the 'RemainingAttempts' field of a MBIM_CID_PIN response to
0xffffffff, a MBIM modem indicates that it does not support the
information on the number of remaining attempts for pin-related
operations. This patch modifies MMBroadbandModemMbim to handle this case
properly, instead of reporting a very large unlock retries count.
2014-02-27 09:38:37 +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 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 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
Ben Chan 705dd0133d broadband-modem-mbim: handle network initiated disconnect
Observing registration updates via the MBIM_CID_REGISTER_STATE
notification alone is not always sufficient to detect if the modem is
disconnected from the network. In case of a network-initiated
disconnect, it is possible that the modem is disconnected from the
network but remains registered.

This patch modifies MMBroadbandModemMbim to subscribe to the
MBIM_CID_CONNECT notification. Upon receiving a notification of a
deactivated session ID, the corresponding bearer is reported as
disconnected.
2014-02-20 10:27:03 +01:00
Ben Chan 1866aad9d3 bearer: remove unnecessary MM_BEARER() casts 2014-02-20 10:23:36 +01:00
Dan Williams acc7b4b8b9 Revert "broadband-modem-mbim: update to use mbim_message_device_service_subscribe_list"
This reverts commit 8327db70b9.

libmbim change not committed yet...
2014-02-19 18:59:24 -06:00
Ben Chan 8327db70b9 broadband-modem-mbim: update to use mbim_message_device_service_subscribe_list
libmbim renames 'MBIM_CID_DEVICE_SERVICE_SUBSCRIBER_LIST' to
'MBIM_CID_DEVICE_SERVICE_SUBSCRIBE_LIST' to be consistent with the MBIM
specification. This patch updates MMBroadbandModemMbim accordingly.
2014-02-19 18:52:17 -06:00
Ben Chan ccbd5a2e2d port-serial: fix gsize/gssize type mismatch
This patch fixes the following type mismatch in MMPortSerial::port_serial_process_command():

mm-port-serial.c:612:21: error: comparison of unsigned expression < 0 is always false [-Werror,-Wtautological-compare]
        if (written < 0) {
            ~~~~~~~ ^ ~
2014-02-14 09:03:13 +01:00
Dan Williams 50de6798b0 broadband-modem: fix double-free of QCDM mode-pref query
Caused by a merge conflict between 81ee0783 and 529e94b0.
2014-02-13 15:55:35 -06:00
Dan Williams 42ad7b758a manager: make Bluetooth rfcomm ports work again
At some point rfcomm serial ports stopped having parents in sysfs,
so checks to get the physical device fail because the rfcomm port
is /sys/devices/virtual/rfcommX and has no parents.  So we have
to fall back on checking the interface name.
2014-02-13 15:18:16 -06: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 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 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