aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-05-12gsm: more leniency in +CGDCONT parsing (bgo #617873)Dan Williams
See also d5ca82eade4c341a18a72e6f16c9db4ee34be4d5
2010-05-07core: fix memory leaksDan Williams
Since MMModem is an interface and doesn't store stuff like the modem's physdev internally (since it's an interface) these things are handled via GObject properties. And since g_object_get() returns allocated values, we need to free the returned value from mm_modem_get_device() after we're done with it.
2010-05-07cdma: fix handling of empty QCDM framesDan Williams
2010-05-07gsm: try PDP context deactivation on the second port firstDan Williams
There are some cases where flashing the primary port doesn't work either due to stupid modem firmware or crappy kernel drivers. So if we have a secondary port, try sending the PDP deactivation command to the secondary port first, and if that fails send it to the primary port after the primary port gets flashed. This increases the chances that the +CGACT request will be successful. Some modems (Huawei, ZTE) don't like +CGACT on the secondary port, but when that fails, the code falls back to previous behavior of flashing and sending CGACT to the primary port.
2010-05-07gsm: be more lenient in +CGDCONT parsing (bgo #617873)Dan Williams
Some phones like the T630 don't put a space after the ':'.
2010-05-05serial: fix possible segfault handing port-full signalsDan Williams
The argument passed to the handler is a GByteArray, not a GString. Encountered with Option iCON Icera-based devices, but could also be possible with Sierra devices.
2010-05-05core: log modem data portDan Williams
2010-05-04gsm/cdma: fix data port assignment (rh #587400)Dan Williams
QCDM ports should never be the data port; 'net' ports take precedence over AT ports too. Clarify that.
2010-05-04trivial: use property name constantDan Williams
2010-05-04trivial: tweak debug messageDan Williams
2010-05-04core: print out port type when port is claimedDan Williams
2010-05-04core: add port type -> string conversion helper for debuggin messagesDan Williams
2010-05-01helpers: add generic helper for string -> access technologyDan Williams
2010-05-01core: clear error before useDan Williams
2010-04-30gsm: periodically poll access technology tooDan Williams
Not all devices support unsolicited responses for access technology, so lets poll it periodically along with registration state and signal quality.
2010-04-29core: refcount serial port open/closeDan Williams
This specifically fixes a regression with Novatel GSM secondary AT port enablement, where the inital pin check closed the port before the Novatel plugin could send the command to flip secondary ports to AT mode. But it's useful elsewhere too, and simplifies a bunch of the PIN checking code which had to use various ugly methods to track whether to close the port or not after checking the PIN.
2010-04-29gsm: try both CREG and CGREG during initial registration checkingDan Williams
Some devices (Blackberries via DUN) appear to always return an error for AT+CREG, which is valid in some cases. If that happens lets also try AT+CGREG too, which on these devices responds with the correct packet data registration state.
2010-04-29core: timestamp debug statementsDan Williams
2010-04-29core: add platform device support and whitelistDan Williams
2010-04-24core: fix serial error #definesDan Williams
Should have ERROR in them.
2010-04-24core: flash failure on disconnect shouldn't be a hard error (rh #578280)Dan Williams
2010-04-24cdma: prevent crash on modem removal (rh #571921)Dan Williams
2010-04-09core: blacklist Gemplus smarcard reader (bgo #608022)Dan Williams
2010-04-09core: actually ignore blacklisted devicesDan Williams
2010-04-09core: allow blacklisting various devices (rh #544121) (bgo #608022)Dan Williams
2010-04-09core: get correct PCMCIA master deviceDan Williams
The master device of PCMCIA-provided ports is typically the last device in the PCMCIA subsystem, because the PCMCIA controller is usually a PCI device or some other subsystem.
2010-04-09gsm: recheck modem lock status a few times after sending unlock request (bgo ↵Dan Williams
#613490) Some devices (ZTE MF110 for example) respond immediately to the unlock request, but in reality take a bit of time before they are actually unlocked. Check PIN status a few times after sending the unlock.
2010-04-09gsm: fix CSCS=? parsing and add testcasesDan Williams
Some devices (at least one Blackberry we know about) don't include the () around the response. Handle that and add testcases for it.
2010-04-07gsm: don't require +CMEE=1 successDan Williams
Some devices apparently don't like it (even though it's required in the standards) and since we can deal without it, don't require +CMEE=1 to complete successfully.
2010-04-05cdma: fix subclass registration state checking in error paths (rh #569067)Dan Williams
The generic CDMA superclass already checks minimal registration state, and when some of the additional query_registration_state() subclass checks were being performed, if the device returned an error (if it didn't support the subclass' specific registration command like *STATE or ^SYSINFO) the superclass' registration state checks would be thrown away. Fix that by specifying the behavior of the subclass' query_registration_state() methods to ignore most errors and leave the superclass' registration state intact if a non-critical error occurs.
2010-04-05core: fix handling of deferred ports during probeDan Williams
The next plugin logic was wrong when a previous plugin had already claimed support for the port and the Generic plugin was next. In that case, the code failed to call the functions to actually grab the port.
2010-04-05serial: let port subclasses handle their own debug loggingDan Williams
We want to print out QCDM messages as hex, not ASCII. So let each port type print out it's own communication as it wants to.
2010-04-05core: fix supports check for last plugin (rh #579247)Dan Williams
Since Generic is always last, it was getting ignored by this off-by-one bug caused by a previous patch.
2010-04-05gsm: clean up periodic poll start/stop and poll signal strengthDan Williams
2010-04-05cdma: clean up periodic poll start/stopDan Williams
And fix a small bug where polling wasn't started for the ENABLED state.
2010-04-05cdma: periodically poll registration state and qualityDan Williams
2010-04-04core: only enable location API for dbus-glib >= 0.86Dan Williams
2010-03-31core: don't advance to next plugin until neededDan Williams
Otherwise info->cur_plugin is wrong (and therefore we left uncleared supports tasks in MMPluginBase) when the port isn't supported by the plugin, but it's parent modem device was supported by the plugin. Like when all probing of the port fails but one of it's siblings has already been claimed by a modem; in this case we just drop the port (so that no other plugin could try to claim it, because only one plugin is allowed to handle all a modem's ports) but we still need to tell the parent modem's plugin to clean up the supports task.
2010-03-30core: pass try_supports_port() the existing modemDan Williams
2010-03-30core: don't re-export modems after db413acc4e9d364e1c4ecdde0da3fade012912abDan Williams
If a port is found by the kernel after the modem is already exported, make sure we don't re-export the modem after the tardy port is handled.
2010-03-30cdma: use best active pilot EC/IO for signal strength when connectedDan Williams
If the modem doesn't have two AT ports (so one can be used for AT+CSQ while connected) get the 1x active pilot's EC/IO and use that for signal strength.
2010-03-30core: only export modems when all ports are handledDan Williams
A modem is now only exported to D-Bus when both of the following are true: 1) the modem is valid 2) all ports the modem provides have been handled by appropriate plugins This ensures that all the modem's ports are completely ready before any clients can do anything with it. In the case of CDMA modems with QCDM ports, this allows the QCDM ports to be detected before exporting the modem. Since the QCDM detection comes after AT probing, previously this resulted in a CDMA modem getting exported to clients before we had a QCDM port to query for registration status.
2010-03-30core: find the existing modem for a port in the managerDan Williams
2010-03-30core: move physical device checking into the managerDan Williams
It turns out that the manager needs to know about the physical device so we can prevent multiple plugins from claiming ports on the same modem.
2010-03-30cdma: use DM for serving system if possibleDan Williams
2010-03-28gsm: only set auto registration if the modem isn't idle (related: bgo #591047)Dan Williams
Some modems (Huawei E1552) appear to have problems with auto registration in some circumstances that we don't yet fully understand, such that when AT+COPS=0 is sent they never end up registering with the correct network. As a minor workaround, if the modem is already registered with a provider and the user hasn't specified manual registration, don't set auto registration but let the modem figure it out itself. See (bgo #591047) for more details.
2010-03-26gsm: ensure solicited access technology is valid before using itDan Williams
2010-03-26gsm: update access technology on successful registrationDan Williams
2010-03-25gsm: fix wrong comparisonDan Williams
Bug didn't have much of an effect, but should be fixed anyway.
2010-03-23core: assume +CPIN "READY" response indicates GSM capability (rh #573510)Dan Williams
Assume (for now) that devices that respond to AT+CPIN without an error are GSM devices. This may not be 100% true as some devices in Asia (where CDMA devices use RUIMs which are basically SIMs) support +CPIN for unlocking the RUIM, but since CDMA devices more consistently implement AT+GCAP and ATI than we should be safe for a while.