aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-12-20test: add ability to drive ppp for connection testsDan Williams
2009-12-20test: fix build warningDan Williams
2009-12-18sierra: fix CDMA registration detection in some casesDan Williams
It turns out that "Modem is [NOT] registered" is not a good indicator of whether the card has service or not; instead some of the AT!STATUS response is needed to really determine registration state or not.
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-11option: always pick the right data portDan Williams
This is the MM equivalent of NM commit 9d7f5b3d084eee2ccfff721c4beca3e3f34bdc50; Genuine Option NV devices are always supposed to use USB interface 0 as the modem/data port, per mail with Option engineers. Only this port will emit responses to dialing commands.
2009-12-11mbm: ensure various unsolicited responses are turned off when disablingDan Williams
If the modem wasn't connected when disable is called, the generic GSM code doesn't need to shut anything down and thus closes the serial port immediately. That means the mbm plugin's CREG=0 and CMER=0 won't get sent because the port is closed. mbm needs to ensure that it's commands actually get sent to the modem by really sending them and waiting for the response before chaining up to the parent's disable.
2009-12-11test: argument parsing and connect improvementsDan Williams
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-07release: bump version to 0.2.997Dan Williams
2009-12-07Merge commit 'origin/states'Dan Williams
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-02test: give some time before disconnectingDan Williams
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-01mbm: update state after enabling the deviceDan Williams
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-01build: require glib-2.0 >= 2.6.18 for g_set_error_literal()Dan Williams
2009-12-01Merge commit 'origin/master' into statesDan Williams
2009-12-01zte: add missing ZTE device aux port tagsDan 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-30zte: add additional device port tagsDan Williams
Don't know the aux port yet but we'll figure that out; and in the mean time the autoprobing should tag the port as a secondary port anyway.
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-30hso: ensure authentication works again after auth errorsDan Williams
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-29hso: fix up connection issues and error ignoranceDan Williams
Should have ignored errors when cleaning up old contexts that may or may not exist. Rename hso_disable() to something more appropriate since it's actually part of the enable/connect path, not the disable path.
2009-11-29test: actually send username and password when connectingDan Williams
2009-11-29test: give connect a bit more timeDan Williams
Registration can be part of the connect process, which can take quite a while.
2009-11-29hso: send authentication info correctly for Icera-based Option modemsDan Williams
Icera-based modems use AT_OPDPP instead of AT$QCPDPP.
2009-11-29gsm: allow unsolicted registration updates to actually update reg stateDan Williams
2009-11-29test: handle scan errors more gracefullyDan 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.