Commit Graph

3500 Commits

Author SHA1 Message Date
Ben Chan
15f7a370d2 novatel-lte: increase the wait after SIM unlock to 3 seconds
After repeated stress tests on a few Novatel E362 modems and SIM cards,
it is revealed that a 3-second wait after SIM unlock is necessary for
reliably reading ICCID and IMSI through the SIM interface.
2012-11-02 08:19:47 +01:00
Ben Chan
02ef7d9547 iface-modem: load own numbers after SIM initialization
In 3GPP, own numbers are loaded from the SIM card, the loading of own
numbers should be scheduled after the SIM card is ready.
2012-11-02 08:19:30 +01:00
Aleksander Morgado
daf1a353c3 core: allow QMI modems without AT ports 2012-10-31 10:54:25 +01:00
Aleksander Morgado
25d35b6f91 broadband-modem-qmi: run power-down during init 2012-10-31 10:15:21 +01:00
Dan Williams
189726de11 sierra: allow more time for PDP context activation
3 seconds isn't always enough to set up the context with the network.
2012-10-30 18:40:30 -05:00
Marius B. Kotsbak
26956924b0 sierra: avoid reset when setting cfun=1
Some Sierra modems trigger a reset of the modem when sending +cfun=1.
All sierra modems supports a second parameter to indicate that no
reset is to be done: "+cfun=1,0".
2012-10-30 12:53:25 -05:00
Aleksander Morgado
120b660fd4 core,log: include logging from the 'Qmi' log domain
Sync with libqmi:

commit 2835a53732fdae32478dd954a9ee3fa8afd93cab
Author: Aleksander Morgado <aleksander@lanedo.com>
Date:   Tue Oct 30 15:02:24 2012 +0100

    libqmi-glib: define library G_LOG_DOMAIN
2012-10-30 16:06:27 +01:00
Aleksander Morgado
3c2bcb8d04 huawei: ignore '^STIN' unsolicited messages 2012-10-30 15:50:32 +01:00
Aleksander Morgado
6992e3b32d huawei: reset ignored unsolicited message handlers only once 2012-10-30 15:48:30 +01:00
Aleksander Morgado
0ca6ae1b4b plugin-manager,plugin: run pre-probing filters early
For each port, we will construct the list of plugins to test with. In that list
we will include those plugins which are likely to handle a given port, so we
will skip all those which aren't.

