Commit Graph

1157 Commits

Author SHA1 Message Date
Aleksander Morgado
d169c99dc9 novatel: skip $NWDMAT if the modem has QMI ports 2013-05-07 18:49:57 +02:00
Aleksander Morgado
2c83334c25 novatel: allow QMI-powered modems 2013-05-07 09:11:28 +02:00
Aleksander Morgado
031657cea5 novatel: don't filter out the USB551L
We filter the E362 because it's managed by the Novatel LTE plugin. If we also
filter out the USB551L, but it's not explicitly grabbed by any other plugin, it
will default to the Generic one.
2013-05-07 09:08:17 +02:00
Aleksander Morgado
76d97c6334 novatel: don't explicitly filter by drivers
No real need to do it; the VID filter is already enough.
2013-05-07 09:05:49 +02:00
Dan Williams
89ae657fce telit: add basic plugin for Telit 3GPP and 3GPP2 devices 2013-05-06 12:38:50 -05:00
Dan Williams
ab4198f576 broadband-modem-zte: chain up to parent access tech loading for CDMA-only devices (bgo #698850)
CDMA-only devices don't support +ZPAS for access tech loading, so chain up to the
parent so we get the QCDM fallback access tech loading functions.

https://bugzilla.gnome.org/show_bug.cgi?id=698850
2013-05-06 10:19:30 -05:00
Dan Williams
7d67182521 broadband-modem-nokia: load access technology with *CNTI if possible
Works on the N9/N950, but not supported by the N900.
2013-05-06 10:18:02 -05:00
Dan Williams
881da689da broadband-modem-nokia: N900 doesn't disable echo unless explicitly done
During init, the N900 appears to ignore an E0 in the same command as
an E1.  So just add another init command to disable echo, which won't
have any effect on devices that work with the first command.
2013-05-06 10:18:02 -05:00
Ben Chan
2eee2e48ba sierra: remove comparison of unsigned expression >= 0
This patch removes an unnecessary check of unsigned expression >= 0,
which also fixes the following clang warnings:

sierra/mm-broadband-modem-sierra.c:570:18: error: comparison of
unsigned expression >= 0 is always true
[-Werror,-Wtautological-compare]
            mode >= 0 &&
            ~~~~ ^  ~

Bug reported on https://code.google.com/p/chromium/issues/detail?id=235989
Patched by Yunlian Jiang <yunlian@chromium.org>
2013-05-06 09:36:53 +02:00
Dan Williams
2e8866c8b7 time: normalize GetNetworkTime() response to local time + timezone info (bgo #697372)
The GetNetworkTime() response is defined to be an ISO8601 string, which
is in turn defined to be in local time.  Make sure that's reflected in
the documentation, and append the timezone offset to UTC where we have
it.

Oddly, Icera devices return their time info in UTC with an offset to
the local timezone, so we have to jump through some hoops there to
convert the response to localtime based on the reported offset.

Some additional fixes by Aleksander Morgado <aleksander@lanedo.com>.

https://bugzilla.gnome.org/show_bug.cgi?id=697372
2013-04-25 15:14:14 -05:00
Dan Williams
2320411113 broadband-modem-icera: fix issues checking supported bands
Icera devices include bands that the modem doesn't support in
the %IPBM=? list, so the plugin sets the band to its current
enabled/disabled value to test whether that band is supported.
There were two problems with this approach:

1) Setting an already-enabled band to be enabled apparently
isn't a NOP; it might take more than the 3 seconds given, and
if the response comes after 3 seconds, this greatly confuses
ModemManager because the AT command/reply sequence is now
messed up.  So increase the timeout to 10 seconds.

2) Why bother checking bands that are already enabled anyway?
We already know they are supported, so just don't check those
bands at all.  This requires some parkour because we use the
parsed band array from %IPBM=? to track whether bands are
enabled/disabled by indexing into the array, so instead just
use two separate arrays.  This actually makes the fix for #1
un-needed (because we never enable any bands) but it's good
to have #1 anyway.
2013-04-25 09:18:53 -05:00
Dan Williams
cabf53179e sierra: handle probing ERROR response better
The USB305 (Icera-based) apparently has a port that replies to everything
with ERROR, and that port is unusable.  Make sure it's ignored, otherwise
MM may claim it as the primary AT port since it technically speaks AT.
2013-04-25 09:18:53 -05:00
Aleksander Morgado
cebe828f7f huawei: only expect custom inits to be run on tty ports 2013-04-25 10:34:19 +02:00
Aleksander Morgado
99a8dcce2c zte: ensure error is set when +ZSNT response parser doesn't match 2013-04-25 09:36:51 +02:00
Aleksander Morgado
a32eef3434 x22x: ensure error is set when +SYSSEL response parser doesn't match 2013-04-25 09:36:51 +02:00
Aleksander Morgado
77d096bdac sierra: ensure error is set when !SELRAT response parser doesn't match 2013-04-25 09:36:51 +02:00
Aleksander Morgado
52fd67e365 novatel: ensure error is set when $NWRAT response parser doesn't match 2013-04-25 09:36:51 +02:00
Aleksander Morgado
2e6ba7cd09 huawei: ensure error is set when ^CPIN response parser doesn't match 2013-04-25 09:36:51 +02:00
Dan Williams
d1708f243d x22x: add Archos G9 device tags 2013-04-24 17:09:04 -05:00
Aleksander Morgado
b017064a58 altair-lte: minor coding style fixes 2013-04-24 23:06:41 +02:00
ori inbar
ba83bc61d0 altair-lte: Add SIM unlock retries query to the Altair plugin. 2013-04-24 23:05:35 +02:00
Aleksander Morgado
126d89b2f3 x22x: fix regex when parsing +SYSSEL response
The numbers reported by +SYSSEL may have more than one digit, e.g.:
  +SYSSEL: 14,2,0,0

