Commit Graph

2375 Commits

Author SHA1 Message Date
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
Aleksander Morgado
9cde02111b ports: rename 'MMSerialPort' to 'MMPortSerial' 2014-02-13 13:39:51 +01:00
Julian Oes
9447527c35 blacklist: ignore all devices from VID 0x26a, no modems from 3D Robotics 2014-02-04 12:11:59 +01:00
Ben Chan
c28ff0d547 modem-helpers: recognize "3G" as UMTS access technology
Some modems (e.g. ZTE MF190) report UMTS access technology as "3G":

  --> 'AT+ZPAS?<CR>'
  <-- '<CR><LF>+ZPAS: "3G","CS_PS"<CR><LF><CR><LF>OK<CR><LF>'
2014-01-29 10:15:17 -06:00
Guido Günther
c5cfa2cad1 broadband-modem-qmi: Fix compilation error due to removed variable
otherwise we fail with:

CC       ModemManager-mm-broadband-modem-qmi.o
mm-broadband-modem-qmi.c: In function ‘process_gsm_info’:
mm-broadband-modem-qmi.c:4182:18: error: ‘egprs_support_valid’ undeclared (first use in this function)
                 &egprs_support_valid,  &egprs_support,
                  ^
mm-broadband-modem-qmi.c:4182:18: note: each undeclared identifier is reported only once for each function it appears in
mm-broadband-modem-qmi.c:4182:40: error: ‘egprs_support’ undeclared (first use in this function)
                 &egprs_support_valid,  &egprs_support,
2014-01-26 20:05:50 +01:00
Guido Günther
3c2800f02e broadband-modem-qmi: Fix compilation error due to variable type change
otherwise we fail with:

CC       ModemManager-mm-broadband-modem-qmi.o
mm-broadband-modem-qmi.c: In function ‘get_signal_info_ready’:
mm-broadband-modem-qmi.c:2309:5: error: passing argument 3 of ‘signal_info_get_quality’ from incompatible pointer type [-Werror]
     if (!signal_info_get_quality (ctx->self, output, &quality)) {
     ^
mm-broadband-modem-qmi.c:2236:1: note: expected ‘gint8 *’ but argument is of type ‘guint *’
 signal_info_get_quality (MMBroadbandModemQmi *self,
 ^
cc1: all warnings being treated as errors
2014-01-26 20:05:31 +01:00
Guido Günther
983c197c6b broadband-modem-qmi: Fix compilation error due to variable name change
otherwise we fail with:

CC       ModemManager-mm-broadband-modem-qmi.o
mm-broadband-modem-qmi.c: In function ‘modem_load_current_bands’:
mm-broadband-modem-qmi.c:1881:35: error: ‘ctx’ undeclared (first use in this function)
     if (qmi_client_check_version (ctx->client, 1, 19)) {
                                   ^
mm-broadband-modem-qmi.c:1881:35: note: each undeclared identifier is reported only once for each function it appears in
2014-01-26 20:05:01 +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