Commit Graph
387 Commits
Author SHA1 Message Date
Dan Williams 6e79d153ef Merge remote branch 'origin/master' into creg 2010-06-24 11:09:33 -07:00
Dan Williams 5fc9f259e2 trivial: print out useful debugging info before asserting 2010-06-24 09:19:55 -07:00
David Rochberg 89c572e59d core: add FactoryReset method
Cleanups and authorization checks by me (dcbw).
2010-06-22 17:47:07 -07:00
Dan Williams 88c538314a core: EquipmentIdentity -> EquipmentIdentifier 2010-06-22 17:14:13 -07:00
Torgny Johansson 8873c0a7dc gsm: add GetOperatorID method
Returns the ID of the operator that issued the SIM card.

Cleanups and get_mnc_length_done() by me (dcbw).
2010-06-22 16:50:21 -07:00
Dan Williams e442b3b7f1 cdma: implement EquipmentIdentity for CDMA devices 2010-06-22 14:37:20 -07:00
Torgny Johansson 52929a2c92 core: add modem EquipmentIdentity property to report IMEI/ESN/MEID 2010-06-22 14:36:49 -07:00
Torgny Johansson f179a56908 gsm: add UnlockRetries property
Which reports the # of attempts remaining for the current PIN required
by the device or SIM.

