Commit Graph

7297 Commits

Author SHA1 Message Date
Colin Walters
f7776a3784 libmm-glib: don't include internal header from public header
This broke gnome-control-center in gnome-ostree.  It should be
included in the C file where stuff from the private header is
actually used.
2013-09-10 11:15:18 -05:00
Aleksander Morgado
0d96662a0a sim-huawei: fix refcount
g_async_result_get_source_object() returns a full reference, which needs to get
unref-ed when no longer used.
2013-09-10 09:47:50 +02:00
Dan Williams
73978cbe6f sim-huawei: add SIM class to handle ICCID request
Use AT^ICCID if possible to read the ICCID.
2013-09-10 09:42:37 +02:00
Dan Williams
11a7e3dfdf core: add helper for parsing and validating the ICCID 2013-09-10 09:42:36 +02:00
Aleksander Morgado
ac343d390b iface-modem-oma: fix OMA session state reporting
Reported by Arman Uguray <armansito@google.com>
2013-09-09 10:20:42 +02:00
Aleksander Morgado
cf78c385d6 libmm-glib: fix return type
Reported by Arman Uguray <armansito@google.com>
2013-09-09 10:20:42 +02:00
Aleksander Morgado
7751f2d6ed mmcli,oma: support for the new OMA interface 2013-09-09 10:20:40 +02:00
Aleksander Morgado
03dc346add broadband-modem-qmi: implement OMA CancelSession() 2013-09-09 10:19:21 +02:00
Aleksander Morgado
76835446eb iface-modem-oma: ensure the session id is known when accepting/rejecting it 2013-09-09 10:19:20 +02:00
Aleksander Morgado
3ba2fee6fc broadband-modem-qmi: never add UNKNOWN OMA session types to the pending list 2013-09-09 10:19:20 +02:00
Aleksander Morgado
461d75dae9 broadband-modem-qmi: implement OMA AcceptNetworkInitiatedSession() 2013-09-09 10:19:20 +02:00
Aleksander Morgado
0c7def2f34 broadband-modem-qmi: implement OMA StartClientInitiatedSession() 2013-09-09 10:19:20 +02:00
Aleksander Morgado
72be4f1d57 broadband-modem-qmi: implement OMA Setup() 2013-09-09 10:19:20 +02:00
Aleksander Morgado
959c7b9cde broadband-modem-qmi: implement OMA feature loading 2013-09-09 10:19:20 +02:00
Aleksander Morgado
e6a7c85661 broadband-modem-qmi: handle OMA indications 2013-09-09 10:19:20 +02:00
Aleksander Morgado
df47f1ac8f broadband-modem-qmi: check support for OMA capabilities 2013-09-09 10:19:18 +02:00
Aleksander Morgado
d37b21e116 iface-modem-oma: new object interface to handle the OMA DBus interface 2013-09-09 10:18:23 +02:00
Aleksander Morgado
8ab38ae968 libmm-glib: support for the 'OMA' interface 2013-09-09 10:15:18 +02:00
Aleksander Morgado
32de7d6fef introspection,api: new 'Oma' interface 2013-09-09 10:12:55 +02:00
Dan Williams
b8e8c2a56d telit: install udev rules 2013-09-06 21:36:01 -05:00
Aleksander Morgado
0c618274e8 build: require libqmi 1.6.0
We were already requiring some features from 1.5.0 (dev version), so depend
on the stable 1.6.0 now that it's out.
2013-09-05 15:32:54 +02:00
Aleksander Morgado
2968859525 huawei: check NDISDUP support in the port once
Don't query udev for the tag every time we recreate a bearer, just do it once.
For some reason, re-querying the same tag after the first time doesn't always
return the proper result.
2013-09-05 07:37:27 +02:00
Ben Chan
5120290705 huawei: fix uninitialized variable issues
This patch fixes the following uninitialized variable issues, which was
introduced in the previous commit "huawei: retry connect/disconnect attempt
upon ^NDISSTATQRY? failures" (commit 57c657bd06).

