Commit Graph

5790 Commits

Author SHA1 Message Date
Mario Blättermann
22eb8816f1 po: add German translation 2014-01-13 18:01:21 +01:00
Ben Chan
5c00736f44 iface-modem,sim: make SIM interface initialization cancellable 2014-01-11 23:33:35 +01:00
Ben Chan
50f3f41c3a huawei: avoid creating Connect3gppContext when no data port is available
This patch modifies MMBroadbandBearerHuawei such that connect_3gpp
simply reports an error via g_simple_async_report_error_in_idle, without
creating a Connect3gppContext, if no data port is available.
2014-01-09 13:12:26 +01:00
Ben Chan
fd1a1839ae serial-port: fail open/reopen after a serial port has been forced close
After a MMSerialPort object is forced close, it may be opened again if some
other object still holds a reference to it. When the MMSerialPort object is
eventually disposed, mm_serial_port_close_force is invoked on the object but
does nothing as 'priv->forced_close' is already set to TRUE. 'priv->watch_id'
is still active, which could potentially lead to a crash if data_available is
called after the MMSerialPort object is finalized. This patch prevents such a
scenario by failing mm_serial_port_open / mm_serial_port_reopen after the
MMSerialPort has been forced close.
2014-01-09 13:10:07 +01:00
Ben Chan
910a55a0f2 novatel-lte: remove unused macro definitions 2014-01-08 10:09:06 +01:00
Ben Chan
76d52c2df3 huawei: avoid calling g_object_unref on NULL
This patch prevents connect_3gpp_context_complete_and_free from calling
'g_object_unref (ctx->data)' when connect_3gpp finds no data port (i.e.
ctx->data is set to NULL).
2014-01-08 10:09:06 +01:00
Yegor Yefremov
84bdcb04ed trivial: resolve maybe-uninitialized warnings
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2014-01-07 09:40:05 -06:00
Ben Chan
1601069e50 novatel-lte: explicitly use primary port for connection/disconnection sequence
The Novatel LTE modem only uses its primary AT port for AT commands.
Instead of referencing any existing secondary port, this patch changes
MMBroadbandBearerNovatelLte to explicitly use the primary port during the
connection and disconnection sequence.
2014-01-07 08:53:59 +01:00
Ben Chan
6c1c0d5e2b altair-lte: explicitly use primary port for connection/disconnection sequence
The Altair LTE modem only uses its primary AT port for AT commands.
Instead of referencing any existing secondary port, this patch changes
MMBroadbandBearerAltairLte to explicitly use the primary port during the
connection and disconnection sequence.
2014-01-07 08:53:10 +01:00
Ben Chan
22b0de736b huawei: handle ^NDISSTAT disconnected notification only on a connected bearer
If the bearer is not actually connected and the modem (inappropriately)
indicates a disconnected status via a ^NDISSTAT unsolicited message, it
could potentially lead to the following assertion in
connect_3gpp_context_step. This patch addresses such an issue.

    g_assert (ctx->self->priv->network_disconnect_pending_id == 0);

0x7f940c2ecd95   [libc-2.15.so]            - raise.c:64                         raise
0x7f940c2ee217   [libc-2.15.so]            - abort.c:91                         abort
0x7f940c8e6086   [libglib-2.0.so.0.3400.3] - gtestutils.c:1877                  g_assertion_message
0x7f940c8e6553   [libglib-2.0.so.0.3400.3] - gtestutils.c:1888                  g_assertion_message_expr
0x7f940cba5710   [libmm-plugin-huawei.so]  - mm-broadband-bearer-huawei.c:240   connect_3gpp_context_step
0x7f940cd4a51e   [ModemManager]            - mm-broadband-bearer.c:1246         connect
0x7f940cd662b7   [ModemManager]            - mm-iface-modem-simple.c:588        connection_step
0x7f940cd66e6e   [ModemManager]            - mm-iface-modem-simple.c:267        register_in_3gpp_or_cdma_network_ready
0x7f940ca0e296   [libgio-2.0.so.0.3400.3]  - gsimpleasyncresult.c:775           g_simple_async_result_complete
0x7f940ca0e398   [libgio-2.0.so.0.3400.3]  - gsimpleasyncresult.c:787           complete_in_idle_cb
0x7f940c8c2ff4   [libglib-2.0.so.0.3400.3] - gmain.c:2715                       g_main_context_dispatch
0x7f940c8c3377   [libglib-2.0.so.0.3400.3] - gmain.c:3290                       g_main_context_iterate
0x7f940c8c37c9   [libglib-2.0.so.0.3400.3] - gmain.c:3484                       g_main_loop_run
0x7f940cd3b425   [ModemManager]            - main.c:142                         main
0x7f940c2d9464   [libc-2.15.so]            - libc-start.c:234                   __libc_start_main
0x7f940cd3afa8   [ModemManager]            + 0x0001efa8
2014-01-06 18:23:58 -06:00
Ben Chan
2a946bd72c novatel-lte: remove unnecessary MM_BASE_MODEM() casts 2014-01-06 18:06:09 -06:00
Jens Seidel
885a453dad mbm: add another C5621 ID
This device ID is used in a Lenovo Helix.
2014-01-03 11:31:58 -06: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
Ben Chan
496f298832 altair-lte: remove unnecessary MM_BASE_MODEM() casts 2014-01-03 12:30:02 +01:00
Ben Chan
dac652321b altair-lte: refactor code for handling 'data' in DetailedConnectContext 2014-01-03 12:30:00 +01:00
Ben Chan
cddc4af7bd huawei: report an error when ^PREFMODE reports no valid values
This patch fixes mm_huawei_parse_prefmode_test to always report an error when
returning NULL, which avoid a potential crash when the caller tries to access
the error.
2014-01-03 12:20:33 +01:00
Aleksander Morgado
52d34ce0db bearer-mbim: parse replies on failure
Based on a patch from: Bjørn Mork <bjorn@mork.no>