Some modifications/cleanups by dcbw.
2010-06-22 14:05:09 -07:00
Dan Williams adfe264b67 core: ensure claimed ports don't fall back to Generic (rh #597296)
Found by jklimes.  If some plugin already supports this port, it's
pointless to let Generic figure out if it supports the port since
we're just going to hand it to the other plugin anyway.
2010-06-22 01:58:54 -07:00
Dan Williams 597f691eb8 gsm: fix handling of SMS options 2010-06-22 00:55:47 -07:00
Dan Williams 962a6b0939 core: return errors to outstanding requests when serial ports are closed
Prevents crashes when the callback info completes when the modem is
removed, plus it's the right thing to do anyway...
2010-06-10 10:41:10 -07:00
Dan Williams 72a1a6caf6 gsm: use PS registration status if CS isn't available
Some devices (Blackberries) always respond to AT+CREG with ERROR,
but will respond to AT+CGREG normally.  Ugh.  Handle that by
using the PS registration status from AT+CGREG if we don't have
a valid CS registration status at all.
2010-06-07 22:21:01 -07:00
Dan Williams d5b8019d66 serial: fix cleanup of flash function (rh #591728)
The flash function could be called when the port was closed, and since
the flash function would only be canceled when the port was open,
it could trigger after the port object was destroyed.
2010-05-26 11:43:06 -07:00
Dan Williams 6c3ae7d8fd gsm: print simple connect state when debugging 2010-05-25 15:24:47 -07:00
Dan Williams 437c4ea8d9 test: add a few more CREG/CGREG responses 2010-05-25 15:24:27 -07:00
Dan Williams ccd2b7241c gsm: list simple-connect properties when debugging 2010-05-25 14:33:27 -07:00
Dan Williams afebde4868 build: print version on startup and add dist-version
Distributions should set dist-version at build time with the
package version and revision, so for RPM-based distros you'd

--with-dist-version=%{version}-%{release}

which will be printed out on MM startup to help debugging.
2010-05-21 09:43:47 -07:00
Dan Williams 9cbd68e96c cdma: return numeric ERI too 2010-05-18 13:04:43 -07:00
Dan Williams 533ffaddc4 cdma: make ERI parsing generic 2010-05-18 12:24:42 -07:00
Dan Williams 03ae419b00 gsm: more leniency in +CGDCONT parsing (bgo #617873)
See also d5ca82eade
2010-05-12 12:48:02 -07:00
Dan Williams b8f0f40349 core: fix memory leaks
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.
2010-05-07 13:56:23 -07:00
Dan Williams e855922b4b cdma: fix handling of empty QCDM frames 2010-05-07 13:50:16 -07:00
Dan Williams d0d847c65a gsm: try PDP context deactivation on the second port first
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.
2010-05-07 13:36:56 -07:00
Dan Williams d5ca82eade gsm: be more lenient in +CGDCONT parsing (bgo #617873)
Some phones like the T630 don't put a space after the ':'.
2010-05-07 10:05:22 -07:00
Dan Williams 246817fe54 serial: fix possible segfault handing port-full signals
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.
2010-05-05 15:49:33 -07:00
Dan Williams f63188eb26 core: log modem data port 2010-05-05 01:04:20 -07:00
Dan Williams 885bc90be9 gsm/cdma: fix data port assignment (rh #587400)
QCDM ports should never be the data port; 'net' ports take precedence
over AT ports too.  Clarify that.
2010-05-04 17:34:11 -07:00
Dan Williams 26a3fe3f53 trivial: use property name constant 2010-05-04 17:31:22 -07:00
Dan Williams 13b82e5d1c trivial: tweak debug message 2010-05-04 17:31:01 -07:00
Dan Williams 565d9343f6 core: print out port type when port is claimed 2010-05-04 16:58:44 -07:00
Dan Williams 0c3961441b core: add port type -> string conversion helper for debuggin messages 2010-05-04 16:58:18 -07:00
Dan Williams 5769929668 helpers: add generic helper for string -> access technology 2010-05-01 22:41:33 -07:00
Dan Williams de5f1bd4e9 core: clear error before use 2010-05-01 22:34:59 -07:00
Dan Williams c6cb5acfe1 gsm: periodically poll access technology too
Not all devices support unsolicited responses for access technology,
so lets poll it periodically along with registration state and
signal quality.
2010-04-30 00:44:24 -07:00
Dan Williams bfe3dd49ed core: refcount serial port open/close
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.
2010-04-29 21:15:17 -07:00
Dan Williams 26a51d6ab9 gsm: try both CREG and CGREG during initial registration checking
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.
2010-04-29 19:40:41 -07:00
Dan Williams a13becc225 core: timestamp debug statements 2010-04-29 18:59:11 -07:00
Dan Williams 1864d8da07 core: add platform device support and whitelist 2010-04-29 12:17:56 -07:00
Dan Williams a4c094c340 core: fix serial error #defines
Should have ERROR in them.
2010-04-24 23:44:35 -07:00
Dan Williams b9bb12a01e core: flash failure on disconnect shouldn't be a hard error (rh #578280) 2010-04-24 23:40:24 -07:00
Dan Williams 01cb6360f8 cdma: prevent crash on modem removal (rh #571921) 2010-04-24 23:12:16 -07:00
Dan Williams 44deca2c5a core: blacklist Gemplus smarcard reader (bgo #608022) 2010-04-09 19:38:22 -07:00
Dan Williams 78c232c2d1 core: actually ignore blacklisted devices 2010-04-09 19:32:47 -07:00
Dan Williams 387b64a92b core: allow blacklisting various devices (rh #544121) (bgo #608022) 2010-04-09 19:22:19 -07:00
Dan Williams 41ca10e92d core: get correct PCMCIA master device
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.
2010-04-09 17:33:22 -07:00
Dan Williams da74f6d8ec gsm: recheck modem lock status a few times after sending unlock request (bgo #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.
2010-04-09 17:11:56 -07:00
Dan Williams 0d381e2f11 gsm: fix CSCS=? parsing and add testcases
Some devices (at least one Blackberry we know about) don't include
the () around the response.  Handle that and add testcases for it.
2010-04-09 13:50:45 -07:00
Dan Williams b51a9d27e5 gsm: don't require +CMEE=1 success
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.
2010-04-07 15:11:32 -07:00
Dan Williams f3dd034aad cdma: fix subclass registration state checking in error paths (rh #569067)
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.
2010-04-05 18:46:53 -07:00
Dan Williams 49c363d83a core: fix handling of deferred ports during probe
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.
2010-04-05 12:26:12 -07:00