Commit Graph

735 Commits

Author SHA1 Message Date
Dan Williams
add7fa705c build: enable tests for 'make distcheck'
No idea why this wasn't done before...
2010-10-14 00:07:25 -05:00
Dan Williams
79ae78a740 qcdm: add testcase to ensure that parsing Sierra CnS fails
Because CnS uses HDLC framing, but doesn't use CRC16, and thus
the decapsulation should fail because the CRC check fails.
2010-10-14 00:00:44 -05:00
Dan Williams
a9152f21ff huawei: fix potential double-free on error (rh #632516) 2010-10-06 23:09:06 -05:00
Dan Williams
acc4541ab3 zte: add more port tags 2010-10-06 22:55:12 -05:00
Dan Williams
8935812da4 serial: kill serial port closing wait
This is the real fix for 81d0fd148f.

Some devices don't interact well with the option driver or the usb-serial
layer; they don't respond to the USB data requests and thus data never
gets written to that port.  When close(2) is called, that data is still
pending and so the tty layer waits 30 seconds before returning from
the close.  This is the 'closing_wait' value, which unfortunately is
not able to be modified by ModemManager because most serial drivers
for 3G devices don't implement the .ioctl handler or its TCIOSSERIAL
option to change closing_wait.

This goes along with a kernel patch to various drivers to enable
the TIOCSSERIAL ioctl to modify closing_wait which will be posted
soon.
2010-09-28 10:20:11 -05:00
Dan Williams
81d0fd148f core: better debugging of serial port open/close
Some devices don't interact well with the option drivr or the usb-serial
layer; they don't respond to the USB data requests and thus data never
gets written to that port.  When close(2) is called, that data is still
pending and so the tty layer waits 30 seconds before returning from
the close.  This is the 'closing_wait' value, which unfortunately is
not able to be modified by ModemManager because most serial drivers
for 3G devices don't implement the .ioctl handler or its TCIOSSERIAL
option to change closing_wait.

Print out open/close timestamps to help debug this issue and get a
list of modems that have this problem.
2010-09-27 16:04:11 -05:00
Dan Williams
3c8c3f7425 test: add CGREG repsonse test for X220D
To test spaces between some members of the response.
2010-09-27 14:48:46 -05:00
Dan Williams
618dc06310 qcdm: remove shared-library-specific bits that aren't applicable
Since at this time libqcdm is statically linked into ModemManager.
2010-09-22 16:07:58 -05:00
Dan Williams
79f05cbcec x22x: add simple plugin for Alcatel X220D
And possibly the X225 as well.  Can't tell much about the modem and
what commands it supports other than AT+SYSSEL for mode selection.
The driver software and connection manager for Windows/Mac OS X are
written by JRD Communication in China, which is a subsidiary of
TCT, which makes Alcatel-branded phones and data sticks.  But it
doesn't appear to be the same firmware as other Alcatel/T&A modems
like X060S and such which are supported by the Longcheer plugin.
2010-09-22 16:04:25 -05:00
Dan Williams
49097b6de5 core: prefer CDMA capabilities over GSM for dual-mode devices (bgo #621815)
For devices like the UMW190 that appear to be dual-mode without needing a
firmware reload (unlike Gobis, which are dual-mode but require a reboot with
different firwmare) prefer CDMA capabilities since that's where these devices
will most likely be used more often.  In the end we'll need to change MM to
advertise a "capabilities" attribute on the modem class and modify devices
such that they can implement both GSM and CDMA semantics at the same time.
2010-09-21 14:56:47 -05:00
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
f3024b46b4 qcdm: add event reporting on/off command
Doesn't parse any events yet since we don't know what any events
are.  We also need to fix up ModemManager to handle unsolicited
responses in the QcdmSerialPort class.
2010-09-01 10:51:22 -05:00
Dan Williams
48aabcb60b test: add scan helper/tester 2010-08-30 14:39:25 -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
ee53c3c3c4 qcdm: add bits for getting/setting the log mask
No code to actually start logging yet, just sets the mask.
2010-08-25 19:57:58 -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
48b8826cbd qcdm: add Status Snapshot enum 2010-08-16 12:20:49 -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
a96e53368d tests: handle random failures of some tests more gracefully
Not all devices support everything; a Huawei EC168C fails to
read the mode preference, and a Pantech PX-500 fails to read
the roam preference NV item.
2010-08-06 01:16:11 -05:00
Dan Williams
dbbac27f1e qcdm: add generic status snapshot command support 2010-08-05 22:51:29 -05:00
Dan Williams
52f9c721d3 core: add SPC lock error 2010-08-05 22:51:28 -05:00
Dan Williams
b4d3ab014d build: use automake silent rules 2010-08-05 22:51:28 -05:00
Dan Williams
7e2d63d2c2 zte: add more port tags 2010-08-04 02:18:37 -05:00
Dan Williams
15a4592ef9 novatel: fix distcheck 2010-07-20 12:53:05 -07: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
56665c19af nokia: N900 appears to need a longer port delay (rh #583691) 2010-07-09 12:35:36 -07:00
Dan Williams
fe2145ddc4 test: add modem info helper 2010-07-09 15:24:42 -07:00
Dan Williams
6f40ecbed5 novatel: detect CDMA home/roaming status 2010-07-02 16:57:28 -07:00
Dan Williams
dbc7f3d297 novatel: fix S720 signal quality reporting 2010-07-02 15:34:05 -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
655bf7a9fa api: fix up location method flag name 2010-06-29 22:36:11 -07:00
Dan Williams
1c2df96f8d test: add some simple testing utilities 2010-06-29 22:24:00 -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
Torgny Johansson
48dbece33c mbm: add factory reset support 2010-06-23 16:39:13 -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