Commit Graph

7059 Commits

Author SHA1 Message Date
Riccardo Vangelisti
ecbd146d5a fixes: added voice support in libmm-glib MMManager, also fixed wrong number of parameters in mm-call-list class init 2015-08-02 10:39:12 +02:00
Riccardo Vangelisti
5c9e2488bf build: added voice call include in libmm-glib and modified Makefile.am 2015-08-02 10:39:12 +02:00
Riccardo Vangelisti
5c446c3f43 broadband-modem: added voice call support 2015-08-02 10:39:12 +02:00
Riccardo Vangelisti
886e2963df core: implemented MMIfaceModemVoice interface 2015-08-02 10:39:12 +02:00
Riccardo Vangelisti
ec5c539f55 core: implemented new MMBaseCall object 2015-08-02 10:39:12 +02:00
Riccardo Vangelisti
c3bec1537b mmcli: added Modem.Voice and Call support 2015-08-02 10:39:12 +02:00
Riccardo Vangelisti
0bf4ad6b66 libmm-glib: added support for Modem.Voice and Call interfaces 2015-08-02 10:39:12 +02:00
Riccardo Vangelisti
0feb4acef4 api: added Modem.Voice and Call interfaces for voice call handling 2015-08-02 10:39:12 +02:00
Aleksander Morgado
0337781ba7 base-manager: plug memleak
Don't g_strdup() the physdev string to store it in the hash table; instead store
the original string right away as it is already created with g_strdup_printf().

Reported by: Yunlian Jiang <yunlian@chromium.org>

https://code.google.com/p/chromium/issues/detail?id=515929
2015-08-02 09:03:20 +02:00
Dan Williams
9b051b14ed iface-modem: don't check the cache when asking for required unlocks
When passing known_lock=UNKNOWN to mm_iface_modem_update_lock_info()
we actually do want to ask the modem itself for locks instead of
checking the cache.  For example, when an unknown error is returned
after performing PIN/PUK operations, the cache value may well be
NONE if that was the prior lock state, and that bypasses the modem
which might now be locked.  Thus the state gets messed up.

Reproducer is to send 'ChangePin' with the wrong "old" PIN 3 times,
then send a wrong PUK.  No error was returned from mmcli and
the modem's lock state was shown as 'none'.
2015-07-20 12:24:22 -05:00
David Herrmann
99da30059f policy: don't prevent us from receiving signals
By using:
    <deny send_destination="org.freedesktop.ModemManager1"/>

..we prevent anyone on the system from sending us signals, even if we
subscribed to them. This is clearly not what this line intended. More
importantly, we silently break mm-auth-provider-polkit, as we never
receiver 'changed' signals via PolkitAuthority. Right now, this is not
required by the implementation of PolkitAuthority, but ModemManager
should not place restrictions on the implementation of external
libraries.

So make sure we only prevent Method-Calls to be sent to us. Any other
message that we didn't expect is automatically discarded by gdbus,
anyway.

Without this change, debugging dbus policies constantly shows messages
that Polkit couldn't send the 'changed' signal to ModemManager. This is
suppressed in non-debugging mode. But it would make debugging a lot
easier, if we'd avoid force-dropping those events and not clutter the
debug-log.
2015-07-15 15:04:43 +02:00
Dan Williams
ad2c2ad14c blacklist: ignore POSNET POLSKA S.A. devices 2015-07-02 10:30:58 -05:00
Aleksander Morgado
e09463dfb2 blacklist: ignore Palm M5xx devices
https://bugs.freedesktop.org/show_bug.cgi?id=91032
2015-06-19 12:20:21 -07:00
Marc Murphy
1f270c09d0 huawei: update to correct secondary port request and regex masking for ^POSITION 2015-06-18 09:20:11 -07:00
Aleksander Morgado
0ac7feb797 broadband-modem-qmi: retry unlock checks on 'UimUninitialized' errors
The Pantech UML290 takes a horribly great time to initialize the SIM, and
therefore we may even be losing the 3GPP capabilities as the SIM is not
detected during the initial checks:

    load_unlock_required_ready(): Couldn't check if unlock required: 'SIM failure: QMI protocol error (37): 'UimUninitialized''
    current_capabilities_internal_load_unlock_required_ready(): Multimode device without SIM, no 3GPP capabilities

To avoid this, let 'UimUninitialized' be a retriable error.
2015-06-05 22:45:53 +02:00
David McCullough
d5fb4284e1 qmi: fix '0' prefixed IMEI/ESN/MEID on QMI modems
QMI modems are incorrectly ignoring IMEI/ESN/MEID numbers that start with a
'0'.  Fix this up.  Seen on an AT&T Beam (340u)

