aboutsummaryrefslogtreecommitdiff
path: root/src/mm-port-probe.h
AgeCommit message (Collapse)Author
2022-06-19port-probe: avoid QCDM port probing if not for specific pluginsDaniele Palmas
The QCDM/DIAG port is usually nowadays exclusively used by applications gathering traces from the modem, so avoid port probing and grabbing when plugins set the property MM_PLUGIN_ALLOWED_QCDM. A new property MM_PLUGIN_REQUIRED_QCDM is created for those plugins requiring the QCDM port for properly using a modem.
2020-09-19core: add autoptr cleanup methods to all internal typesAleksander Morgado
2018-08-21port-probe: support probing for Intel XMM capabilitiesAleksander Morgado
Same thing as we do for Icera.
2017-12-05kerneldevice: allow getting interface class/subclass/protocolAleksander Morgado
2016-09-29core: new kernel device object instead of an explicit GUdevDeviceAleksander Morgado
Instead of relying constantly on GUdevDevice objects reported by GUdev, we now use a new generic object (MMKernelDevice) for which we provide an initial GUdev based backend.
2016-03-09port-probe: allow cancellationAleksander Morgado
2014-09-05plugin: allow to explicitly ignore any kind of port via udevAleksander Morgado
The new 'ID_MM_PORT_IGNORE' tag will tell ModemManager to fully avoid using a given port. Note that it is key to not only flag the port probe as ignored, but also to fully ignore the ports in e.g. mm_port_probe_list_has_qmi_port() as those methods will be used to decide which kind of modem object to create. We don't want to create a QMI-based modem which may have all QMI ports blacklisted.
2014-06-23port: store parent sysfs path in each MMPortAleksander Morgado
2014-02-13ports: rename 'MMAtSerialPort' to 'MMPortSerialAt'Aleksander Morgado
2013-04-17port-probe: include MBIM port probing logicAleksander Morgado
2013-03-28serial: add support to optionally send line-feed at the end of AT commands.ori inbar
2012-09-05build: new `--without-qmi' configure optionAleksander Morgado
For those who don't care about the QMI support through libqmi-glib, or if you're stuck with glib 2.30 (libqmi-glib requires 2.32), this configure switch allows disabling the QMI support completely. The logic to detect cdc-wdm ports is still in place, but the QMI probing is never launched at them. Also, all QMI-related objects won't be compiled.
2012-08-31plugin: let plugins decide if they want echo removal during AT probingAleksander Morgado
This is the port to git master of the following patch: commit 21e66dfa1774ac2ee037ac8b6e8bb4d71a6f7931 Author: Dan Williams <dcbw@redhat.com> Date: Thu Aug 23 21:13:35 2012 -0500 core: add function to open probe ports without removing echo Some devices (Sierra GSM ones) return stuff we need but don't bother to prefix it with <CR><LF>, so we need to optionally turn off the echo removal at probe time.
2012-08-30port-probe: easier check for Icera support over a list of port probesAleksander Morgado
2012-08-29port-probe: minor indentation fixesAleksander Morgado
2012-08-29port-probe: new helper to check if a QMI port was found in a list of probesAleksander Morgado
2012-08-29port-probe: launch QMI probing on cdc-wdm portsAleksander Morgado
Some devices may export cdc-wdm ports talking AT. We need to explicitly check for QMI protocol support on the cdc-wdm ports before assuming they are QMI.
2012-08-06port-probe: include Icera support check in the probing sequenceAleksander Morgado
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-06port-probe: fix typo in class definitionAleksander Morgado
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 neither physdev path nor driverAleksander 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-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-16build: require gudev >= 147Aleksander Morgado
Since udev 147 the gudev API is no longer marked as experimental, and therefore `G_UDEV_API_IS_SUBJECT_TO_CHANGE' is no longer needed.
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-16port-probe: convert port probe flags to a private enumAleksander 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-15core: no need to check Capabilities during port probingAleksander Morgado
Capabilities checking is done during the Modem interface initialization.
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