aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2011-07-25core: allow getting the result from the MMCallbackInfoDan Williams
2011-07-25sms: calculate user-data bit padding correctlyNathan Williams
Fourth and final in a series. This fixes an off-by-one (septet) error in the calculation of the amount of data to skip in the presence of a user data header, and adds the test case from the wild that triggered it.
2011-07-25sms: recognize more text encodings from GSM 03.38Nathan Williams
Third in a series. This fixes the bug detected by the dcsf1 test in the just-added unit tests, by more thoroughly parsing the TP-DCS field.
2011-07-25sms: add unit testsNathan Williams
Second in a series. Builds on the previous by actually unit-testing the sms_parse_pdu() function. Note that the dcf1 test does not pass as the code is currently written.
2011-07-25sms: split SMS parsing out into a separate fileNathan Williams
In preparation for adding tests. Change-Id: If1ebd0fdd6e7470c21538042ab1735357649155c
2011-07-25gsm: don't clear operator name or number when at least one of PS or CS is ↵Dan Williams
registered The operator name/number isn't really tied to CS or PS registration, since we retrieve it using AT+COPS. But when one of CS or PS became unregistered the operator name and number would get cleared out. We only want to clear it out when *both* CS and PS are unregistered. Fixes an issue with the location API where location would not be reported when one of CS or PS became unregistered, because the location bits want an operator name before they return the location.
2011-07-21huawei: implement ussd encoding/decodingGuido Günther
Huawei wants the USSD as packed GSM.
2011-07-21ussd: Add mm_modem_gsm_ussd_{de,en}code to the MMModemGsmUssd interfaceGuido Günther
since some some modems need different quirks to encode/decode USSD messages.
2011-07-19cdma: set Rm interface protocol if required (bgo #641661)Dan Williams
Some providers (CDMA Ukraine) apparently require a specific Rm interface protocol, so add some Simple Connect dict settings for that and use them when dialing. Obviously requires the connection manager to also have support for sending the right bits down to MM.
2011-07-18core: add another CnS string to the immediate ignore listDan Williams
Newer Sierra devices have this (ie 306); it's the CnS port so ignore it immediately.
2011-07-06gsm: send init command twice to make the N900 happy (rh #583691) (lp:765516)Dan Williams
The N900 has some odd serial characteristics in that it appears to send pieces of the commands back for whatever reason, until you've sent a few commands down to it. Almost like it's training on whatever you send and needs a bit of input to figure out the characteristics. Whatever. Just send the init command twice instead of failing when the N900 barfs the first time.
2011-07-06core: update some serial port settingsDan Williams
1) use cfsetispeed/cfsetospeed like the TTY manpage suggests 2) ignore parity/framing errors since we're not using parity anyway 3) double-check that all our TTY settings were successfully set
2011-06-30gsm: set SMS storage location before enabling notificationsThomas Grenman
Fixes a firmware hang on Option GlobeTrotter Express (GE0201 with firmware 1.12.1Hd (Date: Feb 22 2007, Time: 09:20:28)) and makes sense in general too.
2011-06-30Merge remote-tracking branch 'lanedo/power-up-check-needed'Aleksander Morgado
2011-06-30Add a DBus interface for setting the log level.Nathan Williams
Lifted almost entirely from similar code in NetworkManager. BUG=chromium-os:15197 TEST='dbus-send --print-reply --system --dest=org.freedesktop.ModemManager /org/freedesktop/ModemManager org.freedesktop.ModemManager.SetLogging string:DEBUG' Also try valid log levels 'ERR', 'WARN', 'INFO', and an invalid log level, such as 'ABCDE'. Change-Id: I2bddcd0319f4966dd293b119f68e7cc1697949b7 Reviewed-on: http://gerrit.chromium.org/gerrit/3134 Tested-by: Nathan J. Williams <njw@chromium.org> Reviewed-by: Eric Shienbrood <ers@chromium.org>
2011-06-30gsm: handle case of entirely empty SPN correctlyNathan Williams
BUG=none TEST=Insert a SIM with a present but empty (all 0xFF) SPN and check the system log for a (lack of) assertion errors from mm_charset_gsm_unpacked_to_utf8(). Change-Id: I1250494b9757c9bfdce56402a4471c598f41223f Reviewed-on: http://gerrit.chromium.org/gerrit/3139 Reviewed-by: Eric Shienbrood <ers@chromium.org> Tested-by: Nathan J. Williams <njw@chromium.org>
2011-06-22serial: new property to enable RTS/CTS flow controlAleksander Morgado
2011-06-22gsm: allow plugins to check if they need to issue the power-up commandAleksander Morgado
Some modems only like the power-up command if not already in full functionality mode. If the power-up is sent while already in full functionality mode, they get rebooted and reseted. With this changes, plugins can check whether they need the power-up and ask the generic gsm code base to skip the command or not. By default, power-up command (if any given) is never skipped.
2011-06-15ussd: fix reception, network notifications, and network requestsDan Williams
Because the code was sending the USSD request with a "notify me via unsolicited result code" tag, the response could come from any port, and in was coming from other ports on various devices. But the code expected the response on the main port, thus it got lost. So turn the USSD response processing into an unsolicited command handler instead, which allows us to process the response no matter where it comes from. This patch also enables network-initiated USSD notifications and requests since that's easy to add once the first thing here is done.
2011-06-15serial: warn when open/close take longer than 7 secondsDan Williams
Due to kernel bugs and such.
2011-06-09core: trivial whitespace cleanupDan Williams
Tabs -> spaces
2011-06-09core: handle udev 'change' eventsNathan Williams
That's what the udev replay gives us these days (as of udev-152).
2011-06-09gsm: fix memory leak when grabbing a new portDan Williams
2011-06-09ussd: fix leaked callback info in error casesDan Williams
2011-06-06plugins: propagate cached probing result to supports taskAleksander Morgado
We need to ensure that the supports task always has the results of the probing, no matter if the probing was just launched by the plugin grabbing the port, or by a previous plugin. We do this during supports_port(), by propagating to the supports task any possible previously cached probing results.
2011-06-06base: disable the modem if up to N consecutive commands get timed outAleksander Morgado
This feature is initially disabled for all modems, but plugins can enable it by setting a value greater than 0 for the "max-timeouts" property when creating the modem object.
2011-06-06manager: protect ScanDevices() d-bus method with manager control policy ruleAleksander Morgado
2011-06-06policy: new policy for manager control actionsAleksander Morgado
2011-06-06manager: new ScanDevices() d-bus method to request a new device scan loopAleksander Morgado
2011-06-06plugin base: let plugins decide if they should be sorted lastAleksander Morgado
Note that even if a plugin says it wants to be sorted last, the generic plugin will always be the last one. Also, there is no order guaranteed between two plugins that request to be sorted last.
2011-06-06plugin base: include vendor ID and product ID retrieval during AT port probingAleksander Morgado
Port probing is extended to also query for Vendor ID and Product ID. This allows plugins to check whether the reported IDs are expected, and thus we enable plugins to handle modems connected via RS232 ports (where udev doesn't give any vendor ID) or modems connected via a USB adapter (where udev gives the vendor ID of the adapter). Note that this effectively means that a plugin which expects these kind of modem connections will end up always launching port probing as they won't only rely on the vendor ID reported by udev.
2011-06-06charsets: new utf8_to_hex() methodAleksander Morgado
2011-06-06gsm: let plugins use their own command for CMER enablingAleksander Morgado
2011-06-06gsm: let plugins use their own commands for SMS indications and storage ↵Aleksander Morgado
configuration
2011-06-05core: allow plugins to stop probing and not support a modemDan Williams
Previously plugins could only stop probing, *or* stop probing and indicate support for a device. For the Alcatel X200/X060s debacle we need to stop probing and indicate that the plugin does not support the device at all.
2011-06-05core: ensure ERROR_REMOVED error is used in MMCallbackInfo when detecting ↵Aleksander Morgado
modem removal
2011-06-05core, plugins: if modem removed don't process responseAleksander Morgado
We try to avoid a memory leak when info->error is reset, as well as a second re-schedule of the info.
2011-06-02gsm: free the string allocated by utils_hexstr2bin().Nathan Williams
Change-Id: I1f7dabc8209d9757b573a59abb788a2346f72ad5
2011-06-02Spec out and implement a command to get a GSM SIM SPN value.Nathan Williams
Using a SIM with a SPN, run the following command: dbus-send --system --dest=org.freedesktop.ModemManager --print-reply /org/freedesktop/ModemManager/Modems/0 org.freedesktop.ModemManager.Modem.Gsm.Card.GetSpn Change-Id: I8f36c8432f40fa4e3cb3f8c6ceef16b2bdadf2a1 Reviewed-on: http://gerrit.chromium.org/gerrit/1464 Reviewed-by: Nathan J. Williams <njw@chromium.org> Tested-by: Nathan J. Williams <njw@chromium.org>
2011-06-02sms_decode_address(): Add a leading "+" on international numbers.Nathan Williams
BUG=chromium-os-partner:4278 TEST=Send SMS from phone (to get +... format) and from AIM-SMS gateway (to get raw-digit format). Change-Id: I36eb9f1432a432435578180dfdb315b0e7ee5744
2011-06-02serial-parser: allow 0 or more whitespaces before error code in regular ↵Aleksander Morgado
expresions
2011-05-27sms: use correct start and length for alphanumeric dataNathan Williams
sms_parse_pdu(): Protocol ID doesn't actually affect decoding, so don't fret about its value. ChromeOS: Change-Id: Ia4cb20c415aed1026bb7b8dd4daa8ae53dd749e8
2011-05-19gsm: correctly set registration status when disablingNathan Williams
Chromium: Change-Id: I0629706985f273832ac3662acb260388d0e6ed83
2011-05-19ussd: formatting and spacing cleanupsDan Williams
2011-05-11sms: suppress duplicate SMS received notificationsNathan Williams
If the modem sends the same notification on more than one port, make sure we don't send a signal out to clients more than once.
2011-05-09manager: avoid assertion warning when enumerating devicesAleksander Morgado
2011-05-09gsm: whitespace fixesDan Williams
2011-04-29utils: new utils_check_for_single_value() methodAleksander Morgado
It was being used in several places with different static implementations
2011-04-29gsm: allow setting more than one bandAleksander Morgado
2011-04-26plugins: allow multiple custom init commands in sequenceDan Williams
Huawei will need this.