Some messages provide an additional NwError cause code from
the network in case of failure. This means that we need to
parse the reply even if the status indicates failure, to be
able to return the exact failure cause.
2013-12-19 18:43:14 +01:00
Ben Chan
ab12d17bfb iface-modem: fix crash in wait_for_final_state_context_complete_and_free
When wait_for_final_state_context_complete_and_free is invoked, if the callback
associated with the GSimpleAsyncResult object of the WaitForFinalStateContext
object updates the modem state via mm_iface_modem_update_state, state_changed
is invoked, which causes wait_for_final_state_context_complete_and_free to be
invoked again on the same WaitForFinalStateContext object. That leads to the
following crash, which is observed sometimes when a modem is being disabled.

Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 )

0x7fcb7728f202   [libgobject-2.0.so.0.3400.3] - gobject.c:2916              g_object_unref
0x7fcb7743205c   [ModemManager]               - mm-broadband-modem.c:8034   disabling_context_complete_and_free
0x7fcb77434d64   [ModemManager]               - mm-broadband-modem.c:8130   disabling_wait_for_final_state_ready
0x7fcb770c0b86   [libgio-2.0.so.0.3400.3]     - gsimpleasyncresult.c:775    g_simple_async_result_complete
0x7fcb7740cdbc   [ModemManager]               - mm-iface-modem.c:101]       wait_for_final_state_context_complete_and_free
0x7fcb7740ce19   [ModemManager]               - mm-iface-modem.c:128]       state_changed_wait_expired
0x7fcb76f78c33   [libglib-2.0.so.0.3400.3]    - gmain.c:4026]               g_timeout_dispatch
0x7fcb76f78087   [libglib-2.0.so.0.3400.3]    - gmain.c:2715]               g_main_context_dispatch
0x7fcb76f78437   [libglib-2.0.so.0.3400.3]    - gmain.c:3290]               g_main_context_iterate
0x7fcb76f78891   [libglib-2.0.so.0.3400.3]    - gmain.c:3484]               g_main_loop_run
0x7fcb773f4d55   [ModemManager]               - main.c:142]                 main
0x7fcb7698a9c6   [libc-2.15.so]               - libc-start.c:234]           __libc_start_main
0x7fcb773f48b8   [ModemManager]               + 0x000218b8]
2013-12-17 01:37:13 +01:00
Aleksander Morgado
004924b038 broadband-modem-qmi: fix segfault when using AT-fallback mode for messaging
The default broadband modem implementation doesn't have a method to disable
unsolicited messages for SMS.
2013-12-16 12:37:20 +01:00
Aleksander Morgado
5b078edc21 release: bump version to 1.1.900 (1.2-rc1)
Also bump soname of libmm-glib, as the interface has grown since the last tag.
2013-12-10 14:27:35 +01:00
Ben Chan
5aa2f11535 sim-mbim: prevent potential leak when loading SIM idenitifier and IMSI
This patch addresses a potential memory leak when load_sim_identifier or
load_imsi in MMSimMbim is called but the caller does not provide a
GAsyncReadyCallback.
2013-12-10 10:28:06 +01:00
Ben Chan
4c213d460e broadband-modem-mbim: prevent potential leak when scanning networks
This patch addresses a potential memory leak when scan_networks in
MMBroadbandModemMbim is called but the caller does not provide a
GAsyncReadyCallback.

Reported by Aleksander Morgado <aleksander@lanedo.com>
2013-12-10 10:26:57 +01:00
Ben Chan
ebadb6786a sim-mbim: prevent potential leak when loading operator idenitifier and name
This patch addresses a potential memory leak when
load_operator_identifier or load_operator_name in MMSimMbim is called
but the caller does not provide a GAsyncReadyCallback.