Signed-off-by: David McCullough <david.mccullough@accelecon.com>
2015-05-28 09:41:42 +02:00
Aleksander Morgado
4fcae938fc build: request to generate the enum types support files before building
Instead of providing explicit dependency rules to generate the enum types
support files before they're first used, just pre-generate them before building
anything. Maintaining the explicit dependency rules is not really worth it.
2015-05-04 09:27:58 +02:00
Aleksander Morgado
d5adce08f5 build: only compile dbus tests if GIO >= 2.34 is available 2015-04-17 09:58:24 +02:00
Aleksander Morgado
cc5f731102 blacklist: ignore all devices from Access Interface Solutions 2015-04-10 12:45:33 +02:00
Aleksander Morgado
f60b055142 mbm: enable GPS port for HS2350
https://bugs.freedesktop.org/show_bug.cgi?id=85008

As reported by Dan Williams <dcbw@redhat.com>.
2015-04-10 08:29:57 +02:00
Aleksander Morgado
5fb8e87abd mbm: enable GPS port for H5321gw
https://bugs.freedesktop.org/show_bug.cgi?id=85008

As reported by Sven Arvidsson <sa@whiz.se>.
2015-04-10 08:29:57 +02:00
Fabrice Bellet
534eea345d mbm: add GPS location gathering support
The udev rules file is updated according to the list of devices
supporting gps features provided by the udev rules file from the
mbm-gpsd project.

https://bugs.freedesktop.org/show_bug.cgi?id=85008
2015-04-10 08:29:49 +02:00
Dan Williams
9293fd2bca base-manager: quiet message about unsupported ports
This message gets printed for all netdevs and ttys, including most
machines normal ethernet/Wi-Fi interfaces.  It seems a bit less critical
than 'warning' level would indicate.

ModemManager[32097]: <warn>  Couldn't find support for device at '/sys/devices/pci0000:00/0000:00:19.0': not supported by any plugin
ModemManager[32097]: <warn>  Couldn't find support for device at '/sys/devices/pci0000:00/0000:00:1c.1/0000:02:00.0': not supported by any plugin
2015-03-31 11:25:35 -05:00
Aleksander Morgado
8009f16ecb huawei: allow responses like ^NDISSTATQry (e.g. Huawei E353) 2015-03-29 12:48:44 +02:00
Yunlian Jiang
977cf658a6 tests: fix memory leaks 2015-03-27 20:31:24 +01:00
Aleksander Morgado
948be2343a telit: minor coding style fixes 2015-03-27 19:06:43 +01:00
Daniele Palmas
12318970a7 telit: changing udev rules for HE910/UE910/UL865
Changing udev rules for HE910/UE910/UL865 in order to use dynamic port
identification through #PORTCFG (tag ID_MM_TELIT_PORTS_TAGGED)
2015-03-27 19:01:52 +01:00
Daniele Palmas
ad6d15b535 telit: implementing dynamic port identification with #PORTCFG
Adding dynamic port identification for Telit modems that support AT#PORTCFG
command. Port configurations for HE910/UE910/UL865 taken from document
"HE910/UE910/UL865 Families Ports Arrangements User Guide"
2015-03-27 19:01:45 +01:00
Aleksander Morgado
0e97dc3a7a zte: add support for ZTE MF700
Fix suggested by Pablo Nazar <pablo.e.nazar@gmail.com>

https://bugs.freedesktop.org/show_bug.cgi?id=89721
2015-03-25 08:38:44 +01:00
Jason Simmons
3ad64c8f5a broadband-modem: default implementation of the network time interface
Add a default implementation that queries the real-time clock using the
AT+CCLK? command.  Also set AT+CTZU=1 in case a modem requires it.
2015-03-23 11:31:32 +01:00
Daniele Palmas
a92566ec0e telit: adding 3gpp unsolicited events support for Telit modems
Mobile Equipment Event Reporting command for Telit modems (+CMER)
does not support <ind>=1. Changing to <ind>=2
2015-03-13 19:04:02 +01:00
Daniele Palmas
f9a5848d71 telit: add custom flow control settings for Telit HE910, UE910, UL865
Telit HE910, UE910 and UL865 do not support XON/XOFF; defaulting
to RTS/CTS
2015-03-12 12:01:23 +01:00
Daniele Palmas
00b5ae3e5b telit: Adding udev rules for Telit HE910, UE910 and UL865
Adding udev rules for proper modem identification.
2015-03-12 09:55:30 +01:00
Aleksander Morgado
46b2aeae53 novatel: fix checking for time support 2015-03-11 19:39:24 +01:00
Daniele Palmas
61ced36f83 Adding IMC flashing device in blacklist 2015-03-06 16:23:07 +01:00
Aleksander Morgado
6a8fbf917a iface-modem: don't artificially forbid power updates when in OFF state
If for any reason the modem is in OFF state and still can talk to the modem,
allow running the remaining transition requests to LOW or ON. This can happen
for example for modems that use CFUN:0, i.e. which can still go online with
CFUN=1.

