Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
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().
|
|
Oops.
|
|
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.
|
|
|
|
|
|
|
|
|
|
When the modem becomes valid, it should initially be in disabled state,
and when it becomes invalid, it should also go to disabled.
|
|
|
|
|
|
|
|
Need to handle ex PH-NET PIN from a subsidy-locked device for
example.
|
|
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
Ignore spaces and account for random parentheses in the CGDCONT
response. Also fixes parsing CGDCONT=? on nozomi.
|
|
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.
|
|
Firmware on some Option devices (iCON 505) likes to spray newlines
all over the place. Some fixes and boundary checks by me (dcbw).
|
|
|
|
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)
|
|
Often modems will scan before registering with +COPS.
|
|
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
On many modems that support 7 or more bands (quad-band 2G, tri-band
or more for 3G) scans take quite a while.
|
|
At least don't error out of the fail since they aren't really
necessary, just nice to have.
|
|
Needs more work for GSM, but should be reasonably complete for CDMA.
|
|
|
|
Use the macro; save some trees.
|
|
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.
|
|
- lp:416893
|
|
Let plugins do it when they know it's OK.
|
|
5 was left-over from debugging unplug-while-registering issues,
was meant to be 15 (ie, 60 seconds) anyway.
|
|
Wait a bit for the modem to register before trying to dial.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
Like on the Huawei EC121 and EC168C (Reliance India).
|