aboutsummaryrefslogtreecommitdiff
path: root/src/mm-base-modem.c
AgeCommit message (Collapse)Author
2016-03-27base-modem: remove unused 'mm_base_modem_release_port()' methodAleksander Morgado
2015-12-02core: use G_SOURCE_REMOVE and G_SOURCE_CONTINUE in GSourceFuncsAleksander Morgado
2014-09-05base-modem: always grab ports marked as ignoredAleksander Morgado
Modems may expose ports that are either just not used (e.g. modems exposing more than 2 functional AT ports) or explicitly avoided (e.g. WWAN ports when we don't know how to use them). Those kind of ports are part of the modem, but not used by ModemManager. Still, ModemManager should list them in the list of ports available for the modem, with IGNORED type.
2014-06-23base-modem: quicker find matching cdc-wdm QMI or MBIM portsAleksander Morgado
2014-06-23port: store parent sysfs path in each MMPortAleksander Morgado
2014-05-20core: minor coding style fixesBen Chan
2014-02-26base-modem: if no AT primary given, try to use data portAleksander Morgado
The Cinterion PHS8 reports a single AT port to be used as data port, and no other port as primary. In this case, recover the tty as primary AT port, instead of failing with an error.
2014-02-13base-modem: don't apply auth checks if running in the SESSION busAleksander Morgado
2014-02-13base-modem: allow grabbing 'virtual' AT portsAleksander Morgado
2014-02-13base-modem: allow looking for a subset of the available portsAleksander Morgado
2014-02-13base-modem: allow grabbing non-tty AT portsAleksander Morgado
2014-02-13port-serial-at: allow specifying subsystem when creating a 'MMPortSerialAt'Aleksander Morgado
Don't just assume that all AT ports are TTYs.
2014-02-13ports: rename 'libserial' to 'libport'Aleksander Morgado
2014-02-13ports: rename 'MMMbimPort' to 'MMPortMbim'Aleksander Morgado
2014-02-13ports: rename 'MMQmiPort' to 'MMPortQmi'Aleksander Morgado
2014-02-13ports: rename 'MMAtSerialPort' to 'MMPortSerialAt'Aleksander Morgado
2014-02-13ports: rename 'MMQcdmSerialPort' to 'MMPortSerialQcdm'Aleksander Morgado
2014-02-13ports: rename 'MMGpsSerialPort' to 'MMPortSerialGps'Aleksander Morgado
2014-02-13ports: rename 'MMSerialPort' to 'MMPortSerial'Aleksander Morgado
2013-11-22base-modem: also release cdc-wdm portsAleksander Morgado
2013-11-20base-modem: fix port validity checksAleksander Morgado
2013-06-24api,introspection: new 'Ports' property in the Modem interfaceAleksander Morgado
We will expose a new 'Ports' property listing all ports currently known by a given modem. Ports which are not used but are detected as being part of the modem will be listed with an 'unknown' port type. This change uses the new 'MMModemPortType' enum and the new 'MMModemPortInfo' helper struct to handle these values in libmm-glib. The already available 'MMPortType' enum hasn't been re-used for the interface because it contains values that we don't need (e.g. IGNORED). The port list is now also included in the modem information command of mmcli: $ sudo mmcli -m 0 /org/freedesktop/ModemManager1/Modem/0 (device id '97b7b99e3e2bea103880545b619fb05a3cc81b26') ------------------------- System | device: '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.4' | drivers: 'qcserial, qmi_wwan' | plugin: 'Gobi' | primary port: 'cdc-wdm0' | ports: 'ttyUSB0 (qcdm), ttyUSB1 (at), cdc-wdm0 (qmi), wwp0s29u1u4 (net)' https://bugzilla.gnome.org/show_bug.cgi?id=702678
2013-04-17base-modem: allow grabbing MBIM portsAleksander Morgado
2013-04-09base-modem: keep AT port as possible data port if flagged as PPPFranko Fang
2013-04-06base-modem: don't assume primary AT port is availableAleksander Morgado
QMI modems may not have it.
2013-04-01base-modem: don't assume all cdc-wdm ports are QMIAleksander Morgado
2013-02-18bearer,3gpp: dial operation specifies which data port to useAleksander Morgado
Instead of deciding in advance which data port to use, we let the dialling operation gather it. For the generic dialling logic, ATD-based, always an 'AT' port will be used as data port, even if we grabbed a 'net' port. Those plugins that can work with 'net' ports will grab the specific 'net' port themselves.
2013-01-18core: add 'hotplugged' flag to indicate if modem is newly plugged inBen Chan
This patch adds a 'hotplugged' flag to MMBaseModem to indicate if a modem is newly plugged in. A plugin can use this information to determine if, for example, the modem needs to be soft reset using the ATZ command. Dan Williams <dcbw@redhat.com> contributed the idea of implementation.
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-10-31core: allow QMI modems without AT portsAleksander Morgado
2012-10-09base-modem: new fallback when matching QMI vs data portsAleksander Morgado
If no matching found, but there is only one QMI port and only one data port, assume that is already a valid match.
2012-10-08base-modem: cleanly close the QMI port to get the CIDs releasedAleksander Morgado
If we end up allocating too many CIDs without releasing them new allocations will fail with client-ids-exhausted errors. This usually happens specially when debugging/developing as you're all the time Ctrl+C-ing the daemon without rebooting the system.
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-30base-modem: allow looking for the QMI port associated to a given data portAleksander Morgado
QMI and wwan ports come in pairs. Each wwan port has an associated control QMI port, which is the only port allowed to send the Start|Stop Network QMI requests to start|stop the connection in the given wwan interface. Paired QMI and wwan interfaces (should) share the same parent udev device, quoting Bjørn: "If we ignore the unfortunate 3.4 and 3.5 kernels, then a matching wwanX and cdc-wdmY set will always share the same parent USB interface on QMI devices. Having the same parent USB device is *not* sufficient. You cannot control wwan0 using cdc-wdm1 in the above example."
2012-08-29base-modem: allow getting/peeking all data portsAleksander Morgado
2012-08-29core: handle the 'usb'->'usbmisc' subsystem rename in the kernelAleksander Morgado
We'll try to cope with getting devices being reported in either 'usb' or 'usbmisc', trying to avoid the need of checking kernel version during runtime.
2012-08-29base-modem: allow grabbing multiple 'net' and 'qmi' portsAleksander Morgado
All grabbed 'net' ports are added to the new list of data ports. It is a task for the specific plugin to decide how each of the data ports should be connected. In the case of not having 'net' ports, the list of data ports will only contain a single AT port. All grabbed 'qmi' ports are added to the new list of QMI ports. The first port in the list is to be considered the 'primary' one, and will be the one used for all services. The remaining QMI ports, if any, will only be used to for WDS, to manage the associated 'net' ports.
2012-08-29base-modem: use the new `MMQmiPort' objectAleksander Morgado
2012-08-29base-modem: allow getting/peeking the QMI portAleksander Morgado
2012-08-29core: allow grabbing QMI portsAleksander Morgado
2012-08-24api,introspection: report list of drivers, not just oneAleksander Morgado
Different ports of the same modem may get handled by different drivers. We therefore need to provide a list of drivers (new `Modem.Drivers' property with signature 'as') instead of just one (removed `Modem.Driver' property with signature 's'). $ sudo mmcli -m 0 | grep drivers | drivers: 'qcserial, qmi_wwan'
2012-03-30base-modem: disconnect internal cancellable handler while disposingAleksander Morgado
2012-03-30base-modem: plug small leaksAleksander Morgado
2012-03-30core: fatal errors in iface initializations force the modem into a FAILED stateAleksander Morgado
Modems which end up being found unusable (e.g. no SIM, fatal SIM error, no capabilities) will be exposed in DBus, but just with the Modem interface and in a FAILED state which allows no actions.
2012-03-29base-modem: use new `MMGpsSerialPort' type for the raw GPS portAleksander Morgado
2012-03-28base-modem: handle GPS control and data portsAleksander Morgado
Plugin may specify GPS-specific port tyeps when requesting to grab the port. These could either be an AT-based GPS control port, or the raw GPS serial port which emits the NMEA traces.
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-28base-modem: no need for `port_grabbed()'Aleksander Morgado
Subclasses can configure additional stuff in the ports just after all have been organized, in the SETUP_PORTS initialization step in MMBroadbandModem.
2012-03-16base-modem: new method to check if the modem got any AT portAleksander Morgado
Required for the single-at logic in the plugins.
2012-03-16base-modem: ensure we cancel any ongoing operation when we're disposingAleksander Morgado