To see if a plugin is likely or not, we will run the pre-probing filters before
adding them to the list, with the new `mm_plugin_discard_port_early()'. This
method will return one of these hints:

 * UNSUPPORTED: The plugin will not be able to handle this port.
 * MAYBE: The plugin may handle this port.
 * LIKELY: The plugin may (very likely) handle this port.
 * SUPPORTED: If any plugin should support the port, this is it.

Plugins reported to be 'likely' supporting the port will be probed before the
ones reported just as 'maybe'.

If a plugin reports 'supported' only that one and the fallback generic ones will
be tried.
2012-10-30 15:35:58 +01:00
Aleksander Morgado
e5b4b4d0e5 plugin-manager: use dispose() as we're holding plugin objects 2012-10-30 15:35:58 +01:00
Aleksander Morgado
49c19bf83e plugin: avoid unneeded vendor/product AT probing if already passed USB ID filter
Don't require vendor/product string probing if the plugin already had
vendor/product ID filters and we actually passed those.
2012-10-30 15:35:58 +01:00
Aleksander Morgado
3f255b628a plugin-manager,plugin: improve logging
Logging which are the reasons for a plugin to filter a given port really help
when trying to debug user issues. Some other general logging improvements also
done.
2012-10-30 15:35:58 +01:00
Aleksander Morgado
28114f66d5 iface-modem,broadband-modem: update 'enabling->enabled transition logic
It is not the Modem interface the one notifying about the 'enabling->enabled'
transition, it's the BroadbandModem directly doing it, covering all the enabling
sequences of all the interfaces.
2012-10-30 15:35:34 +01:00
Aleksander Morgado
d09d02442f iface-modem,broadband-modem: update 'disabling->disabled' transition logic
It is not the Modem interface the one notifying about the 'disabling->disabled'
transition, it's the BroadbandModem directly doing it, covering all the
disabling sequences of all the interfaces.
2012-10-30 15:35:33 +01:00
Aleksander Morgado
a12d1e36b0 iface-modem: when transitioning to ENABLED check registration-specific states 2012-10-30 15:35:33 +01:00
Aleksander Morgado
f667898eca iface-modem: ignore registration-related state changes if enabling or disabling 2012-10-30 15:35:33 +01:00
Aleksander Morgado
db80fd2550 iface-modem: ignore bearer related state changes if disabling or enabling 2012-10-30 15:35:33 +01:00
Aleksander Morgado
1642863037 iface-modem-simple: avoid intermediate states
If the modem is currently disabling, we need to wait to get fully disabled
before starting with the new connection sequence.

If the modem is currently disconnecting, we need to wait to get fully
disconnected before starting with the new connection sequence.
2012-10-30 15:35:33 +01:00
Aleksander Morgado
4fc3f52791 iface-modem: new helper method to wait until a final state is reached 2012-10-30 15:35:33 +01:00
Aleksander Morgado
96986117b3 option,hso: don't reset connection if cancelled, wait to get connected before
If we are requested to cancel the connection, we first need to wait for the
connection attempt to finish before issuing the disconnect command, as otherwise
the modem just returns an error saying that it cannot perform the operation and
at the end we end up with the modem connected but ModemManager thinking that it
isn't.
2012-10-30 15:35:33 +01:00
Aleksander Morgado
6297c4b4c8 icera: don't reset connection if cancelled, wait to get connected before
If we are requested to cancel the connection, we first need to wait for the
connection attempt to finish before issuing the disconnect command, as otherwise
the modem just returns an error saying that it cannot perform the operation and
at the end we end up with the modem connected but ModemManager thinking that it
isn't.

Tries to fix https://bugzilla.gnome.org/show_bug.cgi?id=685578
2012-10-30 15:35:33 +01:00
Aleksander Morgado
a772b28ad6 broadband-modem-qmi: only give gsm/wcdma acquisition order if both 2G & 3G given 2012-10-25 16:50:08 +02:00
Aleksander Morgado
79af94fdbd broadband-modem-qmi: don't treat no-effect errors as failure when setting SSP 2012-10-25 16:49:16 +02:00
Aleksander Morgado
e2d20974c1 iface-modem: don't re-set interface skeleton after PIN unlock
Before the change, the client application loses all new property change
notifications in the interface object:

$ sudo mmcli -m 0 -w
	/org/freedesktop/ModemManager1/Modem/0: Initial state, 'locked'
	/org/freedesktop/ModemManager1/Modem/0: State changed, 'locked' --> 'initializing' (Reason: None or unknown)

After the change, it doesn't:

$ sudo mmcli -m 0 -w
	/org/freedesktop/ModemManager1/Modem/0: Initial state, 'locked'
	/org/freedesktop/ModemManager1/Modem/0: State changed, 'locked' --> 'initializing' (Reason: None or unknown)
	/org/freedesktop/ModemManager1/Modem/0: State changed, 'initializing' --> 'disabled' (Reason: None or unknown)
	/org/freedesktop/ModemManager1/Modem/0: State changed, 'disabled' --> 'enabling' (Reason: User request)
	/org/freedesktop/ModemManager1/Modem/0: State changed, 'enabling' --> 'registered' (Reason: User request)
	/org/freedesktop/ModemManager1/Modem/0: State changed, 'registered' --> 'disabling' (Reason: User request)
	/org/freedesktop/ModemManager1/Modem/0: State changed, 'disabling' --> 'disabled' (Reason: User request)
2012-10-25 16:19:51 +02:00
Aleksander Morgado
7fd09123f8 broadband-bearer: log all found PDP contexts before looking for a match 2012-10-25 16:19:34 +02:00
Aleksander Morgado
675d8aeeea tests: add PDP context reply parser test for Samsung/Icera replies 2012-10-25 16:19:28 +02:00
Aleksander Morgado
e499d32ef1 core: add info logs to show main state machine start/stop points 2012-10-25 16:19:24 +02:00
Aleksander Morgado
6d4a4d647c broadband-modem: disable echo in secondary port when enabling 2012-10-25 16:19:15 +02:00
Aleksander Morgado
d3ddfd583c broadband-modem: make sure the primary port is used for the modem init sequence 2012-10-25 16:19:11 +02:00
Martyn Russell
89723c7ef2 docs,ModemManager: include the missing manpage
(aleksander) I messed up the integration of commit bc49794848, this should fix
it.
2012-10-24 10:44:58 +02:00
Aleksander Morgado
96c6db9926 man,mmcli: add additional commonly used examples 2012-10-23 19:47:55 +02:00
Martyn Russell
b5040fa033 docs,mmcli: Add man page for mmcli(8) 2012-10-23 19:47:55 +02:00
Martyn Russell
bc49794848 docs,ModemManager: Don't use .in file for manpage, no need 2012-10-23 19:47:55 +02:00
Dan Williams
90e67404d6 bearer-qmi: get and log current IP settings when connecting the bearer
All addresses are given as machine byte order, and thus must be converted
to network byte order (BE) before passing to inet_ntop().
2012-10-23 18:20:24 +02:00
Aleksander Morgado
6788f809ea cli,sms: add missing parameter documentation in `--store-in-storage' 2012-10-23 16:31:51 +02:00
Aleksander Morgado
29e3c0e742 bearer: fix connection allowance rules in 3GPP+LTE modems
Only force disconnection of the bearer if not registered in any network or if
registered in both 3GPP and CDMA roaming networks.
2012-10-22 19:09:08 +02:00
Aleksander Morgado
82f91f3217 iface-modem: when playing with bands is not supported, use 'unknown' 2012-10-22 19:06:49 +02:00
Aleksander Morgado
219aff47e0 iface-modem: try to avoid showing 'any' as current bands
Just expose the list of supported bands when the current bands is set to 'any'.
2012-10-22 19:06:49 +02:00
Aleksander Morgado
b317996a8e iface-modem: always ensure that current bands is a subset of supported bands
In QMI modems the logic behind supported and current bands is completely
separated in different services (DMS vs NAS). Actually, the list reported by NAS
as current band preferences seems to include more values than the ones reported
by DMS as supported bands (e.g. CDMA bands are reported even if the firmware
image is GSM/HSPA only).