Reported by Aleksander Morgado <aleksander@lanedo.com>
2013-12-10 10:24:52 +01:00
Aleksander Morgado
fc42b2df8c huawei: handle empty response to AT^SYSCFG=?
Some Huawei modems (e.g. E220) may give an empty response for AT^SYSCFG=?, even
if they do support the command. Handle this case by prividing a default fallback
format string when this happens.
2013-12-09 23:07:19 +01:00
Aleksander Morgado
e81fdd07c3 huawei: new current mode setting based on the supported combinations 2013-12-09 23:07:19 +01:00
Aleksander Morgado
c337f52e30 huawei: new current mode loading based on the supported combinations 2013-12-09 23:07:19 +01:00
Aleksander Morgado
02839b2e44 huawei: new ^SYSCFGEX? response parser 2013-12-09 23:07:19 +01:00
Aleksander Morgado
9ac136028b huawei: new ^SYSCFG? response parser 2013-12-09 23:07:19 +01:00
Aleksander Morgado
4e5c35a69f huawei: new ^PREFMODE? response parser 2013-12-09 23:07:19 +01:00
Aleksander Morgado
8cc3eff661 huawei: load supported modes, not just assume them 2013-12-09 23:07:19 +01:00
Aleksander Morgado
ef526395df huawei: consolidate command support checks 2013-12-09 23:07:19 +01:00
Aleksander Morgado
47640a6507 huawei: new ^SYSCFGEX=? test parser 2013-12-09 23:07:19 +01:00
Aleksander Morgado
677dd7da91 huawei: new ^SYSCFG=? test parser 2013-12-09 23:07:19 +01:00
Aleksander Morgado
ceb578a824 huawei: new ^PREFMODE=? test parser 2013-12-09 23:07:18 +01:00
Aleksander Morgado
0dcf609dcc huawei,tests: enable log traces in the tests 2013-12-09 23:07:18 +01:00
Dan Williams
a1ffe805af broadband-modem-huawei: fix CDMA unsolicited response parsing
On at least the EC168C, various unsolicited responses like RSSILVL,
HRSSILVL, and MODE can include an extra Carriage Return:

^MODE: 2<CR><CR><LF><CR><CR><LF>
^RSSILVL:60<CR><CR><LF><CR><CR><LF>
2013-12-09 11:27:27 -06:00
Bjørn Mork
f721c650d2 qcdm: add utility to display and set the "IPv6 enabled" variable
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2013-12-05 13:16:48 -06:00
Bjørn Mork
fa0fa1c647 qcdm: add IPv6 nvram setting to test suite
Signed-off-by: Bjørn Mork <bjorn@mork.no>
2013-12-05 13:16:12 -06:00
Bjørn Mork
13552aa8b6 qcdm: add IPv6 nvram setting
Some Qualcomm firmwares disable IPv6 unless this flag is set in nvram, at
least for the LTE default bearer. The firmware will happily let you
configure the IPV6 and IPV4V6 PDP types, also including the default
profile, but any attempt to connect will fail.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
2013-12-05 13:16:09 -06:00
Ben Chan
073163fb0b core: fix some typos in comments 2013-12-05 13:04:18 -06:00
Ben Chan
9a72f90cf7 cli: fix source tag of GSimpleAsyncResult objects 2013-12-05 13:03:29 -06:00
Ben Chan
2db3df9d93 broadband-modem-mbim: implement network scan 2013-12-05 13:01:44 -06:00
Ben Chan
891f55f25c broadband-modem-mbim: fix source tag of GSimpleAsyncResult objects 2013-12-04 08:09:15 -06:00
Ben Chan
1e8baaf7a2 sim-mbim: implement operator identifier and name loading 2013-12-03 10:11:16 -06:00
Dan Williams
1b34fe6c51 broadband-bearer-qmi: ensure errors are cleared before re-using them
If the bearer doesn't have one of IPv4 or IPv6 configuration, then the
qmi_message_wds_get_current_settings_output_get_ip*_address() functions
will return FALSE with a filled error, which was not cleared.

This fixes a glib warning message about overwriting an already-filled
GError.
2013-12-01 14:20:19 -06:00
Aleksander Morgado
c30a8f67ef base-modem: also release cdc-wdm ports 2013-11-22 15:00:52 +01:00
Ben Chan
6d251daf47 cli: print 'Bearers' property in Modem interface 2013-11-22 08:35:53 +01:00
Ben Chan
e438221258 libmm-glib: add methods to retrieve 'Bearers' property in Modem interface 2013-11-22 08:35:41 +01:00
Aleksander Morgado
a787d1bbb8 docs,libmm-glib: add missing methods for the new properties 2013-11-21 12:46:05 +01:00
Aleksander Morgado
f7546ad824 introspection,api: new 'Messages' property in the Messaging interface
https://bugzilla.gnome.org/show_bug.cgi?id=712276
2013-11-21 11:36:21 +01:00