aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-10-14core: add helper to create QCDM serial ports from a file descriptorDan Williams
Aids in unit testing
2010-10-14serial: allow creating serial ports with a given file descriptorDan Williams
To enable better unit testing of MMSerialPort and subclasses behavior.
2010-09-28serial: kill serial port closing waitDan Williams
This is the real fix for 81d0fd148f8c72a2e50b4e6fe82496daa28a91cc. 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-27core: better debugging of serial port open/closeDan Williams
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-27test: add CGREG repsonse test for X220DDan Williams
To test spaces between some members of the response.
2010-09-20gsm: allow use of GSM 03.38 character set (bgo #627935)Dan Williams
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-04trivial: remove unused codeDan Williams
2010-09-04trivial: whitespace fixupDan Williams
2010-09-04gsm: add GSM 03.38 pack/unpack functions and testcasesDan Williams
2010-09-02gsm: add GSM 03.38 encoding/decoding functions and testcasesDan Williams
2010-09-01cdma: consolidate some code by ignoring +CMEE resultDan Williams
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-01polkit: fix for polkit >= 0.97 (bgo #628105)Dan Williams
2010-08-26gsm: ensure unlock retries is updated on incorrect PIN entryDan Williams
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-26core: clean up unlock retries info messageDan Williams
2010-08-18gsm: recognize Motorola EZX errorsDan Williams
Nobody seems to know what the number means, but at least recognize them as errors.
2010-08-18gsm: Motorola EZX models quote CPIN responseDan Williams
2010-08-11core: work around dbus-glib property access bug (CVE-2010-1172) (rh #585394)Dan Williams
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-09build: fix build with glib >= 2.25.12 (bgo #626421)Vincent Untz
Work around an API break in glib.
2010-08-06cdma: determine EVDO registration even when in 1X modeDan Williams
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-05build: use automake silent rulesDan Williams
2010-07-20gsm: ensure invalid operator names don't get used (rh #597088)Dan Williams
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-19core: handle shadow properties on the MmPropertiesChanged interfaceDan Williams
Need to emit the D-Bus API property name, not the GObject property name for a few things on the Location interface.
2010-07-02novatel: detect CDMA home/roaming statusDan Williams
2010-06-29gsm: implement location APIDan Williams
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-24Merge remote branch 'origin/master' into cregDan Williams
2010-06-24trivial: print out useful debugging info before assertingDan Williams
2010-06-22core: add FactoryReset methodDavid Rochberg
Cleanups and authorization checks by me (dcbw).
2010-06-22core: EquipmentIdentity -> EquipmentIdentifierDan Williams
2010-06-22gsm: add GetOperatorID methodTorgny Johansson
Returns the ID of the operator that issued the SIM card. Cleanups and get_mnc_length_done() by me (dcbw).
2010-06-22cdma: implement EquipmentIdentity for CDMA devicesDan Williams
2010-06-22core: add modem EquipmentIdentity property to report IMEI/ESN/MEIDTorgny Johansson
2010-06-22gsm: add UnlockRetries propertyTorgny Johansson
Which reports the # of attempts remaining for the current PIN required by the device or SIM. Some modifications/cleanups by dcbw.
2010-06-22core: ensure claimed ports don't fall back to Generic (rh #597296)Dan Williams
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-22gsm: fix handling of SMS optionsDan Williams
2010-06-10core: return errors to outstanding requests when serial ports are closedDan Williams
Prevents crashes when the callback info completes when the modem is removed, plus it's the right thing to do anyway...
2010-06-07gsm: use PS registration status if CS isn't availableDan Williams
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-05-26serial: fix cleanup of flash function (rh #591728)Dan Williams
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-25gsm: print simple connect state when debuggingDan Williams
2010-05-25test: add a few more CREG/CGREG responsesDan Williams
2010-05-25gsm: list simple-connect properties when debuggingDan Williams
2010-05-21build: print version on startup and add dist-versionDan Williams
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-18cdma: return numeric ERI tooDan Williams
2010-05-18cdma: make ERI parsing genericDan Williams
2010-05-12gsm: more leniency in +CGDCONT parsing (bgo #617873)Dan Williams
See also d5ca82eade4c341a18a72e6f16c9db4ee34be4d5
2010-05-07core: fix memory leaksDan Williams
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-07cdma: fix handling of empty QCDM framesDan Williams
2010-05-07gsm: try PDP context deactivation on the second port firstDan Williams
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-07gsm: be more lenient in +CGDCONT parsing (bgo #617873)Dan Williams
Some phones like the T630 don't put a space after the ':'.
2010-05-05serial: fix possible segfault handing port-full signalsDan Williams
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-05core: log modem data portDan Williams