https://bugzilla.gnome.org/show_bug.cgi?id=698774
2013-04-24 22:48:18 +02:00
Aleksander Morgado
b95dc3f2f5 mbm: allow MBIM devices 2013-04-17 19:15:24 +02:00
Aleksander Morgado
56387bb79c sierra: allow MBIM modems handled by the plugin 2013-04-17 15:19:50 +02:00
Aleksander Morgado
76ed80e1c9 generic: allow MBIM devices 2013-04-17 15:19:38 +02:00
Aleksander Morgado
2e4a83628a huawei: allow MBIM devices 2013-04-17 15:19:38 +02:00
Aleksander Morgado
cb45de048f plugin: allow plugins to require MBIM probing of cdc-wdm ports 2013-04-17 15:19:37 +02:00
Dan Williams
463de46e9e novatel: ignore USB551L
Just like the E362, which the USB551L is quite similar to.
2013-04-16 19:36:55 -05:00
Dan Williams
f770ea43c2 huawei: fix up udev rules file name 2013-04-11 14:46:43 -05:00
Aleksander Morgado
a12d979373 huawei: increase the connection timeout to 60s 2013-04-09 18:42:46 +02:00
Aleksander Morgado
cb11bd09d6 huawei: plug memleak 2013-04-09 18:41:15 +02:00
Franko Fang
01400024cd huawei: add port type rules for modems 2013-04-09 18:41:15 +02:00
Franko Fang
9d4091cc89 huawei: flag modems which support NDISDUP 2013-04-09 18:41:14 +02:00
Aleksander Morgado
dff23f57b3 huawei: use a 3s timeout as after-sim-unlock step
Huawei e220 may fail miserably (rebooting itself) if we issue commands just
after having unlocked the PIN.
2013-04-08 18:10:01 +02:00
Aleksander Morgado
a294800c7f icera: create generic bearer when no net port available
https://bugzilla.gnome.org/show_bug.cgi?id=697374
2013-04-05 19:10:53 +02:00
Aleksander Morgado
a2d2f83910 mbm: plug memleaks 2013-04-05 10:27:43 +02:00
Aleksander Morgado
30e2a0f4d0 mbm: don't pass (null) as string when either user or password is empty
E.g. instead of:
  (ttyACM1): --> 'AT*EIAAUW=2,1,"(null)","vodafone"<CR>'
  (ttyACM1): <-- '<CR><LF>OK<CR><LF>'

Better pass:
  (ttyACM1): --> 'AT*EIAAUW=2,1,"","vodafone"<CR>'
  (ttyACM1): <-- '<CR><LF>OK<CR><LF>'
2013-04-05 10:27:43 +02:00
Aleksander Morgado
8c39f2c551 sierra: implement PIN/PUK retry count loading
Not all Sierra modems support it, but those which do reply like this:

    AT+CPINC=?
    OK

    AT+CPINC?
    +CPINC: 3,3,10,10
2013-04-04 19:26:51 +02:00
Aleksander Morgado
464f33f77f sierra: early detect non-AT ports
Detect the parser filter errors during our custom_init(), and set the port as
not being AT if the error found.
2013-04-04 19:26:51 +02:00
Aleksander Morgado
4ea827a3a1 sierra: too many timeout errors during custom init means non-AT port
Reduces probing time of the modem in ~10s.
2013-04-04 19:26:51 +02:00
Aleksander Morgado
e60ad8d8dc mbm: ignore *ESTKSMS unsolicited messages
https://bugzilla.gnome.org/show_bug.cgi?id=697280
2013-04-04 18:32:55 +02:00
Aleksander Morgado
d2b4ab9d9c sierra: 'data' may be NULL if the parent dialling fails 2013-04-04 17:22:45 +02:00
Aleksander Morgado
a62624aa22 sierra: plug memleak 2013-04-04 17:18:23 +02:00
Aleksander Morgado
0d20a7c85a altair-lte: minor style changes 2013-04-04 09:48:54 +02:00
ori inbar
84e68cd4cd altair-lte: initial altair lte plugin 2013-04-04 09:39:37 +02:00
Aleksander Morgado
9ffb424ed4 pantech: skip WMC ports
WMC ports will return "ERROR" to all AT commands, except for "AT" itself. So
just provide a custom AT probing logic, which uses "ATE0" instead, and assumes
the port is not an AT port if an error is returned.
2013-04-02 17:41:54 +02:00
Aleksander Morgado
bb4f4f4e9e pantech: fully skip the SIM storage in the messaging interface
Seems that trying to use the SIM storage hangs a UMW190  modem, so just fully
ignore it for now.

https://bugzilla.gnome.org/show_bug.cgi?id=696724
2013-04-02 09:53:46 +02:00
Aleksander Morgado
a066cc84cf mbm: fix udev rule tagging logic 2013-04-01 17:53:13 +02:00
David Castellanos
2896e711ae x22x: Fix problem in set allowed mode
NM attempts to set allowed and preferred mode during the connection
process. The plugin x220x does not handle properly when NM request
allowed mode to '2g, 3g' and the preferred mode to 'none'.

This commit attempts to solve the problem described above. When this
situation happens, establish the mode of the modem has 'ANY' (which
seems the safest one) instead of just throwing an error.

Signed-off-by: David Castellanos <dcastellanos@indra.es>
2013-04-01 16:03:39 +02:00
Aleksander Morgado
5ffad1f51f mbm: don't tag only tty ports, and also grab cdc-wdm ports
We also need to tag cdc-wdm ports, so that they get grabbed but ignored and
not QMI-probed.

https://bugzilla.gnome.org/show_bug.cgi?id=696701
2013-04-01 14:02:51 +02:00