So, just clean up the list of current preferred bands so that no more than those
given as supported is used.
2012-10-22 19:06:49 +02:00
Aleksander Morgado
8e4d93c04e nokia,icera: setup custom AT probing as in the generic Nokia plugin 2012-10-22 14:03:43 +02:00
Aleksander Morgado
c900aa7c0b nokia: run vendor string probing, in order to grab Bluetooth DUN devices 2012-10-22 13:08:31 +02:00
Aleksander Morgado
2559dc5baf cli: don't abort when looking for bearers in failed modems 2012-10-22 12:46:34 +02:00
Aleksander Morgado
5978258d85 base-modem-at: handle NULL responses from the serial parsing in sequences 2012-10-22 12:33:19 +02:00
Aleksander Morgado
c5f3198a9f device: only export modem if it is available 2012-10-22 12:27:55 +02:00
Ben Chan
10a0ed12c4 novatel-lte: retry $NWQMISTATUS upon an unknown error during connecting
The $NWQMISTATUS command sometimes replies an ERROR shortly after
calling the $NWQMICONNECT command, but then replies the proper QMI
status if we retry it. This behavior is observed on an E362 modem with
4.08 firmware.

    (ttyUSB0): --> 'AT$NWQMICONNECT=,,,,,,"",,,"",""<CR>'
    (ttyUSB0): <-- '<CR><LF>OK<CR><LF>'
    (ttyUSB0): --> 'AT$NWQMISTATUS<CR>'
    (ttyUSB0): <-- '<CR><LF>ERROR<CR><LF>'
    Got failure code 100: Unknown error
    QMI connection status failed: Unknown error
2012-10-22 10:46:57 +02:00
Ben Chan
8362171973 novatel-lte: handle $NWQMISTATUS responses for firmware 4.08
In firmware 4.08, the $NWQMISTATUS command returns different values for
QMI state to indicate the current connection state. This patch modifies
the code to handle $NWQMISTATUS responses in firmware 1.41 and 4.08.
2012-10-22 10:46:57 +02:00
Dan Williams
7f105dc386 simple: don't try to enable the "unknown" band
If the band isn't actually given, don't try to enable it.
2012-10-19 19:32:28 -05:00
Aleksander Morgado
79fdddccbf api,modem: new 'PrimaryPort' property
We do need to specify which is the primary port being used for controlling the
modem. This allows us to match the device with an already existing bluetooth
device in NetworkManager.
2012-10-19 00:58:36 +02:00
Aleksander Morgado
e123c7d5b4 blacklist: skip probing SheevaPlug serial ports
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686217
2012-10-17 15:22:29 +02:00