https://bugs.freedesktop.org/show_bug.cgi?id=89368
2015-03-02 14:38:02 +01:00
Aleksander Morgado
28d4bb932c greylist: add Cypress USB<->RS232 adapters
https://bugs.freedesktop.org/show_bug.cgi?id=89362
2015-02-27 17:30:43 +01:00
Aleksander Morgado
0a31a466cb bearer,qmi: also print IPv6 gateway prefix 2015-02-26 12:37:20 +01:00
Aleksander Morgado
2dbebbd0bf bearer-qmi: avoid unref-ing arrays owned by the output bundles
When we get an array from a libqmi output or input bundle, the array is always
owned by the bundle (i.e. transfer-none).
2015-02-26 10:37:23 +01:00
Aleksander Morgado
de9446e13b build: refactor and cleanup configure.ac 2015-02-26 10:37:23 +01:00
Aleksander Morgado
9f7006616c build: disable static libraries by default 2015-02-26 10:37:23 +01:00
Aleksander Morgado
ee41e57507 build: setup silent-rules
And bump automake requirement to 1.11.
2015-02-26 10:37:23 +01:00
Dan Williams
9186e2aa39 iface-modem-3gpp: used DENIED registration state if others are UNKNOWN
If all other registration states are UNKNOWN, use a registration state
of DENIED as the global modem state.
2015-02-23 10:25:14 -06:00
Aleksander Morgado
37bda21a37 plugin: add implicit QMI and MBIM forbidden drivers check 2015-02-18 20:00:01 +01:00
Aleksander Morgado
57b5ffa8c4 gobi: remove plugin
There's no real need for a custom Gobi plugin any more. All the vendor-specific
Gobi-powered modems should be handled by vendor-provided plugins supporting QMI
modems; or otherwise, as a last resort, by the generic plugin.
2015-02-18 20:00:01 +01:00
Aleksander Morgado
93d6e4f102 dell: new Dell plugin
For Dell-branded Novatel, Sierra and Ericsson modems.

The Novatel plugin will no longer accept every Dell-branded modem, which was
the current situation. Instead, a new Dell plugin will take care of probing for
the correct vendor string, and based on the results create a specific Novatel,
Sierra or Ericsson modem.

In order to properly support this, the Novatel, Sierra and MBM plugins now
export their implementations into non-inst libraries that the Dell plugin will
import.

Also, for now, the Dell plugin doesn't make any difference between e.g. Sierra
or Ericsson MBIM implementations, just a generic MBIM modem is created in both
cases, as that is anyway what the Ericsson MBM and Sierra plugins do already.

https://bugs.freedesktop.org/show_bug.cgi?id=86713
2015-02-16 17:33:37 +01:00
Aleksander Morgado
6bbc4c1746 sierra: move all the legacy Sierra support to a new 'sierra-legacy' plugin
In short:

  * The 'sierra-legacy' plugin will handle all the old AT based modems,
    including the DirectIP ones. This plugin is filtered by driver ('sierra' or
    'sierra_net') and forbidden-drivers ('qmi_wwan' and 'cdc_mbim'). This plugin
    should also grab HP and AT&T branded models if they are handled by the
    proper kernel driver.

  * The 'sierra' plugin will only handle QMI or MBIM based Sierra modems, which
    are really all the new ones. This plugin is filtered by VID (0x1199) and
    driver (qmi_wwan and cdc_mbim).

For this separation to work, the 'sierra' and 'sierra_net' plugins need to be
complementary to each other.
2015-02-16 17:33:37 +01:00
Aleksander Morgado
3c6a7ed3f3 plugin-manager: make sure there is some wait time before probing the first port
We really do need a wait time to make sure most ports are exposed by the
kernel, so that plugin filters based on "forbidden-drivers" work correctly. E.g.
the "gobi" plugin now flags as forbidden the "qmi_wwan" driver, which means that
modems exposing both TTYs and QMI/WWAN ports should never be handled by the Gobi
plugin.
2015-02-16 17:30:38 +01:00
Aleksander Morgado
07fcb807dd plugin: allow having both 'drivers' and 'forbidden drivers' filters 2015-02-16 17:30:38 +01:00
Aleksander Morgado
51ab292802 plugin: let vendor/product filter be complementary
So that a plugin can specify a full VID and a specific PID subset of another VID
as supported.
2015-02-16 17:30:38 +01:00