aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-01-05test: add Gobi COPS response testcaseDan Williams
2010-01-05test: add Nokia 2720 COPS response testcaseDan Williams
2010-01-05test: add Novatel XU870 and Option GT Ultra Express COPS response testcasesDan Williams
2010-01-05test: add +COPS response testcases for E1550, MF622, and E226Dan Williams
2010-01-05gsm: add testcase for invalid +COPS responseDan Williams
2010-01-05gsm: correctly parse Nokia N80 +COPS responseDan Williams
2010-01-05gsm: split out +COPS response parsing and add testcasesDan Williams
2010-01-01serial: prevent "hangs" by limiting EAGAIN retries on serial writesDan Williams
MM would appear to hang sometimes when writing to serial devices but in reality was just retrying the write too many times. Make the retry limit time-based so MM doesn't hang but times the attempt out instead.
2009-12-23gsm: ensure registration state is reset when disabling the modemDan Williams
2009-12-22core: implement a PropertiesChanged signal for the MMModem classDan Williams
At the moment only the Enabled property is exported.
2009-12-21core: add Enabled property to org.freedesktop.ModemManager.Modem interfaceDan Williams
2009-12-16zte: handle unsolicited messages during probeDan Williams
This implements the same fixes that NetworkManager's 0.7 branch implemented in commits f38ad328acfdc6ce29dd1380602c546b064161ae and 1235f71b20c92cded4abd976ccc5010649aae1a0. Many ZTE devices will spam the port with messages about waiting voicemail/SMS which buffer up and cause the device to eventually crash if not suppressed.
2009-12-16cdma: fix quality parsing if modem doesn't prepend +CSQ:Dan Williams
Which some Huawei modems (EC168C) don't do.
2009-12-16sierra: use at!pcstate on CDMA modems for power controlDan Williams
at!pcstate is what Sierra CDMA modems use instead of AT+CFUN for powering the radio on and off. It doesn't turn the modem off completely like AT+CFUN=0 does for many GSM devices though, so it's quite a lot nicer.
2009-12-11cdma: try +CSQ? if CSQ failsDan Williams
Some modems want one, some modems want the other. Try both.
2009-12-11cdma: accept SID 0 in some casesDan Williams
Most AT command references allow modems to report SID 0, even though SID 0 is not a valid SID and is not assigned to any CDMA network. Some Sierra 5725 cards have been seen to report valid class and band from the +CSS response but a SID 0. Accept SID 0 when at least one other element of the +CSS response indicates that the modem has service. Otherwise, report "no service" as before.
2009-12-07gsm: handle different +COPS response behaviorDan Williams
Some modems delay the +COPS response until registration is complete, others return right away. Make sure that both behaviors work correctly.
2009-12-07core: add refcounts to MMCallbackInfoDan Williams
2009-12-02core: pretty-print state changesDan Williams
2009-12-02gsm: implement enable/connecting/disconnecting state handlingDan Williams
And consolidate generic port enable code in one place since pretty much every modem needs that.
2009-12-01gsm: update for new states and state flow fixesDan Williams
2009-12-01core: fix ordering of DISABLING and DISABLED statesDan Williams
2009-12-01cdma: reset previous state if disconnect failedDan Williams
2009-12-01cdma: correctly handle state update after disconnectionDan Williams
We only want to ignore connected/connecting/disconnecting states and update the state based on registration for unsolicited registration changes. Basically, when disconnecting, the modem will be in DISCONNECTING state, but after the disconnect has finished we want to update the modem's state based on the current registration status. But the previous check for >= DISCONNECTING would prevent that from happening, so we need a slightly more specific check in update_enabled_state().
2009-12-01cdma: s/GSM/CDMADan Williams
Oops.
2009-12-01cdma: handle interim enabling/disabling states betterDan Williams
Have to fall back to the previous state if the enable/disable operation fails since we cannot assume anything about the new modem state when a failure occurs.
2009-12-01cdma: update for new modem states and make connect actually workDan Williams
2009-12-01core: use modem states to protect against double operationsDan Williams
2009-12-01core: add a few more interim modem statesDan Williams
2009-12-01core: set modem state before potentially destroying the modemDan Williams
2009-12-01core: state should always be reset to DISABLED when validity changesDan Williams
When the modem becomes valid, it should initially be in disabled state, and when it becomes invalid, it should also go to disabled.
2009-12-01core: schedule enabled/disabled callbacks to avoid infinite recursionDan Williams
2009-12-01cdma: set correct modem state on connect failureDan Williams
2009-12-01Merge commit 'origin/master' into statesDan Williams
2009-11-30gsm: more complete parsing of PIN responsesDan Williams
Need to handle ex PH-NET PIN from a subsidy-locked device for example.
2009-11-30Merge commit 'origin/master' into statesDan Williams
2009-11-30gsm: fix unsolicited registration segfaultsDan Williams
By decoupling the solicited registration callback from unsolicited replies, we can be sure of the call flow and avoid issues where unsolicited registration will be processed when an explicit registration request is no longer in progress. Also ups the timeout on CREG=0,, to 120 seconds because that appears to trigger an internal scan on some of the 'hso' devices that I have, and can take up to 60 or more seconds to complete or fail.
2009-11-29serial: don't run commands when there's already one in-progressDan Williams
If there's already a command in-progress don't try to send another until the previous one has timed out. Also use g_timeout_add_seconds() since precision doesn't really matter for command timeouts.
2009-11-29gsm: allow unsolicted registration updates to actually update reg stateDan Williams
2009-11-26nozomi: fix detection (lp:425312)Dan Williams
Nozomi devices aren't quite ready when the ports show up, so we have to keep trying to open the port for a few seconds and eventually it'll succeed. Should really be fixed in the driver (ie, don't create the ttys until they can actually be used) but whatever.
2009-11-26gsm: CGDCONT parsing fixes (bgo #602552)Dan Williams
Ignore spaces and account for random parentheses in the CGDCONT response. Also fixes parsing CGDCONT=? on nozomi.
2009-11-26core: don't allow double-scheduled callbacksDan Williams
If the modem becomes invalid (it crashes and resets, for example) the callback-info's modem_destroyed_cb() function will handle cleanup. Buf if the callback-info's callback does more work than just returning the result (like simple_state_machine) it could double-schedule the callback. Don't let that happen. We need better modem-removal handling, but this fixes a crash for now.
2009-11-24serial: handle arbitrary amounts of <CR><LF> padding in responsesJeroen Elebaut
Firmware on some Option devices (iCON 505) likes to spray newlines all over the place. Some fixes and boundary checks by me (dcbw).
2009-11-24cdma: handle 1x and EVDO quality separatelyDan Williams
2009-11-24gsm: some modems dislike spaces in AT+CGDCONTJeroen Elebaut
0.7 hasn't used spaces for over a year, so this is a pretty safe change. Some modems just don't like it. 0.7 commit to remove spaces: commit 0265bfe52dcc93372aff6064e849044ccb72aa1e Author: Dan Williams <dcbw@redhat.com> Date: Fri Oct 24 15:15:06 2008 +0000 2008-10-24 Dan Williams <dcbw@redhat.com> * src/nm-gsm-device.c - (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)
2009-11-24gsm: allow longer timeout for registrationJeroen Elebaut
Often modems will scan before registering with +COPS.
2009-11-23Merge commit 'origin/master' into statesDan Williams
2009-11-23core: state -> DISABLED when the modem becomes invalidDan Williams
2009-11-23gsm: don't regress states on registration change if still registeredDan Williams
2009-11-17probe: fix probing on PPC due to missing castDan Williams
gcc will interpret the constant value as a uint32 but the port's set_property() was taking it as a uint64. Thus the top 32 bits were probably garbage, and messed up on big-endian architectures leading to random large probe delays.