Aleksander Morgado
14bb687b94
iface-modem-cdma: fix use of uninitialized variable
2013-03-22 08:17:48 +01:00
Aleksander Morgado
3b66047d94
broadband-modem-qmi: implement automatic CDMA activation
2013-03-22 08:12:59 +01:00
Aleksander Morgado
6252df0bef
broadband-modem-qmi: new generic power cycle action
2013-03-22 08:12:59 +01:00
Aleksander Morgado
3e5251cad7
broadband-modem-qmi: implement initial CDMA activation state loading
2013-03-22 08:12:59 +01:00
Aleksander Morgado
5cc98341ad
iface-modem-cdma: load initial activation state during init
2013-03-22 08:12:59 +01:00
Aleksander Morgado
240dc12fd2
iface-modem-cdma: allow reporting activation state changes
2013-03-22 08:12:43 +01:00
Aleksander Morgado
ad757bd3bc
bearer-qmi: don't try to gather connection settings if we didn't connect
2013-03-21 17:31:11 +01:00
Aleksander Morgado
aa84ce98f7
blacklist: ignore Arduino devices
...
https://bugs.launchpad.net/bugs/910736
https://bugs.launchpad.net/bugs/1153632
2013-03-20 21:36:34 +01:00
Aleksander Morgado
0b39072b76
error-helpers: avoid crash when error is not recognized
...
Just remove the last element with NULL strings in the array of errors, as we're
safe using G_N_ELEMENTS() to iterate it.
Reported by Jose Maria Gonzalez Calabozo <jmgonzalezc@indra.es >
2013-03-20 18:16:10 +01:00
Aleksander Morgado
f27dbda4a7
iface-modem-cdma: fix checking support for manual activation
2013-03-20 09:50:34 +01:00
Aleksander Morgado
b64fc4b588
blacklist: ignore West Mountain radio devices
...
https://bugs.launchpad.net/bugs/1154654
2013-03-13 17:06:10 +01:00
Aleksander Morgado
66c5416e3c
broadband-modem-qmi: fix logic to include GSM/WCDM acquisition order preference
2013-03-12 18:50:20 +01:00
Aleksander Morgado
5758fafaf5
modem-helpers-qmi: fix allowed mode translation from QMI to MM
...
Which actually fixes allowed mode switching in MM...
2013-03-12 12:22:22 +01:00
Aleksander Morgado
4b2577fe29
broadband-modem-qmi: fix initial operating mode loading
2013-03-12 11:01:27 +01:00
Aleksander Morgado
2bcc647d3e
broadband-modem-qmi: handle 'UimUninitialized' error when checking unlock status
...
QMI modems without SIM may report 'UimUninitialized' QMI protocol errors, so
catch those and use them as 'SIM failure' so that they get reported to the user.
2013-03-12 10:59:14 +01:00
Ben Chan
0dea5b5d72
broadband-modem: fix enable flag in UnsolicitedRegistrationEventsContext
2013-03-06 09:37:51 +01:00
Aleksander Morgado
3ebc8413b0
udev: tag all devices from idVendor 0x0711 as manual-scan-only
...
Magic Control Technology Corp (0x0711) manufacturers several USB<->RS232
adapters.
2013-03-05 19:41:08 +01:00
Aleksander Morgado
8450b7b2a3
core: don't automatically probe ports of USB<->serial adapters
...
We should not automatically probe ports marked as coming from USB to serial
adapters, as we're not sure that a modem is behind the adapter. Still, let the
user request a manual scan and have these devices probed in that case.
https://bugzilla.gnome.org/show_bug.cgi?id=647556
https://bugzilla.gnome.org/show_bug.cgi?id=691076
2013-03-05 19:41:08 +01:00
Ben Chan
3678ae5378
iface-modem-3gpp: handle non-deferrable registration state updates
...
This patch changes MMIfaceModem3gpp to differentiate between deferrable
and non-deferrable 3GPP registration state updates. Periodic or
unsolicited registration state updates are deferrable, while internal
updates, e.g. due to modem being disabled, are non-deferrable.
2013-03-05 19:31:17 +01:00
Ben Chan
1e67312aaf
broadband-modem: fix disabling of unsolicited registration events
2013-03-05 19:16:05 +01:00
Aleksander Morgado
9ee9845b1e
iface-modem-3gpp: avoid re-setting deferred registration update while disabling
...
Don't clear the current deferred registration update until having disabled
and cleaned up unsolicited registrations state messages, or we may end up
re-setting the deferred registration update again meanwhile
2013-03-01 18:21:19 +01:00
Ben Chan
f93bba25f2
iface-modem-3gpp: clear deferred registration state update when disabling
2013-03-01 08:44:43 +01:00
Aleksander Morgado
89461cf7b3
iface-modem: allow falling back to 'failed' state
...
Allow mm_iface_modem_update_state() receive 'MM_MODEM_STATE_FAILED', and treat
it as any other change to failed state, but with
'MM_MODEM_STATE_FAILED_REASON_UNKNOWN'.
2013-02-26 21:17:43 +01:00
Aleksander Morgado
8d74b11bd3
plugin-manager: cancelled tasks are no longer deferred-until-suggested
...
The deferred-until-suggested tasks specify tasks that are open/ongoing;
cancelled tasks shouldn't have this flag set.
https://bugzilla.gnome.org/show_bug.cgi?id=694603
2013-02-25 15:28:47 +01:00
Ben Chan
8488782e14
iface-modem-3gpp: defer registration state update when registration is lost
...
This patch defers the update of 3GPP registration state by 15 seconds
when the registration state changes from 'registered' (home / roaming)
to 'searching'. This allows a temporary loss of 3GPP registration to
recover itself when relying on ModemManager to explicitly disconnect and
reconnect to the network.
2013-02-25 09:10:56 +01:00
Aleksander Morgado
3f8b11e3f0
broadband-modem: fix CUSD response parsing
...
When reading the string reply in a +CUSD indication, don't blindly split
using whitespace or comma as field separator, as the string may be a text string
with both whitespaces and commas, e.g.:
+CUSD: 0,"hey hey, something here<LF>***<LF>and something more here"
Also, skip reading the encoding field for now, as we don't use it yet.
2013-02-22 21:54:57 +01:00
Aleksander Morgado
c19ee43cbe
broadband-modem: avoid reading already freed memory in USSD operations
2013-02-22 21:49:19 +01:00
Aleksander Morgado
9976625f94
broadband-modem: USSD response may come even before finishing our request
...
MBM devices seem to include the '+CUSD: 0' indication before even returning OK to our '+CUSD=1'
(ttyACM0): --> 'AT+CUSD=1,"*111#",15<CR>'
(ttyACM0): <-- '<CR><LF>+CUSD: 0,"reply here"<CR><LF>'
(ttyACM0): <-- '<CR><LF>OK<CR><LF>'
2013-02-22 21:49:19 +01:00
Aleksander Morgado
b1bb8e30b4
broadband-modem: don't assume the returned string is always hex-encoded
2013-02-22 19:43:49 +01:00
Aleksander Morgado
b22bba509a
broadband-modem: increase default AT command timeout for USSD operations
...
May really take more than 3s.
2013-02-22 17:47:25 +01:00
Aleksander Morgado
75d20c15d4
api: notify in the interface about the reason why the modem is FAILED
...
We currently implement 'SIM missing' and 'SIM error', which are probably the
most common ones.
2013-02-22 16:35:56 +01:00
Aleksander Morgado
a18140e8ed
plugin: avoid using uninitialized variable
...
Reported by: Jose Maria Gonzalez <jmgonzalezc@indra.es >
2013-02-21 11:15:37 +01:00
Aleksander Morgado
0377ccaa59
manager: during initial scan, add new ports in idles
...
Treat each port independently in its own idle, as if we're receiving independent
udev events, otherwise, GSources may not be properly scheduled in the main loop.
2013-02-20 19:16:05 +01:00
Aleksander Morgado
5b072b9198
plugin: plug memleak
...
A new reference to probe was acquired through mm_device_get_probe(), just unref it
when no longer needed. Note that mm_port_probe_run() will take its own reference
for as long as required to complete the operation.
2013-02-20 17:00:14 +01:00
Aleksander Morgado
688bb2cb3a
plugin: plug memleaks
...
This is really just to have a nice valgrind/memcheck output report, no big deal
if they were never freed.
2013-02-20 16:48:41 +01:00
Aleksander Morgado
000bb64225
serial-port: allow specifying some wait time between closing and reopening
...
We will now by default wait some time (1s) between port getting fully closed and
the port being reopened again. This logic seems to work for multiple modems
where there is a single port for both AT and data, like my Nokia C7 and Iridium
modems. If this wait time is not applied, the port ends up returning EAGAIN for
every write that we try to do afterwards.
2013-02-20 15:54:54 +01:00
Aleksander Morgado
9a6fce0a08
serial-port: remove unneeded property name
...
Was incorrectly included in a previous commit
2013-02-20 11:41:53 +01:00
Aleksander Morgado
2267fb0480
plugin: plug memleaks
2013-02-20 09:59:20 +01:00
Aleksander Morgado
f27737e031
bearer: plug memleak
2013-02-20 09:53:14 +01:00
Aleksander Morgado
061760a4f8
broadband-modem: plug memleak
2013-02-20 09:50:04 +01:00
Ben Chan
bb73ce0aaf
iface-modem: fix modem state consolidation upon bearer disconnection
...
Patch "iface-modem: fix invalid modem state consolidation" (commit
69aff6183a ) incorrectly consolidates the
modem state upon the disconnection of a bearer. The modem state remains
'connected' after the last bearer is disconnected. This patch fixes
that.
2013-02-20 09:17:08 +01:00
Aleksander Morgado
5fe69d0ebb
at-serial-port: plug memleak
2013-02-19 13:17:57 +01:00
Aleksander Morgado
f9583cb530
core: update logging levels of several messages
...
'info' log level, the default if none specified, included too many logs which
aren't that useful, to try to minimize the noise we produce by default.
2013-02-19 13:13:57 +01:00
Aleksander Morgado
37ddfe202e
plugin-manager: log time required for device probing
2013-02-19 12:52:01 +01:00
Aleksander Morgado
ed2b32c682
plugin-manager: if minimum time consumed and all deferred tasks, abort probing
...
For the case where we just get a device with all net ports (i.e. all deferred
until result suggested), just abort the probing if the minimum probing time is
consumed.
2013-02-19 12:45:10 +01:00
Aleksander Morgado
1a11af0f86
broadband-bearer: fallback to primary AT port if no data AT port available
...
Spotted by Dan Williams <dcbw@redhat.com > with his ADU960S.
2013-02-19 09:50:52 +01:00
Aleksander Morgado
d593116d68
base-modem: don't run port init sequence if we're just sending a command
...
This may happen when sending commands to the modem while in non-enabled state,
like when sending the PIN. In this case, just send the command, don't fully
initialize the port with the initialization sequence.
2013-02-18 16:06:18 +01:00
Aleksander Morgado
7a58647af7
broadband-bearer: fully reopen data port before flashing
...
When disconnecting the data port, first fully close and reopen the port before
flashing. This helps with some modems where the flashing mechanism doesn't
fully work, like this ZTE modem:
Before:
[1360325270.357678] [mm-bearer.c:690] mm_bearer_disconnect(): Disconnecting bearer '/org/freedesktop/ModemManager1/Bearer/0'
[1360325270.357796] [mm-iface-modem.c:1198] mm_iface_modem_update_state(): Modem /org/freedesktop/ModemManager1/Modem/1: state changed (connected -> disconnecting)
[1360325270.358503] [mm-broadband-bearer.c:1539] disconnect_3gpp(): Sending PDP context deactivation in secondary port...
[1360325270.358549] [mm-serial-port.c:927] mm_serial_port_open(): (ttyUSB4) device open count is 2 (open)
[1360325270.358633] [mm-at-serial-port.c:392] debug_log(): (ttyUSB4): --> 'AT+CGACT=0,2<CR>'
[1360325270.375131] [mm-at-serial-port.c:392] debug_log(): (ttyUSB4): <-- '<CR><LF>OK<CR><LF>'
[1360325270.375251] [mm-serial-port.c:967] mm_serial_port_close(): (ttyUSB7) device open count is 1 (close)
[1360325270.375282] [mm-serial-port.c:927] mm_serial_port_open(): (ttyUSB7) device open count is 2 (open)
[1360325270.375300] [mm-broadband-bearer.c:1497] cgact_secondary_ready(): Flash primary port...
[1360325270.375833] [mm-serial-port.c:967] mm_serial_port_close(): (ttyUSB4) device open count is 1 (close)
[1360325271.377539] [mm-broadband-bearer.c:1455] primary_flash_3gpp_ready(): PDP disconnection already sent in secondary port
[1360325271.377634] [mm-serial-port.c:967] mm_serial_port_close(): (ttyUSB7) device open count is 1 (close)
[1360325271.377680] [mm-port.c:149] mm_port_set_connected(): (ttyUSB7): port now disconnected
[1360325271.377721] [mm-bearer.c:623] disconnect_ready(): Disconnected bearer '/org/freedesktop/ModemManager1/Bearer/0'
[1360325286.415396] [mm-serial-port.c:927] mm_serial_port_open(): (ttyUSB7) device open count is 2 (open)
[1360325286.415510] [mm-at-serial-port.c:392] debug_log(): (ttyUSB7): --> 'AT+ZPAS?<CR>'
[1360325287.400589] [mm-broadband-modem.c:1717] modem_load_signal_quality(): loading signal quality...
[1360325287.400679] [mm-serial-port.c:927] mm_serial_port_open(): (ttyUSB7) device open count is 3 (open)
[1360325289.401873] [mm-iface-modem.c:762] access_technologies_check_ready(): Couldn't refresh access technologies: 'Serial command timed out'
[1360325289.401940] [mm-serial-port.c:967] mm_serial_port_close(): (ttyUSB7) device open count is 2 (close)
[1360325289.401998] [mm-at-serial-port.c:392] debug_log(): (ttyUSB7): --> 'AT+CIND?<CR>'
[1360325292.403162] [mm-serial-port.c:927] mm_serial_port_open(): (ttyUSB7) device open count is 3 (open)
[1360325292.403247] [mm-serial-port.c:967] mm_serial_port_close(): (ttyUSB7) device open count is 2 (close
...
After:
[1360326617.604527] [mm-bearer.c:690] mm_bearer_disconnect(): Disconnecting bearer '/org/freedesktop/ModemManager1/Bearer/0'
[1360326617.604622] [mm-iface-modem.c:1198] mm_iface_modem_update_state(): Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connected -> disconnecting)
[1360326617.605006] [mm-broadband-bearer.c:1535] disconnect_3gpp(): Sending PDP context deactivation in secondary port...
[1360326617.605034] [mm-serial-port.c:929] mm_serial_port_open(): (ttyUSB4) device open count is 2 (open)
[1360326617.605088] [mm-at-serial-port.c:392] debug_log(): (ttyUSB4): --> 'AT+CGACT=0,2<CR>'
[1360326617.620075] [mm-at-serial-port.c:392] debug_log(): (ttyUSB4): <-- '<CR><LF>OK<CR><LF>'
[1360326617.620206] [mm-broadband-bearer.c:1493] cgact_secondary_ready(): Flash primary port...
[1360326617.620241] [mm-serial-port.c:1334] mm_serial_port_flash(): (ttyUSB7) reopening before flash (2)
[1360326617.620265] [mm-serial-port.c:969] mm_serial_port_close(): (ttyUSB7) device open count is 1 (close)
[1360326617.620286] [mm-serial-port.c:969] mm_serial_port_close(): (ttyUSB7) device open count is 0 (close)
[1360326617.620320] [mm-serial-port.c:985] mm_serial_port_close(): (ttyUSB7) closing serial port...
[1360326617.620356] [mm-port.c:149] mm_port_set_connected(): (ttyUSB7): port now disconnected
[1360326617.621355] [mm-serial-port.c:1017] mm_serial_port_close(): (ttyUSB7) serial port closed
[1360326617.621403] [mm-serial-port.c:860] mm_serial_port_open(): (ttyUSB7) opening serial port...
[1360326617.622836] [mm-serial-port.c:417] real_config_fd(): (ttyUSB7): port attributes not fully set
2013-02-18 15:41:26 +01:00
Aleksander Morgado
553bebe825
serial-port: new method to reopen a port
...
We will fully close the port and the re-open it again keeping the same
open_count that we had before.
2013-02-18 15:41:26 +01:00
Aleksander Morgado
f8e3a8adb9
broadband-bearer: try to run CGACT first on the primary port
...
It may happen that the primary port is not the data port; if so, try with the
primary port first, and otherwise fallback to the secondary port.
2013-02-18 15:41:26 +01:00