aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-10-01wavecom: run power-down during initAleksander Morgado
2012-10-01nokia: ensure we skip power down during initAleksander Morgado
2012-10-01motorola: ensure we skip power down during initAleksander Morgado
2012-10-01gobi: ensure we skip power down during initAleksander Morgado
2012-10-01iridium: ensure we skip power down during initAleksander Morgado
2012-10-01zte: run power-down during initAleksander Morgado
2012-10-01icera: we won't be implementing power-down during initAleksander Morgado
Some Icera-based modems (e.g. Samsung/Icera Y3300/Y3400) may take a loong time to run the power down command (see commit 5f1a1cf8). So, for these modems we will fully skip the power down command run during initialization.
2012-10-01iface-modem: ensure we're in low power mode when initializingAleksander Morgado
The power-down command defined by the plugin will be run *only* after having checked for current and modem capabilities, as plugins (e.g. Sierra) may have different commands for that depending on whether they are 3GPP or 3GPP2. We do not reuse the 'modem_power_down' callback from the disabling sequence, as some plugins really behave pretty badly with this (e.g. Samsung CFUN=4 may take up to 30s to complete). So, we let plugins use the power-down command when disabling but avoid launching it during init.
2012-09-28broadband-modem: handle unknown errors in AT sequencesAleksander Morgado
When none of the commands in the AT sequence succeeds no error is set.
2012-09-28iface-modem: ensure the state change is flushed before the detailed notifyAleksander Morgado
In order to ease the life for clients listening to the 'state-changed' signal, the change in the 'state' property in the DBus interface skeleton is flushed right away, before emitting 'state-changed'. By doing this we make sure that the 'state-changed' callbacks in the clients are able to see exactly the same current state in the modem proxy.
2012-09-28core: acquire DBus name only after having created the `MMManager'Aleksander Morgado
The `MMManager' is itself also a `GDBusObjectManagerServer'. If we create this object after having fully acquired the bus name, the client application in the other side of the bus could be trying to use the ObjectManager interface before we actually exported it, which is wrong. Therefore, we need to make sure that the Manager interfaces are all exported before the name is acquired.
2012-09-27uml290mode: fix log messageDan Williams
2012-09-27uml290mode: offline and reset modem after making changesDan Williams
2012-09-27qcdm: add qcdm_cmd_control_new() to set operating modeDan Williams
2012-09-24build: use $PKG_CONFIGAleksander Morgado
The build system sets up this variable for us, so use it rather than hardcoding "pkg-config" which might be the wrong one. Equivalent to the one done by Mike Frysinger <vapier@gentoo.org> in libqmi.
2012-09-22broadband-modem: increase timeout for ATZBen Chan
Some modem like Novatel LTE can take up to 5 seconds to complete the ATZ command. Increase the timeout for ATZ from 3 seconds to 6 seconds.
2012-09-22broadband-modem: disconnect bearers only if the bearer list still existsBen Chan
This patch fixes a crash when MMBroadbandModem tries to access an already cleared bearer list during the disabling steps. Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 ) 0x7f6eed4c40a3 [ModemManager] - mm-bearer-list.c:259 mm_bearer_list_disconnect_all_bearers 0x7f6eed4cd6f8 [ModemManager] - mm-iface-modem.c:1216 handle_enable_auth_ready 0x7f6eed332676 [libgio-2.0.so.0.3000.2] - gsimpleasyncresult.c:749 g_simple_async_result_complete 0x7f6eed4c5750 [ModemManager] - mm-base-modem.c:1015 authorize_ready 0x7f6eed332676 [libgio-2.0.so.0.3000.2] - gsimpleasyncresult.c:749 g_simple_async_result_complete 0x7f6eed332788 [libgio-2.0.so.0.3000.2] - gsimpleasyncresult.c:761 complete_in_idle_cb 0x7f6eecf36f44 [libglib-2.0.so.0.3000.2] - gmain.c:2441 g_main_context_dispatch 0x7f6eecf37597 [libglib-2.0.so.0.3000.2] - gmain.c:3089 g_main_context_iterate 0x7f6eecf37b51 [libglib-2.0.so.0.3000.2] - gmain.c:3297 g_main_loop_run 0x7f6eed4b5ad1 [ModemManager] - main.c:150 main 0x7f6eec95141c [libc-2.15.so] - libc-start.c:234 __libc_start_main 0x7f6eed4b55e8 [ModemManager] + 0x0001a5e8
2012-09-20modem-helpers: handle the case when operator name is "Unknown"Ben Chan
Some modems report "Unknown" as the operator name when failed to obtain the actual value: --> 'AT+COPS=3,0;+COPS?<CR>' <-- '<CR><LF>+COPS: 0,0,"Unknown",0<CR><LF><CR><LF>OK<CR><LF>' This patch prevents "Unknown" from being treated as a valid operator name.
2012-09-19huawei: if port replies to AT^GETPORTMODE, port is ATAleksander Morgado
Just skips the additional check for AT support in the port.
2012-09-19device: if failed to get VID/PID in first port, try the next oneAleksander Morgado
Don't rely only in the first grabbed port to get VID/PID. Some modems, e.g. Huawei E367, won't report a proper VID in the cdc-wdm port, which is the first one probed.
2012-09-19plugin-manager: never suggest the Generic plugin to othersAleksander Morgado
Some modems, e.g. Huawei E367, will probe first the QMI port and for some reason it doesn't report a proper VID/PID so the Generic plugin is the one finally accepting that port. When we probe the AT ports afterwards we already got the Generic plugin as suggestion, and we end up not grabbing the proper primary and secondary ports as we skipped the AT^GETPORTMODE reply. So, from now on the Generic plugin is never suggested to other probes; except for the case where we need the suggestion to finish a probing task which was 'deferred until suggested'. Also, the device-level plugin can now be overwritten, if and only if, the previously set plugin was the Generic one.
2012-09-19broadband-modem: skip +CGMM: prefix when loading device modelAleksander Morgado
Some devices, e.g. ZTE MF820D, seem to prefix the `AT+CGMM?' response with the `+CGMM:' string, resulting in the following model string being loaded: model: '+CGMM: "MF820D"' Avoid this by: 1) Removing the expected prefixes. 2) Unquoting the resulting string. Reported by: Marius Kotsbak <marius.kotsbak@gmail.com>
2012-09-18sierra: use +CFUN=4 for powering down GSM modemsMarius B. Kotsbak
2012-09-18qmi-port: plug memleakAleksander Morgado
Ensure we clear all allocated client objects when disposing the port.
2012-09-18broadband-modem-qmi: plug memleak, always need to unref() input containersAleksander Morgado
2012-09-18libmm-common,gps-nmea: skip duplicate traces in sequenceAleksander Morgado
2012-09-18broadband-modem-qmi: request NMEA trace indicationsAleksander Morgado
2012-09-18broadband-modem-qmi: listen to "PDS Event Report" indicationsAleksander Morgado
2012-09-18broadband-modem-qmi: enable/disable GPS location gatheringAleksander Morgado
2012-09-18broadband-modem-qmi: new common method to peek a QMI clientAleksander Morgado
2012-09-18broadband-modem-qmi: check support for GPS location capabilitiesAleksander Morgado
2012-09-14sms: don't allow more than 255 partsAleksander Morgado
2012-09-14sms: fix error message string when failing to parse input textAleksander Morgado
2012-09-14cli: minor text output fixesAleksander Morgado
2012-09-14sms: don't try the generic SMS method if we got a timeout errorAleksander Morgado
2012-09-14sms: create SMS parts only when storing or sendingAleksander Morgado
When a user creates an SMS object, we will expose all its properties in DBus properly, but we will not create the internal list of SMS parts. The list of SMS parts will be created when the SMS is stored or sent, whatever comes first. When the message is sent and it was previously stored, the list of parts is not re-created. If the message requires multiple parts, the multipart reference is computed as follows: * If the SMS was not stored and is being sent, we just use a random number. * If the SMS is being stored, we will use a multipart reference which is not being used already in another SMS to the same destination.
2012-09-14test: new tester for the messaging capabilities of a modem, using `mmcli'Aleksander Morgado
Usage: mmcli-test-sms [MODEM INDEX] [all|ucs2|gsm7|data] [NUMBER]" If [NUMBER] is not given, a dummy number will be used and NO SMS will be sent. If you give a proper [NUMBER], we will try to send the SMS.
2012-09-14sms: don't try to delete parts if SMS not storedAleksander Morgado
2012-09-14sms,sms-qmi: update timeout when sending an SMS to 30sAleksander Morgado
2012-09-14cli: new `--create-file-with-data' action for SMS objectsAleksander Morgado
This new action allows creating a new file with the binary data stored in the SMS, if any. E.g.: $> sudo mmcli -s 7 \ --create-file-with-data=output.txt This action can only be run on SMS object with binary data.
2012-09-14cli: new `--messaging-create-sms-with-data' switchAleksander Morgado
This switch can be run along with the `--messaging-create-sms' action, in order to include in the SMS the data as given in the file specified by the new switch. E.g.: $> sudo mmcli -m 0 \ --messaging-create-sms="number='1234567890'" \ --messaging-create-sms-with-data=file.txt In this case, the SMS properties string cannot contain a 'text' field.
2012-09-14sms-part: include user data, if passed, when building the PDUAleksander Morgado
2012-09-14libmm-glib: provide accessors for the 'Data' property in the SMS interfaceAleksander Morgado
2012-09-14libmm-common: added common utils from coreAleksander Morgado
Moved the utils to play with binary to hex strings into libmm-common.
2012-09-14sms: 'Text' and 'Data' will never be given at the same timeAleksander Morgado
When receiving an SMS, if the encoding is either GSM7 or UCS2, we will treat the contents of the SMS as text; and if the encoding is either 8BIT or unknown, we will just dump the contents of the SMS as data. When creating an SMS, the user is not allowed to give both text and data, only one can be given. We will use by default 8BIT when data is given, and guess the best encoding if text is given. Note that it's still possible to have SMS with neither text nor data, as in delivery status reports. This commit also handles the split of the input data in order to make it fit into singlepart or multipart messages.
2012-09-14sms: fix error return when a mandatory parameter missing in dictionaryAleksander Morgado
2012-09-14sms-part: don't keep track of the whole TP-DCS valueAleksander Morgado
We already retrieve the bits we use from it, class and encoding.
2012-09-14sms-part: read message class only if TP-DCS availableAleksander Morgado
2012-09-14broadband-modem: properly avoid duplicate CMTI indicationsAleksander Morgado
We will look for the part being notified in the CMTI indication directly in the list of processed parts; and if we have it there already we won't re-process it. Still, we may get several CMTI indications for the same part one after the other, so it may still happen that the second CMTI comes *before* we have parsed and created the part in the SMS list. For that case, the SMS list will reject taking the part if there is already a part with the same storage+index already processed. This fix removes the `known_sms_parts' hash table, which was being handled incorrectly. This should fix https://bugzilla.gnome.org/show_bug.cgi?id=675175
2012-09-14broadband-modem: fix SMS list object typeAleksander Morgado