Commit Graph
289 Commits
Author SHA1 Message Date
Dan Williams 028c6a5e4e hso: fix up connection issues and error ignorance
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-29 22:45:28 -08:00
Dan Williams 3890009bcc test: actually send username and password when connecting 2009-11-29 22:45:03 -08:00
Dan Williams 01db3f1c2f test: give connect a bit more time
Registration can be part of the connect process, which can take quite a while.
2009-11-29 21:49:46 -08:00
Dan Williams c8fdb592e3 hso: send authentication info correctly for Icera-based Option modems
Icera-based modems use AT_OPDPP instead of AT$QCPDPP.
2009-11-29 18:58:56 -08:00
Dan Williams 9dbf8f22c0 gsm: allow unsolicted registration updates to actually update reg state 2009-11-29 18:58:21 -08:00
Dan Williams d5b0574f58 test: handle scan errors more gracefully 2009-11-29 18:56:29 -08:00
Dan Williams aea0be5b9a nozomi: fix detection (lp:425312)
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-26 13:54:47 -08:00
Dan Williams 15595b33dc gsm: CGDCONT parsing fixes (bgo #602552)
Ignore spaces and account for random parentheses in the CGDCONT
response.  Also fixes parsing CGDCONT=? on nozomi.
2009-11-26 13:52:50 -08:00
Dan Williams 8dd2421e9c core: don't allow double-scheduled callbacks
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-26 13:40:32 -08:00
Jeroen Elebaut 19e9c0cb48 serial: handle arbitrary amounts of <CR><LF> padding in responses
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-24 15:36:32 -08:00
Dan Williams 50412ba3f9 test: handle signal quality exceptions 2009-11-24 15:16:58 -08:00
Dan Williams 8bd10ebda2 huawei: sometimes reports BOOT with two LFs, not LF+CR 2009-11-24 13:04:21 -08:00
Dan Williams 3218b94376 cdma: handle 1x and EVDO quality separately 2009-11-24 12:57:44 -08:00
Dan Williams ac9cae2bc8 zte: retry init strings once on timeout
Some ZTE devices (MF626 for example) will emit the ZPASR unsolicited
response right after MM opens the port, and they will just throw the
init string away. So retry the init string once; the ZTE devices will
see it the second time and continue as normal.

This is the MM version of NM commit 861e9689c513cbd61fa75205a681a69d4ba8236c
2009-11-24 12:16:14 -08:00
Jeroen Elebaut 5175c2accb gsm: some modems dislike spaces in AT+CGDCONT
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-24 11:31:22 -08:00
Jeroen Elebaut 5ceb3a2106 gsm: allow longer timeout for registration
Often modems will scan before registering with +COPS.
2009-11-24 00:43:20 -08:00
Dan Williams 9e92bceb07 hso: consolidate PDP context activate/deactivate operations
And rename the function to make it clearer.  disable() wasn't using
the common activate/deactivate code so switch it to do so.
2009-11-24 00:19:27 -08:00
Dan Williams e5b5c83394 hso: disconnect the PDP context that was active (if any)
Instead of always disconnecting context #1.
2009-11-23 23:32:01 -08:00
Dan Williams 1fe9150f5c test: add lsudev.c since I don't know where else to put it
A helpful little tool to debug udev device relationships.
2009-11-17 15:24:52 -08:00
Dan Williams 3193e97bb8 probe: fix probing on PPC due to missing cast
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-17 14:16:24 -08:00
Torgny Johansson 74f679acdb mbm: add USB IDs for C3607w 2009-11-04 13:11:23 -08:00
Dan Williams 107f950a9e gsm: tighter signal strength validation
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-30 17:11:31 -07:00
Dan Williams 122aa62afa trivial: spacing fix 2009-10-30 17:11:22 -07:00
Dan Williams 07cf870937 gsm: give a network scan 2 minutes instead of 1
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-30 16:55:56 -07:00
Dan Williams 54901933fe gsm: make "X4 &C1" init arguments optional (lp:455031)
At least don't error out of the fail since they aren't really
necessary, just nice to have.
2009-10-30 16:55:04 -07:00
Dan Williams 678f07a1e2 gobi: don't override generic init commands
The default ones seem to work just fine.
2009-10-30 16:16:36 -07:00
Dan Williams 4e74953b91 cdma: return registration state, not error, when unregistered 2009-10-26 17:59:33 -07:00
Dan Williams 49b5ffd076 core: use G_DEFINE_TYPE_* instead of rolling our own
Use the macro; save some trees.
2009-10-26 17:56:48 -07:00
Dan Williams 2887a50b23 gsm: ignore errors from power-on command
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-26 15:39:34 -07:00
Jeroen Elebaut 6bc4f0ae8c hso: handle OWANCALL response better 2009-10-16 14:41:12 -07:00
Alexander Sack 16f3e00f34 gsm: fix unsolicited registration by calling the statemachine callback info - lp:416893 2009-10-15 01:32:08 +02:00
Alexander Sack acd785bfa4 mbm: use generic get_signal_quality implementation rather than our own CIND based one 2009-10-15 01:24:24 +02:00
Alexander Sack 139741d140 mbm: implement AT*ENAP polling 2009-10-15 01:22:20 +02:00
Alexander Sack 6885505dea mbm: flip order in which we send enap/e2nap to modem to make f3507g happier 2009-10-15 01:22:14 +02:00
Alexander Sack 6ddd97e81c mbm: send ENAP=0 on init to set modem back to sane state and ignore CIND errors 2009-10-15 01:22:00 +02:00
Dan Williams 3d86a3e89a gsm: don't issue CFUN=0 by default
Let plugins do it when they know it's OK.
2009-10-14 13:47:21 -07:00
Dan Williams ea29dc8044 mbm: fix disable after 3b19a85727
C & P error in enable/disable split.
2009-10-14 13:36:59 -07:00
Dan Williams c77dbb7a94 cdma: give cards more time to register
5 was left-over from debugging unplug-while-registering issues,
was meant to be 15 (ie, 60 seconds) anyway.
2009-10-13 16:05:02 -07:00
Alexander Sack 0bcdf6a7c1 nokia: fix class property overrides to stop modemmanager from sending AT+CFUN (lp:450256) 2009-10-13 15:14:14 +02:00
Dan Williams f4ada20709 cdma: implement registration in Simple.Connect path
Wait a bit for the modem to register before trying to dial.
2009-10-12 22:44:03 -07:00
Dan Williams f916d939f3 test: add connect ability 2009-10-12 22:43:46 -07:00
Dan Williams c0253c7c29 core: convert MMCallbackInfo modem refs to weak refs
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-12 19:51:10 -07:00
Dan Williams 6f65ad7682 sierra: handle non-EVDO roaming indication for older cards
Like the AC580
2009-10-12 11:45:20 -07:00
Dan Williams 942b5ff826 sierra: add CDMA device subclass and implement registration state handling 2009-10-12 10:56:53 -07:00
Dan Williams 3245ea3193 huawei: don't need AT prefix 2009-10-12 10:56:11 -07:00
Dan Williams 958b9048a3 cdma: split 1x and EVDO registration states
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-12 10:06:53 -07:00
Alexander Sack 3f51cf421e huawei: adjust printf-style format to fix 32-bit gcc-4.4 builds 2009-10-12 12:19:12 +02:00
Dan Williams 1f0be4a2e9 huawei: remove debugging stuff 2009-10-11 11:44:34 -07:00
Dan Williams f0dc449c50 sierra: rename MMModemSierra -> MMModemSierraGsm 2009-10-11 11:39:18 -07:00
Dan Williams bdd60a4941 cdma: fix memory leak parsing serving system results 2009-10-11 11:31:23 -07:00