aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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.
2009-11-06Merge commit 'origin/master' into statesDan Williams
2009-10-30gsm: tighter signal strength validationDan Williams
The standard dictates CSQ response strength value to be [0 - 31] inclusive, and 99 means "unknown" or "no service". Make that apparent and don't treat 99 as 99% which it clearly isn't. Also, allow spaces in the CSQ response.
2009-10-30trivial: spacing fixDan Williams
2009-10-30gsm: give a network scan 2 minutes instead of 1Dan Williams
On many modems that support 7 or more bands (quad-band 2G, tri-band or more for 3G) scans take quite a while.
2009-10-30gsm: make "X4 &C1" init arguments optional (lp:455031)Dan Williams
At least don't error out of the fail since they aren't really necessary, just nice to have.
2009-10-27core: initial implementation of modem statesDan Williams
Needs more work for GSM, but should be reasonably complete for CDMA.
2009-10-26cdma: return registration state, not error, when unregisteredDan Williams
2009-10-26core: use G_DEFINE_TYPE_* instead of rolling our ownDan Williams
Use the macro; save some trees.
2009-10-26gsm: ignore errors from power-on commandDan Williams
Phones especially don't seem to consistently implement this. For now, we'll hack it out, but later, we'll want to have a class method for power-on instead of just a property so that subclasses can decided for themselves (since they know their hardware better) whether failure of the power-on command is fatal or not.
2009-10-15gsm: fix unsolicited registration by calling the statemachine callback info ↵Alexander Sack
- lp:416893
2009-10-14gsm: don't issue CFUN=0 by defaultDan Williams
Let plugins do it when they know it's OK.
2009-10-13cdma: give cards more time to registerDan Williams
5 was left-over from debugging unplug-while-registering issues, was meant to be 15 (ie, 60 seconds) anyway.
2009-10-12cdma: implement registration in Simple.Connect pathDan Williams
Wait a bit for the modem to register before trying to dial.
2009-10-12core: convert MMCallbackInfo modem refs to weak refsDan Williams
Full references prevented destruction of the modem object if it was unplugged or somehow removed. To fix that using full references on the modems would require that all usage of MMCallbackInfo to be aware of the validity of the modem and to ensure the callback was called whenever the modem became invalid. That, needless to say, would suck. Since any in-progress calls can't complete when the modem is invalid anyway, just have the MMCallbackInfo object return a generic error when the modem goes away and the call is still in-progress.
2009-10-12cdma: split 1x and EVDO registration statesDan Williams
Like UMTS vs. GSM, EVDO and 1x are separate networks and technologies and have separate registration state. You can even be roaming on EVDO while in your home 1x network. Handle that.
2009-10-11cdma: fix memory leak parsing serving system resultsDan Williams
2009-10-11cdma: add signal quality update helper for subclassesDan Williams
2009-10-11cdma: use consistent terminology for registrationDan Williams
2009-10-11cdma: add port accessors for subclassesDan Williams
2009-10-11cdma: use secondary port more aggressively where one existsDan Williams
Like on the Huawei EC121 and EC168C (Reliance India).