Age | Commit message (Collapse) | Author |
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
Just like the E362, which the USB551L is quite similar to.
|
|
|
|
|
|
|
|
|
|
|
|
Huawei e220 may fail miserably (rebooting itself) if we issue commands just
after having unlocked the PIN.
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=697374
|
|
|
|
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>'
|
|
Not all Sierra modems support it, but those which do reply like this:
AT+CPINC=?
OK
AT+CPINC?
+CPINC: 3,3,10,10
|
|
Detect the parser filter errors during our custom_init(), and set the port as
not being AT if the error found.
|
|
Reduces probing time of the modem in ~10s.
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=697280
|
|
|
|
|
|
|
|
|
|
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.
|
|
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
|
|
|
|
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>
|
|
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
|
|
MBM modems will lie about the unlock status just after having sent a
correct PIN or PUK. So, explicitly wait to get in READY state after having
sent the PIN or PUK, before keeping on.
https://bugzilla.gnome.org/show_bug.cgi?id=696702
|
|
Use AT$NWLTIME to get current time and UTC offset.
|
|
When the serial port buffer gets full of non-AT garbage during port probing,
we were re-scheduling the next probing step, which is completely wrong, as we
then would be processing the same probing task twice. If we get a buffer full,
just cancel the AT probing cancellable, which would cancel not only the possible
AT probings, but also the custom init if there is any.
Also, make sure that the custom_init() of the plugins out there don't return an
error if the GCancellable is cancelled. Cancelling the GCancellable means we
should just stop the custom_init(), and actually sending an error in
custom_init() means that the port should be set as unsupported by the plugin, so
completely different things.
Should fix https://bugzilla.gnome.org/show_bug.cgi?id=696695
|
|
The probing logic expects either one or the other right now. In this case, it is
just simpler to include the Nozomi-related VID in the vendor filter, and remove
the product filter.
|
|
https://bugzilla.gnome.org/show_bug.cgi?id=696593
|
|
+CME ERROR: 3 (Not Allowed) means airplane mode, at least for the
Samsung Yxxxx devices that I've got. And if we get this error
on any other devices, chances are they'll fail to power up too.
|
|
Plugins which may support QMI ports need to explicitly request QMI probing
in cdc-wdm devices. This should also avoid probing cdc-wdm ports when we know
that the plugin doesn't support them (e.g. with Ericsson MBM devices).
https://bugzilla.gnome.org/show_bug.cgi?id=696701
|
|
So do it during port probing. If we send this command early enough in the
first AT port being probed, it should flip the secondary ports to AT mode
before their port probing is finished.
https://bugzilla.gnome.org/show_bug.cgi?id=696696
|
|
|
|
Older devices may crash if asked to connect right after sending the
PIN and unlocking the SIM; they simply stop responding to AT commands
around the first request for access technology and then reboot. A
delay seems prevents this behavior.
Since it's not uncommon to require a delay after SIM unlock, add one
for newer sierra_net devices as well, even though we're not quite
sure if they need one or not. It doesn't hurt, at least.
|