aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-01-11sierra: load power state with !pcstate? in cdma-only modemsAleksander Morgado
2013-01-11cli: show current power state in the modem status informationAleksander Morgado
2013-01-11cli: new '--set-power-state-on' and '--set-power-state-low' commandsAleksander Morgado
2013-01-11libmm-glib,modem: new methods to handle the power stateAleksander Morgado
2013-01-11core,plugins: remove initial power down sequenceAleksander Morgado
We no longer power down the modem during initialization, so remove that implementation.
2013-01-11mbm: force initial power-up during first enablingAleksander Morgado
When both load_power_state() and modem_power_down() are not implemented, the logic will launch the power-up command during (only the first) enabling of the modem. In this kind of modems, CFUN is directly related to allowed/preferred modes, so during the initial power-up we'll just assume we want ANY mode.
2013-01-11iridium: ignore initial power state loadingAleksander Morgado
No need to initially power-up the modem.
2013-01-11motorola: ignore initial power state loadingAleksander Morgado
No need to initially power-up the modem.
2013-01-11nokia: ignore initial power state loadingAleksander Morgado
No need to initially power-up the modem.
2013-01-11sierra: in 3GPP, no need to check if already powered up before powering upAleksander Morgado
This logic is now implemented by the parent broadband modem object. Also, implement a custom initial power state loading, so that CDMA-only modems get marked as 'offline', in order to launch !pcstate=1 to power them up during the first enabling. The custom initial power state loading will run the parent's implementation in non-CDMA-only modems.
2013-01-11wavecom: no need to check if already powered up before powering upAleksander Morgado
This logic is now implemented by the parent broadband modem object.
2013-01-11broadband-modem: implement custom power state loadingAleksander Morgado
2013-01-11broadband-modem-qmi: implement custom power state loadingAleksander Morgado
2013-01-11iface-modem: implement power mode loading and settingAleksander Morgado
2013-01-11api,modem: new 'SetPowerState()' method and 'PowerState' propertyAleksander Morgado
Going into/outof low-power state is now a user-requested action.
2013-01-10sim-qmi: fix trivial GError literal issues/format string warningsDan Williams
2013-01-09blacklist: ignore all devices from VID 0x0617Aleksander Morgado
No modems from the Swiss Federal Institute of Technology. https://bugzilla.gnome.org/show_bug.cgi?id=691384
2013-01-08sim-qmi: translate common SIM-related QMI errors into ME errorsAleksander Morgado
Upper layers expect Mobile Equipment errors, so try to translate known QMI protocol errors.
2013-01-08iface-modem,sim: improve lock info update logicAleksander Morgado
The logic to handle the lock information (current lock and unlock retry count) wasn't handling all possible cases properly, e.g.: * When PIN is incorrectly entered too many times, a SIM-PUK error may happen. In this case we need to directly assume SIM-PUK is the current lock (some modems, like Option HSO ones, would incorrectly reply SIM-PIN if CPIN? asked just after the SIM-PUK error). * After every operation acting in SIM locks, we need to update the current unlock retry count. This change tries to cover those cases, by: * The logic to check current lock is extended to also load the unlock retry count when needed. * Whenever a SIM-PUK error happens in the SIM operations, we directly assume that SIM-PUK is required, without re-asking CPIN?. * The overall logic of lock checking is now handled by a state machine, which is much easier to understand.
2013-01-07broadband-modem: launch the Firmware interface even on fatal errorsAleksander Morgado
Even when there is a fatal error during initialization (e.g. missing PIN in a 3GPP modem), we should allow operations on the Firmware interface.
2013-01-04iface-modem, novatel-lte: disable network scan in LTE modeBen Chan
2013-01-03iface-modem-3gpp,iface-modem-cdma: check for deallocated ↵Ben Chan
RegistrationCheckContext This patch fixes a crash in periodic_registration_checks_ready() due to access of an already deallocated RegistrationCheckContext. Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 ) 0x7fc344d355cd [ModemManager] - mm-iface-modem-cdma.c:1112 periodic_registration_checks_ready 0x7fc3449ea266 [libgio-2.0.so.0.3200.4] - gsimpleasyncresult.c:767 g_simple_async_result_complete 0x7fc3449ea368 [libgio-2.0.so.0.3200.4] - gsimpleasyncresult.c:779 complete_in_idle_cb 0x7fc344851dc4 [libglib-2.0.so.0.3200.4] - gmain.c:2539 g_main_context_dispatch 0x7fc344852147 [libglib-2.0.so.0.3200.4] - gmain.c:3146 g_main_context_iterate 0x7fc3448525a1 [libglib-2.0.so.0.3200.4] - gmain.c:3340 g_main_loop_run 0x7fc344d0f154 [ModemManager] - main.c:158 main 0x7fc34426a474 [libc-2.15.so] - libc-start.c:234 __libc_start_main 0x7fc344d0eb68 [ModemManager] + 0x0001bb68
2012-12-28sierra: implement modem resetAleksander Morgado
2012-12-28sierra: wait up to 10s for the power up command replyAleksander Morgado
Specially the first time that CFUN=1,0 is issued after the initial power up, we really need to wait more than 3s for the AT command reply. Otherwise, the modem won't like it and it will reset itself :-/
2012-12-28sierra: ignore all +PACSP messagesAleksander Morgado
Not only +PACSP0, but also +PACSP1.
2012-12-28sierra: fix 3GPP dialling sequenceAleksander Morgado
There was a missing step++ when falling down to the next step in the switch(), which was preventing a proper connection.
2012-12-28sierra: pass data port to parent's 3GPP dialling sequenceAleksander Morgado
2012-12-28broadband-bearer: dial port may be different to the primary portAleksander Morgado
2012-12-27plugin: avoid QMI-managed net ports when compiling without QMI supportAleksander Morgado
2012-12-27plugin-manager: initially never start with the Generic plugin suggestedAleksander Morgado
The generic plugin should be a fallback, so when starting to probe the port, never start with the Generic plugin first.
2012-12-27broadband-bearer: PDP context deactivation may take longerAleksander Morgado
Update the default timeout from 3s to 10s.
2012-12-27plugin: re-run subsystems filter before grabbing the portsAleksander Morgado
Every port probing will have the Generic plugin as fallback, and due to some other issues in other plugins (see ee099fcd), we need to allow overwriting the suggested plugin from the Generic to a more specific one. One of the drawbacks of this is that we're actually allowing the Generic plugin to probe and accept the port, which means that the generic plugin may accept a specific port type (e.g. QMI) while the specific plugin wouldn't. So, we will now also run the subsystems filter before grabbing the specific port, in order to really filter out those cases. We still keep the subsystems filter in pre-probing, so that we build a better initial plugin list to probe.
2012-12-27plugins: fix generic GObject related macrosAleksander Morgado
2012-12-27base-modem: don't set the modem valid if we didn't export the Modem interfaceAleksander Morgado
If an error occurs early during the initialization (e.g. during port setup), we would be aborting without even having exported the modem interface. So detect that case and skip setting the modem as valid.
2012-12-27zte: ignore net ports in non-Icera based modemsAleksander Morgado
Plain non-Icera ZTE modems will use ATD calls and PPP to establish the connection, so ignore 'net' ports that may be found in the way (e.g. when the modem is a QMI modem and we're not using QMI support).
2012-12-24hso: new helper code to debug GPS related issuesAleksander Morgado
Disabled in normal compilation, can be enabled to debug issues.
2012-12-24iface-modem-location: fix periodic reporting of the GPS location infoAleksander Morgado
The Location property was never being updated properly.
2012-12-24broadband-modem: fix reloading of operator code when enabling 3GPP locationAleksander Morgado
When the 3GPP location is enabled, we need to reload the operator code information, but only if the modem is registered in a 3GPP network. Now, instead of looking at the global modem state value, look at the specific 3GPP registration state. This will avoid issues like: * updating 3GPP operator info and the modem registered in a CDMA network. * not updating the 3GPP operator info when the modem is registered in a 3GPP network but not yet fully enabled (i.e. 'enabling').
2012-12-23ModemManager: Blacklist Dangerous Prototypes Bus Pirate v4Anton Blanchard
The Bus Pirate v4 presents itself as a CDC ACM device which ModemManager attempts to configure. This results in a range of confusing issues because it injects a bunch of AT commands over whatever is going on at the time. Firmware updates were failing at random points and avrdude failed to work at all. Blacklisting it fixed my issues.
2012-12-17sierra: fix APP1 PPP functionalityDan Williams
Unfortunately, Sierra secondary APP ports reply to +GCAP with only "OK", and not their APP port number or model number. So instead of using +GCAP, we have to use ATI to get secondary port information. This allows us to detect which port is the APP1 port that we can potentially use for PPP, leaving the primary port available for control and status. Also, some modems have up to 3 or 4 APP secondary ports, which we need to ensure aren't used as primary. The previous check for +GCAP handled that, but let's make it more explicit. AT+GCAP reply: OK ATI reply: Sierra Wireless, Inc. C885 APP1 OK See also: 3f3987e09ee762e48c1d53cb42a1288ce9f332cb (MM_06)
2012-12-12icera,hso: don't wait to get connected if the primary port is removedAleksander Morgado
If the primary port is gone (e.g. when going to sleep) and we are just in the middle of a connection attempt, we won't be able to receive any unsolicited message regarding the status of the attempt. So, if we detect that the port is forced to get closed, we'll just treat it as a connection failure. http://code.google.com/p/chromium-os/issues/detail?id=35391
2012-12-12bearer: check if signal handler is connected before trying to disconnect itAleksander Morgado
Avoids warnings like: GLib-GObject-WARNING **: gsignal.c:2576: instance `0x78624028' has no handler with id `148'
2012-12-12sms-part: plug memleakAleksander Morgado
2012-12-11sierra: implement the Time interface for 3GPP and CDMA devicesDan Williams
2012-12-10sierra: restore longer CFUN=1 timeout for older devicesDan Williams
Turns out older devices (like the C885/AT&T Mercury) crash often when we don't wait for them to settle from CFUN=1. 5 seconds is too short, but the crashes go away when we wait for 10 seconds. Newer modems like the USB306 don't have this problem, so we just check to see if the modem is a DirectIP device (using sierra_net) and only use the shorter timeout for those newer devices. This is a separate problem from some older modems returning ERROR to valid commands that are sent too soon after CFUN=1, which was observed on really old devices like the PCMCIA 860.
2012-12-07release: bump version to 0.7.990Dan Williams
2012-12-07release: update NEWSDan Williams
2012-12-05broadband-modem: strip prefixes from GMM/GMR/GMI repliesDan Williams
Some devices prefix the replies with the command, some don't, so strip off the prefix if it exists.
2012-12-05icera: implement Time interface support checkDan Williams
2012-12-05huawei: implement Time interface for CDMA modemsDan Williams