aboutsummaryrefslogtreecommitdiff
path: root/src/mm-port-probe.c
AgeCommit message (Collapse)Author
2012-08-06port-probe: let us peek the `MMDevice' owning the probe from the probe itselfAleksander Morgado
2012-08-06plugin: new `MM_PLUGIN_CUSTOM_INIT' propertyAleksander Morgado
We let plugins execute some custom initialization in the ports, specified by a `MMAsyncMethod'.
2012-08-06plugin: renamed `custom-init' property to `custom-at-probe'Aleksander Morgado
The `custom-at-probe' property is just to modify the way we check for AT port support.
2012-08-06port-probe: setup the port object as a propertyAleksander Morgado
2012-08-06port-probe: no need to keep our internal copies of subsys/nameAleksander Morgado
2012-08-06port-probe: no need to keep neither physdev path nor driverAleksander Morgado
2012-08-06port-probe: don't warn if requesting info which wasn't probedAleksander Morgado
2012-08-06port-probe: use dispose() to cleanup internal object referencesAleksander Morgado
2012-08-06port-probe: new method to check if there is an AT port in a list of probesAleksander Morgado
2012-08-06port-probe: rename _get_port() to _peek_port() as there is no ownership transferAleksander Morgado
2012-07-12port-probe: fix crash in serial_probe_at_parse_response due to NULL responseBen Chan
When the serial port is not open, internal_queue_command (mm-serial-port.c) invokes serial_probe_at_parse_response (mm-port-probe.c) with a NULL response. This patch modifies serial_probe_at_parse_response to handle NULL response properly.
2012-03-28port: new `MM_PORT_TYPE_NET' for pure net devicesAleksander Morgado
Net devices will be MMPorts of type MM_PORT_TYPE_NET.
2012-03-23port-probe: don't probe product string if vendor string probing failedAleksander Morgado
2012-03-23port-probe: probed vendor/product string will be NULL when error probingAleksander Morgado
2012-03-16port-probe: new probing result settersAleksander Morgado
We make them public, so that we can set results before actually running the probing.
2012-03-16port-probe: probing may just require vendor or product probingAleksander Morgado
If we already had probed, e.g. AT capabilities, and a next plugin requires Vendor AT probing, the task will only show that VENDOR_AT is requested.
2012-03-16port-probe: allow cancelling all AT probing stepsAleksander Morgado
2012-03-16port-probe: refactor AT command handlingAleksander Morgado
Make it use a GVariant in the response processor, as the AT command handling in the MMBaseModem.
2012-03-16at-serial-port: allow cancelling the response timeoutAleksander Morgado
2012-03-16qcdm-serial-port: allow cancelling the response timeoutAleksander Morgado
2012-03-16port-probe: log the list of probing tasks to be runAleksander Morgado
2012-03-15core: rework port grabbing and organizationAleksander Morgado
Make port roles more flexible. We have modems that do PPP on interfaces other than the primary interface, and that wasn't possible with the old code. So clean up all that logic and move the port organization code into the core so we can reduce code in the plugins. In the new world order, the plugins say whether the port is a QCDM port, an AT port, or ignored. If it's an AT port the plugins get to tag it as primary, secondary, or PPP, or any combination of the 3. This allows for modems where PPP should really be done on the secondary port (Huawei E220, Sierra devices) so that the primary port stays open for command and status. After all ports are grabbed by the generic classes, they get "organized", which assigns various ports to the roles of PRIMARY, SECONDARY, DATA, and QCDM based on specific rules and hints that the plugin provided (which are expressed as MMAtPortFlags). The plugin code is responsible for determining the port hints (ie MMAtPortFlags) at probe time, instead of having a combination of the plugin and the modem class do the job. This simplifies things greatly for the plugins at the expense of more complicated logic in the core. This is the port of commit 96505d42ed62327101dcee7c2bf31177b0bb1c9f to the 06-api branch.
2012-03-15at-serial-port: no need to pass port type when creating the objectAleksander Morgado
We'll just specify the port is AT, not primary or secondary
2012-03-15qcdm-serial-port: no need to pass port type when creating the objectAleksander Morgado
2012-03-15port-probe: avoid warnings when probe was for a net deviceAleksander Morgado
net devices aren't really probed
2012-03-15port-probe: store the task always before completing itAleksander Morgado
If we already got all needed probing results, we complete the task without launching any new probing, but still, we need to store it internally so that it's properly disposed.
2012-03-15port-probe: always complete probing task in idleAleksander Morgado
2012-03-15port-probe: plug small leak when reporting error in AT command responseAleksander Morgado
2012-03-15core: start using our newly defined errorsAleksander Morgado
2012-03-15core: no need to check Capabilities during port probingAleksander Morgado
Capabilities checking is done during the Modem interface initialization.
2012-03-15port-probe: properly handle Core errorsAleksander Morgado
Fixes compilation of the Port Probe object.
2012-03-15port-probe: add comment explaining the probing process flowAleksander Morgado
2012-03-15port-probe: allow providing custom initialization AT commandsAleksander Morgado
2012-03-15port-probe: enable probing for QCDM supportAleksander Morgado
2012-03-15port-probe: enable probing for ProductAleksander Morgado
2012-03-15port-probe: enable probing for VendorAleksander Morgado
2012-03-15port-probe: enable probing for CapabilitiesAleksander Morgado
2012-03-15port-probe: enable probing for AT supportAleksander Morgado
We will initially probe for AT support in the port.
2012-03-15port-probe: allow cancelling the probing operationAleksander Morgado
The new `mm_port_probe_cancel()' will cancel the probing operation currently in progress, if any. Note that we don't need to pass any argument to specify which operation to cancel, as there can only be one.
2012-03-15port-probe: setup an asynchronous method for port probingAleksander Morgado
The new method `mm_port_probe_run()' will run the whole probing process asynchronously. Result of the probing can be later obtained with `mm_port_probe_run_finish()'.
2012-03-15port-probe: set port details when creating the objectAleksander Morgado
Each port probe is always associated to one specific port.
2012-03-15port-probe: new MMPortProbe objectAleksander Morgado