huawei/mm-broadband-bearer-huawei.c:127:9: error: variable 'ipv4_available' is used uninitialized whenever '||' condition is true
      [-Werror,-Wsometimes-uninitialized]
    if (!response ||
        ^~~~~~~~~
huawei/mm-broadband-bearer-huawei.c:141:9: note: uninitialized use occurs here
    if (ipv4_available && ipv4_connected) {
        ^~~~~~~~~~~~~~
huawei/mm-broadband-bearer-huawei.c:127:9: note: remove the '||' if its condition is always false
    if (!response ||
        ^~~~~~~~~~~~
huawei/mm-broadband-bearer-huawei.c:115:28: note: initialize the variable 'ipv4_available' to silence this warning
    gboolean ipv4_available;
                           ^
                            = 0
huawei/mm-broadband-bearer-huawei.c:484:9: error: variable 'ipv4_available' is used uninitialized whenever '||' condition is true
      [-Werror,-Wsometimes-uninitialized]
    if (!response ||
        ^~~~~~~~~
huawei/mm-broadband-bearer-huawei.c:498:9: note: uninitialized use occurs here
    if (ipv4_available && !ipv4_connected) {
        ^~~~~~~~~~~~~~
huawei/mm-broadband-bearer-huawei.c:484:9: note: remove the '||' if its condition is always false
    if (!response ||
        ^~~~~~~~~~~~
huawei/mm-broadband-bearer-huawei.c:472:28: note: initialize the variable 'ipv4_available' to silence this warning
    gboolean ipv4_available;
                           ^
                            = 0
2013-09-05 07:34:39 +02:00
Prathmesh Prabhu
57c657bd06 huawei: retry connect/disconnect attempt upon ^NDISSTATQRY? failures
The Huawei MU736 modem sometimes responds to the ^NDISSTATQRY? query with a
'+CME ERROR: 100' error. This patch works around the issue by ignoring a few
of these error responses in a connect / disconnect attempt. The overall timeout
for the connect/disconnect operation is not affected by this change.
2013-09-04 09:05:19 +02:00
Bjørn Mork
c014bce554 mbm: add udev rule for Toshiba branded H5321gw module
Reported-by: Thomas Schäfer <tschaefer@t-online.de>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2013-09-02 11:35:39 +02:00
Ben Chan
0e64ba01d4 huawei: ignore ^DSDORMANT unsolicited messages 2013-09-02 09:10:32 +02:00
Ben Chan
60e1ac6919 iface-modem: allow reset and factory reset operation in every state 2013-09-02 09:03:53 +02:00
Ben Chan
387c97d81f novatel-lte: check if a connect operation has been cancelled 2013-08-27 09:57:14 -05:00
Aleksander Morgado
2b28b7acb6 at-serial-port: avoid 'enable_disable', use just 'enable' in method name 2013-08-26 16:21:27 +02:00
Ben Chan
82eb2158db huawei: ignore ^RFSWITCH unsolicited messages
This patch ignores the ^RFSWITCH unsolicited messages in order to avoid
them being mixed with other unsolicited messages. The modem power state
is explicitly determined by the ^RFSWITCH? command, if supported, so we
don't need to depend on the ^RFSWITCH unsolicited messages.
2013-08-26 16:00:20 +02:00
Ben Chan
0f2a0aa0bc at-serial-port: allow enabling/disabling unsolicited message handlers
This patch adds an 'enable' flag in MMAtUnsolicitedMsgHandler and
mm_at_serial_port_enable_disable_unsolicited_msg_handler() to allow
enabling and disabling of unsolicited message handlers. The enable flag
is set to TRUE by mm_at_serial_port_add_unsolicited_msg_handler().
2013-08-26 15:59:29 +02:00
Ben Chan
3979939eaf huawei: ignore +CUSATP and +CUSATEND unsolicited messages 2013-08-26 15:58:21 +02:00
Ben Chan
3fcc908ed5 huawei: always parse operator name in +COPS responses as ASCII
Despite +CSCS? may claim supporting UCS2, Huawei modems always report
the oerator name in ASCII in a +COPS response. This patch addresses that
by always assuming the charset is IRA when parsing the operator name in a
+COPS response.
2013-08-26 15:57:04 +02:00
Ben Chan
f2fb2fe9fc altair-lte: increase timeout for %APNN, %DPDNACT, and %STATCM 2013-08-26 15:56:39 +02:00
Aleksander Morgado
7e9ae21550 broadband-modem-qmi: avoid processing invalid TLVs in GetSignalStrength response
E.g. in the GetSignalStrength output we get EV-DO-only TLVs, even if EV-DO is
not the current access technology, what ends up generating the following:

$ sudo mmcli -m 0 --signal-get

/org/freedesktop/ModemManager1/Modem/0
  -------------------------
  Refresh rate: '5' seconds
  -------------------------
  EV-DO  | RSSI: '0.00' dBm
         | EcIo: '0.00' dBm
         | SINR: '9.00' dBm
         |   Io: '-106.00' dB
  -------------------------
  UMTS   | RSSI: '94.00' dBm
         | EcIo: '-6.00' dBm

Instead, we will now assume that the RSSI list always contains the valid access
technologies being reported, and use that list to decide whether we process some
of the per-technology TLVs. We now end up getting:

$ sudo mmcli -m 0 --signal-get

/org/freedesktop/ModemManager1/Modem/0
  -------------------------
  Refresh rate: '5' seconds
  -------------------------
  UMTS   | RSSI: '94.00' dBm
         | EcIo: '-8.00' dBm
2013-08-21 13:29:50 +02:00
Aleksander Morgado
75aa4a0df7 libmm-glib,time: fix gtk-doc comments 2013-08-21 12:57:05 +02:00
Aleksander Morgado
4cd82fcc8a libmm-glib,signal: fix introspection annotations and gtk-doc comments 2013-08-21 12:57:05 +02:00
Aleksander Morgado
27b739b838 broadband-modem-qmi: try with 'NAS Signal Strength' for extended signal info 2013-08-21 12:34:55 +02:00
Aleksander Morgado
71c60fc6eb iface-modem-signal: use the new 'MMSignal' in the interface implementation
Also modify the QMI-specific implementation to act as a state machine, as we'll
add more steps afterwards.
2013-08-21 12:34:54 +02:00
Aleksander Morgado
ca8a414668 libmm-glib: distribute the mm-modem-signal.h header 2013-08-21 12:34:54 +02:00
Aleksander Morgado
9449f0f9fb introspection,api: specify units for the 'rate' value in Setup() 2013-08-21 12:34:54 +02:00
Aleksander Morgado
4a68e8d273 broadband-modem-qmi: extended signal support only in NAS >= 1.8 2013-08-21 12:34:54 +02:00
Aleksander Morgado
1340896b50 iface-modem-signal: explicitly check support for the Signal interface 2013-08-21 12:34:54 +02:00
Aleksander Morgado
564e0fd94b libmm-glib,signal: don't create a 'MMSignal' with an empty dictionary 2013-08-21 12:34:54 +02:00
Aleksander Morgado
0502646f9f api,introspection: use per-technology dictionaries in the 'Signal' interface 2013-08-21 12:34:51 +02:00
Aleksander Morgado
e8ce650ed0 broadband-modem-qmi: implement extended signal quality reporting 2013-08-21 12:33:10 +02:00
Aleksander Morgado
5ef439e2d6 broadband-modem: handle the new 'Signal' interface 2013-08-21 12:33:10 +02:00
Aleksander Morgado
d368d30c53 iface-modem-signal: new implementation for the 'Signal' interface 2013-08-21 12:33:10 +02:00
Aleksander Morgado
d294232025 mmcli: new actions to use the 'Signal' interface 2013-08-21 12:33:09 +02:00
Aleksander Morgado
fcdbefa519 libmm-glib: handle the new 'Signal' interface 2013-08-21 12:33:09 +02:00