Age | Commit message (Collapse) | Author |
|
If the bearer is using a QMI port that is not the primary one, we need
to explicitly open it during the connection attempt. Keep track of
that, and make sure we close it during normal disconnection or if the
connection attempt fails.
|
|
|
|
|
|
Including IOTA-based update, e.g. for Sprint.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E.g. we shouldn't print emergency numbers field if there is none available:
$ mmcli -i 0
-------------------------------
General | dbus path: /org/freedesktop/ModemManager1/SIM/0
-------------------------------
Properties | imsi: 901700000026890
| iccid: 8988211000000268907
| operator id: 90170
| operator name: 901 70
| emergency numbers:
|
|
|
|
|
|
|
|
|
|
If we blindly try to use QMI over MBIM on devices that don't support
it, the logic works ok but it's very slow, given that the QMI device
open operation has several internal retries, and all those end up
timing out.
Avoid that lost time by checking the list of services supported by the
MBIM modem, and if the QMI over MBIM service is not listed, we'll
avoid trying to open the QMI device right away.
|
|
* single-plugin builds only on schedules
* with/without qmi/mbim builds on master and merge requests
* default build always, including on branches and when git pushing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The Ericsson MBM modem management is only used by the MBM plugin.
|
|
|
|
Never do lazy loading, we'll always make sure that a plugin will only
be fully loaded if all the symbols it requires are already available.
|
|
|
|
|
|
|
|
Until now we had only a 2500ms timeout initialized since the first
port was exposed until we decided we were ready to consider all ports
notified by the kernel.
With this new logic, we add an additional condition: even if the
2500ms initial timeout has elapsed already, we leave an additional
1500ms since the last port addition for new ports to appear.
This new logic is useful when relying on the ReportKernelEvent() DBus
method, as it is the user the one responsible for reporting the kernel
events instead of udev. Now, the user is not forced to make sure all
ports are exposed in 2500ms; instead, we also allow ports to be
reported in more than 2500ms as long as the time between port
additions reported is less than 1500ms.
Note that this does not mean that the whole probing time will now
always be 4000ms. On well behaved systems (like when based on udev)
this new 'extra' probing timeout may expire long before the 'min'
probing timeout we already had as well.
E.g. in this setup, the reporting of the NET port was done 1100ms
later than the last ttyUSB3, and that was already too late as the
original 2500ms threshold had already expired.
[1573536994.593874] (tty/ttyUSB0): first port in device /sys/devices/platform/ehci-platform/usb1/1-1
[1573536994.596659] [plugin manager] task 1: port grabbed: ttyUSB0
[1573536995.093579] (tty/ttyUSB1): additional port in device /sys/devices/platform/ehci-platform/usb1/1-1
[1573536995.094172] [plugin manager] task 1: port grabbed: ttyUSB1
[1573536995.603206] (tty/ttyUSB2): additional port in device /sys/devices/platform/ehci-platform/usb1/1-1
[1573536995.603822] [plugin manager] task 1: port grabbed: ttyUSB2
[1573536996.111564] (tty/ttyUSB3): additional port in device /sys/devices/platform/ehci-platform/usb1/1-1
[1573536996.112257] [plugin manager] task 1: port grabbed: ttyUSB3
[1573536996.814816] [device /sys/devices/platform/ehci-platform/usb1/1-1] creating modem with plugin 'Quectel' and '4' ports
[1573536997.265820] (net/wwan0): additional port in device /sys/devices/platform/ehci-platform/usb1/1-1
[1573536997.296935] (usbmisc/cdc-wdm0): additional port in device /sys/devices/platform/ehci-platform/usb1/1-1
|
|
If we know that the LTE attach status/configuration CIDs in the Basic
Connect Extensions service are unsupported, don't even try to use
them, so that we avoid timeouts in the requests.
|
|
The data and qmi objects were not being correctly disposed on several
error conditions.
|
|
|
|
|
|
|
|
|
|
Symbols are resolved forward, so if libhelpers depends on libmm-glib,
it needs to be specified first.
|
|
|
|
[11642]: <debug> [1573665255.321490] Couldn't reload current power state: QMI operation failed: Transaction timed out
[11642]: <debug> [1573665255.321697] No need to change power state: already in 'on' power state
[11642]: <debug> [1573665255.330864] Modem (Quectel) '/sys/devices/platform/ehci-platform/usb1/1-1' completely disposed
**
ERROR:mm-iface-modem-simple.c:44:private_free: assertion failed: (!priv->ongoing_connect)
If the modem goes away in the middle of a connection attempt, there's
no explicit connection cancellation performed, we just cleanup the
modem object. In this case, the ongoing attempt cancellable will still
exist, so just clean it up as well.
|
|
There is no need to wait for the minimum wait/probing time before we
can cancel the device probing.
|
|
The device port probings were being finished before the minimum
probing time, making this timeout effectively useless.
|
|
The Dell DW5821e is really a re-branded Foxconn T77W968.
|
|
|
|
|
|
Same port layout as the default one, just a different PID.
|
|
|
|
|
|
|