Commit Graph
406 Commits
Author SHA1 Message Date
Dan Williams 674a9412fe gsm: allow use of GSM 03.38 character set (bgo #627935)
It's only really used for phonebook and SMS PDU mode in the specs,
which we don't do yet, so if this is the only charset the device
supports we'll try to use it.
2010-09-20 15:40:20 -05:00
Dan Williams 85f827ddff trivial: remove unused code 2010-09-04 00:15:02 -05:00
Dan Williams 34709e0c7b trivial: whitespace fixup 2010-09-04 00:07:09 -05:00
Dan Williams ee4166f66f gsm: add GSM 03.38 pack/unpack functions and testcases 2010-09-04 00:06:36 -05:00
Dan Williams 9e94dd5b61 gsm: add GSM 03.38 encoding/decoding functions and testcases 2010-09-02 19:29:05 -05:00
Dan Williams 85ce544675 cdma: consolidate some code by ignoring +CMEE result
Most modems don't support it and we're ignoring the error message
anyway, so don't bother with a callback for its result.
2010-09-01 17:31:49 -05:00
Dan Williams 67d936e46c polkit: fix for polkit >= 0.97 (bgo #628105) 2010-09-01 17:20:57 -05:00
Dan Williams 37e4a0b1a8 gsm: ensure unlock retries is updated on incorrect PIN entry
If the modem returns an error (like "+CME ERROR: incorrect password"
or even just ERROR) make sure we recheck PIN status and thus also
recheck the number of unlock retries instead of just returning the
error to the caller.
2010-08-26 12:35:23 -05:00
Dan Williams 7657f138b3 core: clean up unlock retries info message 2010-08-26 12:34:57 -05:00
Dan Williams 319424ccb3 gsm: recognize Motorola EZX errors
Nobody seems to know what the number means, but at least recognize
them as errors.
2010-08-18 16:12:53 -05:00
Dan Williams d65c026994 gsm: Motorola EZX models quote CPIN response 2010-08-18 15:37:45 -05:00
Dan Williams 5388cf396e core: work around dbus-glib property access bug (CVE-2010-1172) (rh #585394)
More info:
https://bugzilla.redhat.com/show_bug.cgi?id=585394
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-1172

dbus-glib was not properly enforcing the 'access' permissions on
object properties exported using its API.  There were 2 specific bugs:

1) dbus-glib did not enforce the introspection read/write property
permissions, so if the GObject property definition allowed write
access (which is sometimes desirable), D-Bus clients could modify
that value even if the introspection said it was read-only

2) dbus-glib was not filtering out GObject properties that were
not listed in the introspection XML.  Thus, if the GObject defined
more properties than were listed in the introspection XML (which is
also often useful, and MM uses this quite a bit) those properties
would also be exposed to D-Bus clients.

To fix this completely, you need to:

1) get dbus-glib master when the patch is commited, OR grab the
patch from https://bugzilla.redhat.com/show_bug.cgi?id=585394 and
build a new dbus-glib

2) rebuild ModemManager against the new dbus-glib
2010-08-11 15:59:35 -05:00
Vincent Untz be28089dc4 build: fix build with glib >= 2.25.12 (bgo #626421)
Work around an API break in glib.
2010-08-09 10:31:45 -05:00
Dan Williams ed9e056987 cdma: determine EVDO registration even when in 1X mode
Sometimes the primary mode will be 1X (and thus the Call Manager
will report 1X system mode) but the HDR subsystem will be registered
and idle.  Figure that out and report that EVDO is registered too
in that case, since the modem will just flip over to EVDO when
the data call starts.
2010-08-06 01:32:03 -05:00
Dan Williams b4d3ab014d build: use automake silent rules 2010-08-05 22:51:28 -05:00
Dan Williams d18fbaa1c7 gsm: ensure invalid operator names don't get used (rh #597088)
Apparently g_convert() can still return garbage that's not valid in
the character set you're converting to (???).  But even if we don't
need to convert the operator name, make sure it's valid UTF-8 before
we go shoving it through D-Bus.
2010-07-20 12:30:38 -07:00
Dan Williams e239bf15bb core: handle shadow properties on the MmPropertiesChanged interface
Need to emit the D-Bus API property name, not the GObject property
name for a few things on the Location interface.
2010-07-19 16:19:59 -07:00
Dan Williams 6f40ecbed5 novatel: detect CDMA home/roaming status 2010-07-02 16:57:28 -07:00
Dan Williams 88ee478bb6 gsm: implement location API
Depends on dbus-glib 0.86 + this patch:

https://bugs.freedesktop.org/show_bug.cgi?id=28835

Still have to do the bits that allow plugins to add other
location capabilities, but that can come later.
2010-06-29 22:47:40 -07:00
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