Age | Commit message (Collapse) | Author |
|
|
|
|
|
No idea what git thinks is different about these two lines, they
strcmp() the same.
|
|
See also d5ca82eade4c341a18a72e6f16c9db4ee34be4d5
|
|
|
|
Since MMModem is an interface and doesn't store stuff like the
modem's physdev internally (since it's an interface) these things
are handled via GObject properties. And since g_object_get()
returns allocated values, we need to free the returned value
from mm_modem_get_device() after we're done with it.
|
|
|
|
There are some cases where flashing the primary port doesn't work
either due to stupid modem firmware or crappy kernel drivers. So
if we have a secondary port, try sending the PDP deactivation
command to the secondary port first, and if that fails send it
to the primary port after the primary port gets flashed. This
increases the chances that the +CGACT request will be successful.
Some modems (Huawei, ZTE) don't like +CGACT on the secondary port,
but when that fails, the code falls back to previous behavior of
flashing and sending CGACT to the primary port.
|
|
|
|
Some phones like the T630 don't put a space after the ':'.
|
|
|
|
|
|
These are Longcheer-based devices, but the vendor ID is different.
We had tagged the X060s' ports in the rules but never updated the
plugin to handle the different vendor ID.
|
|
The argument passed to the handler is a GByteArray, not a
GString. Encountered with Option iCON Icera-based devices,
but could also be possible with Sierra devices.
|
|
Interfered with initial PIN checking in some cases.
|
|
|
|
QCDM ports should never be the data port; 'net' ports take precedence
over AT ports too. Clarify that.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Not all devices support unsolicited responses for access technology,
so lets poll it periodically along with registration state and
signal quality.
|
|
|
|
|
|
This specifically fixes a regression with Novatel GSM secondary
AT port enablement, where the inital pin check closed the port
before the Novatel plugin could send the command to flip secondary
ports to AT mode.
But it's useful elsewhere too, and simplifies a bunch of the PIN
checking code which had to use various ugly methods to track whether
to close the port or not after checking the PIN.
|
|
Some devices (Blackberries via DUN) appear to always return an error
for AT+CREG, which is valid in some cases. If that happens lets also
try AT+CGREG too, which on these devices responds with the correct
packet data registration state.
|
|
|
|
Instead of returning an unhelpful error when there isn't a second
AT port (which there never will be for Novatel CDMA devices) we should
let the superclass handle the request.
|
|
|
|
|
|
Should have ERROR in them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The master device of PCMCIA-provided ports is typically the
last device in the PCMCIA subsystem, because the PCMCIA
controller is usually a PCI device or some other subsystem.
|
|
#613490)
Some devices (ZTE MF110 for example) respond immediately to the unlock
request, but in reality take a bit of time before they are actually
unlocked. Check PIN status a few times after sending the unlock.
|
|
Some devices (at least one Blackberry we know about) don't include
the () around the response. Handle that and add testcases for it.
|
|
Some devices apparently don't like it (even though it's required
in the standards) and since we can deal without it, don't require
+CMEE=1 to complete successfully.
|
|
|
|
The generic CDMA superclass already checks minimal registration state,
and when some of the additional query_registration_state() subclass checks
were being performed, if the device returned an error (if it didn't support
the subclass' specific registration command like *STATE or ^SYSINFO) the
superclass' registration state checks would be thrown away.
Fix that by specifying the behavior of the subclass'
query_registration_state() methods to ignore most errors and leave the
superclass' registration state intact if a non-critical error occurs.
|
|
The next plugin logic was wrong when a previous plugin had already
claimed support for the port and the Generic plugin was next. In
that case, the code failed to call the functions to actually grab
the port.
|